作者 钟来

初始提交

正在显示 54 个修改的文件 包含 3080 行增加0 行删除

要显示太多修改。

为保证性能只显示 54 of 54+ 个文件。

  1 +<component name="ArtifactManager">
  2 + <artifact type="war" name="Excel:war">
  3 + <output-path>$PROJECT_DIR$/target</output-path>
  4 + <properties id="maven-jee-properties">
  5 + <options>
  6 + <module>Excel</module>
  7 + <packaging>war</packaging>
  8 + </options>
  9 + </properties>
  10 + <root id="archive" name="Excel.war">
  11 + <element id="artifact" artifact-name="Excel:war exploded" />
  12 + </root>
  13 + </artifact>
  14 +</component>
  1 +<component name="ArtifactManager">
  2 + <artifact type="exploded-war" name="Excel:war exploded">
  3 + <output-path>$PROJECT_DIR$/target/Excel</output-path>
  4 + <properties id="maven-jee-properties">
  5 + <options>
  6 + <exploded>true</exploded>
  7 + <module>Excel</module>
  8 + <packaging>war</packaging>
  9 + </options>
  10 + </properties>
  11 + <root id="root">
  12 + <element id="directory" name="WEB-INF">
  13 + <element id="directory" name="classes">
  14 + <element id="module-output" name="Excel" />
  15 + </element>
  16 + <element id="directory" name="lib">
  17 + <element id="library" level="project" name="Maven: org.nutz:nutz:1.r.54" />
  18 + <element id="library" level="project" name="Maven: javax.servlet:javax.servlet-api:3.1-b06" />
  19 + <element id="library" level="project" name="Maven: javax.servlet:jstl:1.1.0" />
  20 + <element id="library" level="project" name="Maven: taglibs:standard:1.1.2" />
  21 + <element id="library" level="project" name="Maven: commons-fileupload:commons-fileupload:1.3.1" />
  22 + <element id="library" level="project" name="Maven: commons-io:commons-io:2.4" />
  23 + <element id="library" level="project" name="Maven: org.apache.poi:poi-ooxml:3.9" />
  24 + <element id="library" level="project" name="Maven: org.apache.poi:poi:3.9" />
  25 + <element id="library" level="project" name="Maven: commons-codec:commons-codec:1.5" />
  26 + <element id="library" level="project" name="Maven: org.apache.poi:poi-ooxml-schemas:3.9" />
  27 + <element id="library" level="project" name="Maven: org.apache.xmlbeans:xmlbeans:2.3.0" />
  28 + <element id="library" level="project" name="Maven: stax:stax-api:1.0.1" />
  29 + <element id="library" level="project" name="Maven: dom4j:dom4j:1.6.1" />
  30 + <element id="library" level="project" name="Maven: xml-apis:xml-apis:1.0.b2" />
  31 + <element id="library" level="project" name="Maven: net.sourceforge.jexcelapi:jxl:2.6.12" />
  32 + <element id="library" level="project" name="Maven: org.mongodb:mongo-java-driver:3.4.0" />
  33 + <element id="library" level="project" name="Maven: log4j:log4j:1.2.17" />
  34 + </element>
  35 + </element>
  36 + <element id="directory" name="META-INF">
  37 + <element id="file-copy" path="$PROJECT_DIR$/target/Excel/META-INF/MANIFEST.MF" />
  38 + </element>
  39 + <element id="javaee-facet-resources" facet="Excel/web/Web" />
  40 + </root>
  41 + </artifact>
  42 +</component>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project version="4">
  3 + <component name="CompilerConfiguration">
  4 + <annotationProcessing>
  5 + <profile name="Maven default annotation processors profile" enabled="true">
  6 + <sourceOutputDir name="target/generated-sources/annotations" />
  7 + <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
  8 + <outputRelativeToContentRoot value="true" />
  9 + <module name="Excel" />
  10 + </profile>
  11 + </annotationProcessing>
  12 + <bytecodeTargetLevel>
  13 + <module name="Excel" target="1.7" />
  14 + </bytecodeTargetLevel>
  15 + </component>
  16 +</project>
  1 +<component name="libraryTable">
  2 + <library name="Maven: commons-codec:commons-codec:1.5">
  3 + <CLASSES>
  4 + <root url="jar://$MAVEN_REPOSITORY$/commons-codec/commons-codec/1.5/commons-codec-1.5.jar!/" />
  5 + </CLASSES>
  6 + <JAVADOC>
  7 + <root url="jar://$MAVEN_REPOSITORY$/commons-codec/commons-codec/1.5/commons-codec-1.5-javadoc.jar!/" />
  8 + </JAVADOC>
  9 + <SOURCES>
  10 + <root url="jar://$MAVEN_REPOSITORY$/commons-codec/commons-codec/1.5/commons-codec-1.5-sources.jar!/" />
  11 + </SOURCES>
  12 + </library>
  13 +</component>
  1 +<component name="libraryTable">
  2 + <library name="Maven: commons-fileupload:commons-fileupload:1.3.1">
  3 + <CLASSES>
  4 + <root url="jar://$MAVEN_REPOSITORY$/commons-fileupload/commons-fileupload/1.3.1/commons-fileupload-1.3.1.jar!/" />
  5 + </CLASSES>
  6 + <JAVADOC>
  7 + <root url="jar://$MAVEN_REPOSITORY$/commons-fileupload/commons-fileupload/1.3.1/commons-fileupload-1.3.1-javadoc.jar!/" />
  8 + </JAVADOC>
  9 + <SOURCES>
  10 + <root url="jar://$MAVEN_REPOSITORY$/commons-fileupload/commons-fileupload/1.3.1/commons-fileupload-1.3.1-sources.jar!/" />
  11 + </SOURCES>
  12 + </library>
  13 +</component>
  1 +<component name="libraryTable">
  2 + <library name="Maven: commons-io:commons-io:2.4">
  3 + <CLASSES>
  4 + <root url="jar://$MAVEN_REPOSITORY$/commons-io/commons-io/2.4/commons-io-2.4.jar!/" />
  5 + </CLASSES>
  6 + <JAVADOC>
  7 + <root url="jar://$MAVEN_REPOSITORY$/commons-io/commons-io/2.4/commons-io-2.4-javadoc.jar!/" />
  8 + </JAVADOC>
  9 + <SOURCES>
  10 + <root url="jar://$MAVEN_REPOSITORY$/commons-io/commons-io/2.4/commons-io-2.4-sources.jar!/" />
  11 + </SOURCES>
  12 + </library>
  13 +</component>
  1 +<component name="libraryTable">
  2 + <library name="Maven: dom4j:dom4j:1.6.1">
  3 + <CLASSES>
  4 + <root url="jar://$MAVEN_REPOSITORY$/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar!/" />
  5 + </CLASSES>
  6 + <JAVADOC>
  7 + <root url="jar://$MAVEN_REPOSITORY$/dom4j/dom4j/1.6.1/dom4j-1.6.1-javadoc.jar!/" />
  8 + </JAVADOC>
  9 + <SOURCES>
  10 + <root url="jar://$MAVEN_REPOSITORY$/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar!/" />
  11 + </SOURCES>
  12 + </library>
  13 +</component>
  1 +<component name="libraryTable">
  2 + <library name="Maven: javax.servlet:javax.servlet-api:3.1-b06">
  3 + <CLASSES>
  4 + <root url="jar://$MAVEN_REPOSITORY$/javax/servlet/javax.servlet-api/3.1-b06/javax.servlet-api-3.1-b06.jar!/" />
  5 + </CLASSES>
  6 + <JAVADOC>
  7 + <root url="jar://$MAVEN_REPOSITORY$/javax/servlet/javax.servlet-api/3.1-b06/javax.servlet-api-3.1-b06-javadoc.jar!/" />
  8 + </JAVADOC>
  9 + <SOURCES>
  10 + <root url="jar://$MAVEN_REPOSITORY$/javax/servlet/javax.servlet-api/3.1-b06/javax.servlet-api-3.1-b06-sources.jar!/" />
  11 + </SOURCES>
  12 + </library>
  13 +</component>
  1 +<component name="libraryTable">
  2 + <library name="Maven: javax.servlet.jsp:jsp-api:2.2">
  3 + <CLASSES>
  4 + <root url="jar://$MAVEN_REPOSITORY$/javax/servlet/jsp/jsp-api/2.2/jsp-api-2.2.jar!/" />
  5 + </CLASSES>
  6 + <JAVADOC>
  7 + <root url="jar://$MAVEN_REPOSITORY$/javax/servlet/jsp/jsp-api/2.2/jsp-api-2.2-javadoc.jar!/" />
  8 + </JAVADOC>
  9 + <SOURCES>
  10 + <root url="jar://$MAVEN_REPOSITORY$/javax/servlet/jsp/jsp-api/2.2/jsp-api-2.2-sources.jar!/" />
  11 + </SOURCES>
  12 + </library>
  13 +</component>
  1 +<component name="libraryTable">
  2 + <library name="Maven: javax.servlet:jstl:1.1.0">
  3 + <CLASSES>
  4 + <root url="jar://$MAVEN_REPOSITORY$/javax/servlet/jstl/1.1.0/jstl-1.1.0.jar!/" />
  5 + </CLASSES>
  6 + <JAVADOC>
  7 + <root url="jar://$MAVEN_REPOSITORY$/javax/servlet/jstl/1.1.0/jstl-1.1.0-javadoc.jar!/" />
  8 + </JAVADOC>
  9 + <SOURCES>
  10 + <root url="jar://$MAVEN_REPOSITORY$/javax/servlet/jstl/1.1.0/jstl-1.1.0-sources.jar!/" />
  11 + </SOURCES>
  12 + </library>
  13 +</component>
  1 +<component name="libraryTable">
  2 + <library name="Maven: junit:junit:3.8.1">
  3 + <CLASSES>
  4 + <root url="jar://$MAVEN_REPOSITORY$/junit/junit/3.8.1/junit-3.8.1.jar!/" />
  5 + </CLASSES>
  6 + <JAVADOC>
  7 + <root url="jar://$MAVEN_REPOSITORY$/junit/junit/3.8.1/junit-3.8.1-javadoc.jar!/" />
  8 + </JAVADOC>
  9 + <SOURCES>
  10 + <root url="jar://$MAVEN_REPOSITORY$/junit/junit/3.8.1/junit-3.8.1-sources.jar!/" />
  11 + </SOURCES>
  12 + </library>
  13 +</component>
  1 +<component name="libraryTable">
  2 + <library name="Maven: log4j:log4j:1.2.17">
  3 + <CLASSES>
  4 + <root url="jar://$MAVEN_REPOSITORY$/log4j/log4j/1.2.17/log4j-1.2.17.jar!/" />
  5 + </CLASSES>
  6 + <JAVADOC>
  7 + <root url="jar://$MAVEN_REPOSITORY$/log4j/log4j/1.2.17/log4j-1.2.17-javadoc.jar!/" />
  8 + </JAVADOC>
  9 + <SOURCES>
  10 + <root url="jar://$MAVEN_REPOSITORY$/log4j/log4j/1.2.17/log4j-1.2.17-sources.jar!/" />
  11 + </SOURCES>
  12 + </library>
  13 +</component>
  1 +<component name="libraryTable">
  2 + <library name="Maven: net.sourceforge.jexcelapi:jxl:2.6.12">
  3 + <CLASSES>
  4 + <root url="jar://$MAVEN_REPOSITORY$/net/sourceforge/jexcelapi/jxl/2.6.12/jxl-2.6.12.jar!/" />
  5 + </CLASSES>
  6 + <JAVADOC>
  7 + <root url="jar://$MAVEN_REPOSITORY$/net/sourceforge/jexcelapi/jxl/2.6.12/jxl-2.6.12-javadoc.jar!/" />
  8 + </JAVADOC>
  9 + <SOURCES>
  10 + <root url="jar://$MAVEN_REPOSITORY$/net/sourceforge/jexcelapi/jxl/2.6.12/jxl-2.6.12-sources.jar!/" />
  11 + </SOURCES>
  12 + </library>
  13 +</component>
  1 +<component name="libraryTable">
  2 + <library name="Maven: org.apache.poi:poi:3.9">
  3 + <CLASSES>
  4 + <root url="jar://$MAVEN_REPOSITORY$/org/apache/poi/poi/3.9/poi-3.9.jar!/" />
  5 + </CLASSES>
  6 + <JAVADOC>
  7 + <root url="jar://$MAVEN_REPOSITORY$/org/apache/poi/poi/3.9/poi-3.9-javadoc.jar!/" />
  8 + </JAVADOC>
  9 + <SOURCES>
  10 + <root url="jar://$MAVEN_REPOSITORY$/org/apache/poi/poi/3.9/poi-3.9-sources.jar!/" />
  11 + </SOURCES>
  12 + </library>
  13 +</component>
  1 +<component name="libraryTable">
  2 + <library name="Maven: org.apache.poi:poi-ooxml:3.9">
  3 + <CLASSES>
  4 + <root url="jar://$MAVEN_REPOSITORY$/org/apache/poi/poi-ooxml/3.9/poi-ooxml-3.9.jar!/" />
  5 + </CLASSES>
  6 + <JAVADOC>
  7 + <root url="jar://$MAVEN_REPOSITORY$/org/apache/poi/poi-ooxml/3.9/poi-ooxml-3.9-javadoc.jar!/" />
  8 + </JAVADOC>
  9 + <SOURCES>
  10 + <root url="jar://$MAVEN_REPOSITORY$/org/apache/poi/poi-ooxml/3.9/poi-ooxml-3.9-sources.jar!/" />
  11 + </SOURCES>
  12 + </library>
  13 +</component>
  1 +<component name="libraryTable">
  2 + <library name="Maven: org.apache.poi:poi-ooxml-schemas:3.9">
  3 + <CLASSES>
  4 + <root url="jar://$MAVEN_REPOSITORY$/org/apache/poi/poi-ooxml-schemas/3.9/poi-ooxml-schemas-3.9.jar!/" />
  5 + </CLASSES>
  6 + <JAVADOC>
  7 + <root url="jar://$MAVEN_REPOSITORY$/org/apache/poi/poi-ooxml-schemas/3.9/poi-ooxml-schemas-3.9-javadoc.jar!/" />
  8 + </JAVADOC>
  9 + <SOURCES>
  10 + <root url="jar://$MAVEN_REPOSITORY$/org/apache/poi/poi-ooxml-schemas/3.9/poi-ooxml-schemas-3.9-sources.jar!/" />
  11 + </SOURCES>
  12 + </library>
  13 +</component>
  1 +<component name="libraryTable">
  2 + <library name="Maven: org.apache.xmlbeans:xmlbeans:2.3.0">
  3 + <CLASSES>
  4 + <root url="jar://$MAVEN_REPOSITORY$/org/apache/xmlbeans/xmlbeans/2.3.0/xmlbeans-2.3.0.jar!/" />
  5 + </CLASSES>
  6 + <JAVADOC>
  7 + <root url="jar://$MAVEN_REPOSITORY$/org/apache/xmlbeans/xmlbeans/2.3.0/xmlbeans-2.3.0-javadoc.jar!/" />
  8 + </JAVADOC>
  9 + <SOURCES>
  10 + <root url="jar://$MAVEN_REPOSITORY$/org/apache/xmlbeans/xmlbeans/2.3.0/xmlbeans-2.3.0-sources.jar!/" />
  11 + </SOURCES>
  12 + </library>
  13 +</component>
  1 +<component name="libraryTable">
  2 + <library name="Maven: org.mongodb:mongo-java-driver:3.4.0">
  3 + <CLASSES>
  4 + <root url="jar://$MAVEN_REPOSITORY$/org/mongodb/mongo-java-driver/3.4.0/mongo-java-driver-3.4.0.jar!/" />
  5 + </CLASSES>
  6 + <JAVADOC>
  7 + <root url="jar://$MAVEN_REPOSITORY$/org/mongodb/mongo-java-driver/3.4.0/mongo-java-driver-3.4.0-javadoc.jar!/" />
  8 + </JAVADOC>
  9 + <SOURCES>
  10 + <root url="jar://$MAVEN_REPOSITORY$/org/mongodb/mongo-java-driver/3.4.0/mongo-java-driver-3.4.0-sources.jar!/" />
  11 + </SOURCES>
  12 + </library>
  13 +</component>
  1 +<component name="libraryTable">
  2 + <library name="Maven: org.nutz:nutz:1.r.54">
  3 + <CLASSES>
  4 + <root url="jar://$MAVEN_REPOSITORY$/org/nutz/nutz/1.r.54/nutz-1.r.54.jar!/" />
  5 + </CLASSES>
  6 + <JAVADOC>
  7 + <root url="jar://$MAVEN_REPOSITORY$/org/nutz/nutz/1.r.54/nutz-1.r.54-javadoc.jar!/" />
  8 + </JAVADOC>
  9 + <SOURCES>
  10 + <root url="jar://$MAVEN_REPOSITORY$/org/nutz/nutz/1.r.54/nutz-1.r.54-sources.jar!/" />
  11 + </SOURCES>
  12 + </library>
  13 +</component>
  1 +<component name="libraryTable">
  2 + <library name="Maven: stax:stax-api:1.0.1">
  3 + <CLASSES>
  4 + <root url="jar://$MAVEN_REPOSITORY$/stax/stax-api/1.0.1/stax-api-1.0.1.jar!/" />
  5 + </CLASSES>
  6 + <JAVADOC>
  7 + <root url="jar://$MAVEN_REPOSITORY$/stax/stax-api/1.0.1/stax-api-1.0.1-javadoc.jar!/" />
  8 + </JAVADOC>
  9 + <SOURCES>
  10 + <root url="jar://$MAVEN_REPOSITORY$/stax/stax-api/1.0.1/stax-api-1.0.1-sources.jar!/" />
  11 + </SOURCES>
  12 + </library>
  13 +</component>
  1 +<component name="libraryTable">
  2 + <library name="Maven: taglibs:standard:1.1.2">
  3 + <CLASSES>
  4 + <root url="jar://$MAVEN_REPOSITORY$/taglibs/standard/1.1.2/standard-1.1.2.jar!/" />
  5 + </CLASSES>
  6 + <JAVADOC>
  7 + <root url="jar://$MAVEN_REPOSITORY$/taglibs/standard/1.1.2/standard-1.1.2-javadoc.jar!/" />
  8 + </JAVADOC>
  9 + <SOURCES>
  10 + <root url="jar://$MAVEN_REPOSITORY$/taglibs/standard/1.1.2/standard-1.1.2-sources.jar!/" />
  11 + </SOURCES>
  12 + </library>
  13 +</component>
  1 +<component name="libraryTable">
  2 + <library name="Maven: xml-apis:xml-apis:1.0.b2">
  3 + <CLASSES>
  4 + <root url="jar://$MAVEN_REPOSITORY$/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar!/" />
  5 + </CLASSES>
  6 + <JAVADOC>
  7 + <root url="jar://$MAVEN_REPOSITORY$/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-javadoc.jar!/" />
  8 + </JAVADOC>
  9 + <SOURCES>
  10 + <root url="jar://$MAVEN_REPOSITORY$/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-sources.jar!/" />
  11 + </SOURCES>
  12 + </library>
  13 +</component>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project version="4">
  3 + <component name="ClientPropertiesManager">
  4 + <properties class="javax.swing.AbstractButton">
  5 + <property name="hideActionText" class="java.lang.Boolean" />
  6 + </properties>
  7 + <properties class="javax.swing.JComponent">
  8 + <property name="html.disable" class="java.lang.Boolean" />
  9 + </properties>
  10 + <properties class="javax.swing.JEditorPane">
  11 + <property name="JEditorPane.w3cLengthUnits" class="java.lang.Boolean" />
  12 + <property name="JEditorPane.honorDisplayProperties" class="java.lang.Boolean" />
  13 + <property name="charset" class="java.lang.String" />
  14 + </properties>
  15 + <properties class="javax.swing.JList">
  16 + <property name="List.isFileList" class="java.lang.Boolean" />
  17 + </properties>
  18 + <properties class="javax.swing.JPasswordField">
  19 + <property name="JPasswordField.cutCopyAllowed" class="java.lang.Boolean" />
  20 + </properties>
  21 + <properties class="javax.swing.JSlider">
  22 + <property name="Slider.paintThumbArrowShape" class="java.lang.Boolean" />
  23 + <property name="JSlider.isFilled" class="java.lang.Boolean" />
  24 + </properties>
  25 + <properties class="javax.swing.JTable">
  26 + <property name="Table.isFileList" class="java.lang.Boolean" />
  27 + <property name="JTable.autoStartsEdit" class="java.lang.Boolean" />
  28 + <property name="terminateEditOnFocusLost" class="java.lang.Boolean" />
  29 + </properties>
  30 + <properties class="javax.swing.JToolBar">
  31 + <property name="JToolBar.isRollover" class="java.lang.Boolean" />
  32 + </properties>
  33 + <properties class="javax.swing.JTree">
  34 + <property name="JTree.lineStyle" class="java.lang.String" />
  35 + </properties>
  36 + <properties class="javax.swing.text.JTextComponent">
  37 + <property name="caretAspectRatio" class="java.lang.Double" />
  38 + <property name="caretWidth" class="java.lang.Integer" />
  39 + </properties>
  40 + </component>
  41 + <component name="FrameworkDetectionExcludesConfiguration">
  42 + <file type="web" url="file://$PROJECT_DIR$" />
  43 + </component>
  44 + <component name="MavenProjectsManager">
  45 + <option name="originalFiles">
  46 + <list>
  47 + <option value="$PROJECT_DIR$/pom.xml" />
  48 + </list>
  49 + </option>
  50 + </component>
  51 + <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
  52 + <output url="file://$PROJECT_DIR$/out" />
  53 + </component>
  54 +</project>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project version="4">
  3 + <component name="ProjectModuleManager">
  4 + <modules>
  5 + <module fileurl="file://$PROJECT_DIR$/Excel.iml" filepath="$PROJECT_DIR$/Excel.iml" />
  6 + </modules>
  7 + </component>
  8 +</project>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<project version="4">
  3 + <component name="ArtifactsWorkspaceSettings">
  4 + <artifacts-to-build>
  5 + <artifact name="Excel:war" />
  6 + </artifacts-to-build>
  7 + </component>
  8 + <component name="ChangeListManager">
  9 + <list default="true" id="7f34c7c5-f62e-44ce-bcd8-803a3fefc636" name="Default" comment="" />
  10 + <ignored path="$PROJECT_DIR$/target/" />
  11 + <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
  12 + <option name="SHOW_DIALOG" value="false" />
  13 + <option name="HIGHLIGHT_CONFLICTS" value="true" />
  14 + <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
  15 + <option name="LAST_RESOLUTION" value="IGNORE" />
  16 + </component>
  17 + <component name="CoverageDataManager">
  18 + <SUITE FILE_PATH="coverage/ExcelOnLineEdit_master$ExcelDAO.coverage" NAME="ExcelDAO Coverage Results" MODIFIED="1543300232489" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false">
  19 + <FILTER>com.rivercloud.dao.*</FILTER>
  20 + </SUITE>
  21 + </component>
  22 + <component name="CreatePatchCommitExecutor">
  23 + <option name="PATCH_PATH" value="" />
  24 + </component>
  25 + <component name="DatabaseView">
  26 + <option name="GROUP_SCHEMA" value="true" />
  27 + <option name="GROUP_CONTENTS" value="false" />
  28 + <option name="SORT_POSITIONED" value="false" />
  29 + <option name="SHOW_TABLE_DETAILS" value="true" />
  30 + <option name="SHOW_EMPTY_GROUPS" value="false" />
  31 + <option name="AUTO_SCROLL_FROM_SOURCE" value="false" />
  32 + </component>
  33 + <component name="DefaultGradleProjectSettings">
  34 + <option name="isMigrated" value="true" />
  35 + </component>
  36 + <component name="FavoritesManager">
  37 + <favorites_list name="Excel" />
  38 + </component>
  39 + <component name="FileEditorManager">
  40 + <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
  41 + <file pinned="false" current-in-tab="false">
  42 + <entry file="file://$PROJECT_DIR$/src/main/java/com/rivercloud/controller/ExcelController.java">
  43 + <provider selected="true" editor-type-id="text-editor">
  44 + <state relative-caret-position="351">
  45 + <caret line="35" column="18" lean-forward="true" selection-start-line="35" selection-start-column="18" selection-end-line="35" selection-end-column="18" />
  46 + <folding>
  47 + <element signature="docComment;class#ExcelController#0" />
  48 + <element signature="method#deleteExcel#0;class#ExcelController#0" />
  49 + </folding>
  50 + </state>
  51 + </provider>
  52 + </entry>
  53 + </file>
  54 + <file pinned="false" current-in-tab="true">
  55 + <entry file="file://$PROJECT_DIR$/src/main/webapp/index.jsp">
  56 + <provider selected="true" editor-type-id="text-editor">
  57 + <state relative-caret-position="423">
  58 + <caret line="22" column="9" lean-forward="true" selection-start-line="22" selection-start-column="9" selection-end-line="22" selection-end-column="9" />
  59 + </state>
  60 + </provider>
  61 + </entry>
  62 + </file>
  63 + <file pinned="false" current-in-tab="false">
  64 + <entry file="file://$PROJECT_DIR$/src/main/java/com/rivercloud/dao/ExcelDAO.java">
  65 + <provider selected="true" editor-type-id="text-editor">
  66 + <state relative-caret-position="513">
  67 + <caret line="31" column="38" selection-start-line="31" selection-start-column="38" selection-end-line="31" selection-end-column="38" />
  68 + <folding>
  69 + <element signature="imports" expanded="true" />
  70 + <element signature="docComment;class#ExcelDAO#0" />
  71 + <element signature="method#getCollectionNames#0;class#ExcelDAO#0" />
  72 + <element signature="method#find#0;class#ExcelDAO#0" />
  73 + </folding>
  74 + </state>
  75 + </provider>
  76 + </entry>
  77 + </file>
  78 + <file pinned="false" current-in-tab="false">
  79 + <entry file="file://$PROJECT_DIR$/src/main/java/com/rivercloud/MainSetup.java">
  80 + <provider selected="true" editor-type-id="text-editor">
  81 + <state relative-caret-position="432">
  82 + <caret line="17" column="5" selection-start-line="17" selection-start-column="5" selection-end-line="17" selection-end-column="5" />
  83 + </state>
  84 + </provider>
  85 + </entry>
  86 + </file>
  87 + <file pinned="false" current-in-tab="false">
  88 + <entry file="file://$PROJECT_DIR$/src/main/java/com/rivercloud/MainModule.java">
  89 + <provider selected="true" editor-type-id="text-editor">
  90 + <state relative-caret-position="162">
  91 + <caret line="10" column="13" selection-start-line="10" selection-start-column="13" selection-end-line="10" selection-end-column="13" />
  92 + </state>
  93 + </provider>
  94 + </entry>
  95 + </file>
  96 + <file pinned="false" current-in-tab="false">
  97 + <entry file="file://$PROJECT_DIR$/src/main/java/com/rivercloud/service/ExcelService.java">
  98 + <provider selected="true" editor-type-id="text-editor">
  99 + <state relative-caret-position="108">
  100 + <caret line="4" column="3" selection-start-line="4" selection-start-column="3" selection-end-line="4" selection-end-column="3" />
  101 + </state>
  102 + </provider>
  103 + </entry>
  104 + </file>
  105 + <file pinned="false" current-in-tab="false">
  106 + <entry file="file://$PROJECT_DIR$/src/main/java/com/rivercloud/utils/ReadExcelUtils.java">
  107 + <provider selected="true" editor-type-id="text-editor">
  108 + <state relative-caret-position="2268">
  109 + <caret line="106" column="53" selection-start-line="106" selection-start-column="53" selection-end-line="106" selection-end-column="53" />
  110 + <folding>
  111 + <element signature="method#ReadExcelUtils#0;class#ReadExcelUtils#0" />
  112 + </folding>
  113 + </state>
  114 + </provider>
  115 + </entry>
  116 + </file>
  117 + </leaf>
  118 + </component>
  119 + <component name="FindInProjectRecents">
  120 + <findStrings>
  121 + <find>spring-boot-starter-data-mongodb</find>
  122 + <find>mongodb</find>
  123 + </findStrings>
  124 + </component>
  125 + <component name="Git.Settings">
  126 + <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
  127 + </component>
  128 + <component name="IdeDocumentHistory">
  129 + <option name="CHANGED_PATHS">
  130 + <list>
  131 + <option value="$PROJECT_DIR$/src/main/webapp/WEB-INF/jsp/list.jsp" />
  132 + <option value="$PROJECT_DIR$/src/main/java/com/rivercloud/utils/ReadExcelUtils.java" />
  133 + <option value="$PROJECT_DIR$/src/main/java/com/rivercloud/controller/ExcelController.java" />
  134 + <option value="$PROJECT_DIR$/src/main/webapp/upload.jsp" />
  135 + <option value="$PROJECT_DIR$/src/main/java/com/rivercloud/dao/ExcelDAO.java" />
  136 + </list>
  137 + </option>
  138 + </component>
  139 + <component name="LogFilters">
  140 + <option name="FILTER_ERRORS" value="false" />
  141 + <option name="FILTER_WARNINGS" value="false" />
  142 + <option name="FILTER_INFO" value="true" />
  143 + <option name="FILTER_DEBUG" value="true" />
  144 + <option name="CUSTOM_FILTER" />
  145 + </component>
  146 + <component name="MavenImportPreferences">
  147 + <option name="generalSettings">
  148 + <MavenGeneralSettings>
  149 + <option name="mavenHome" value="E:/apache-maven-3.2.1" />
  150 + <option name="userSettingsFile" value="E:\apache-maven-3.2.1\conf\settings.xml" />
  151 + </MavenGeneralSettings>
  152 + </option>
  153 + <option name="importingSettings">
  154 + <MavenImportingSettings>
  155 + <option name="importAutomatically" value="true" />
  156 + <option name="jdkForImporter" value="1.8" />
  157 + <option name="vmOptionsForImporter" value="-Xmx768m" />
  158 + </MavenImportingSettings>
  159 + </option>
  160 + </component>
  161 + <component name="MavenProjectNavigator">
  162 + <treeState>
  163 + <expand>
  164 + <path>
  165 + <item name="" type="16c1761:MavenProjectsStructure$RootNode" />
  166 + <item name="Excel Maven Webapp" type="9519ce18:MavenProjectsStructure$ProjectNode" />
  167 + </path>
  168 + <path>
  169 + <item name="" type="16c1761:MavenProjectsStructure$RootNode" />
  170 + <item name="Excel Maven Webapp" type="9519ce18:MavenProjectsStructure$ProjectNode" />
  171 + <item name="Lifecycle" type="58874e2:MavenProjectsStructure$LifecycleNode" />
  172 + </path>
  173 + </expand>
  174 + <select />
  175 + </treeState>
  176 + </component>
  177 + <component name="ProjectFrameBounds" extendedState="7">
  178 + <option name="x" value="240" />
  179 + <option name="y" value="130" />
  180 + <option name="width" value="1440" />
  181 + <option name="height" value="780" />
  182 + </component>
  183 + <component name="ProjectInspectionProfilesVisibleTreeState">
  184 + <entry key="Project Default">
  185 + <profile-state>
  186 + <expanded-state>
  187 + <State>
  188 + <id />
  189 + </State>
  190 + <State>
  191 + <id>JSP Inspections</id>
  192 + </State>
  193 + </expanded-state>
  194 + </profile-state>
  195 + </entry>
  196 + </component>
  197 + <component name="ProjectLevelVcsManager" settingsEditedManually="true" />
  198 + <component name="ProjectView">
  199 + <navigator proportions="" version="1">
  200 + <foldersAlwaysOnTop value="true" />
  201 + </navigator>
  202 + <panes>
  203 + <pane id="Scope" />
  204 + <pane id="PackagesPane" />
  205 + <pane id="ProjectPane">
  206 + <subPane>
  207 + <expand>
  208 + <path>
  209 + <item name="ExcelOnLineEdit-master" type="b2602c69:ProjectViewProjectNode" />
  210 + <item name="ExcelOnLineEdit-master" type="462c0819:PsiDirectoryNode" />
  211 + </path>
  212 + </expand>
  213 + <select />
  214 + </subPane>
  215 + </pane>
  216 + </panes>
  217 + </component>
  218 + <component name="PropertiesComponent">
  219 + <property name="WebServerToolWindowFactoryState" value="false" />
  220 + <property name="aspect.path.notification.shown" value="true" />
  221 + <property name="js.eslint.eslintPackage" value="" />
  222 + <property name="last_opened_file_path" value="$PROJECT_DIR$" />
  223 + <property name="project.structure.last.edited" value="Modules" />
  224 + <property name="project.structure.proportion" value="0.15" />
  225 + <property name="project.structure.side.proportion" value="0.2" />
  226 + <property name="settings.editor.selected.configurable" value="MavenSettings" />
  227 + </component>
  228 + <component name="RecentsManager">
  229 + <key name="CopyFile.RECENT_KEYS">
  230 + <recent name="D:\项目\Excel\src\main\webapp\js" />
  231 + <recent name="D:\项目\Excel\src\main\webapp\css" />
  232 + </key>
  233 + </component>
  234 + <component name="RunDashboard">
  235 + <option name="ruleStates">
  236 + <list>
  237 + <RuleState>
  238 + <option name="name" value="ConfigurationTypeDashboardGroupingRule" />
  239 + </RuleState>
  240 + <RuleState>
  241 + <option name="name" value="StatusDashboardGroupingRule" />
  242 + </RuleState>
  243 + </list>
  244 + </option>
  245 + </component>
  246 + <component name="RunManager" selected="Tomcat Server.tomcat">
  247 + <configuration default="true" type="Applet">
  248 + <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
  249 + <method v="2">
  250 + <option name="Make" enabled="true" />
  251 + </method>
  252 + </configuration>
  253 + <configuration name="ExcelDAO" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
  254 + <option name="MAIN_CLASS_NAME" value="com.rivercloud.dao.ExcelDAO" />
  255 + <module name="Excel" />
  256 + <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
  257 + <extension name="coverage">
  258 + <pattern>
  259 + <option name="PATTERN" value="com.rivercloud.dao.*" />
  260 + <option name="ENABLED" value="true" />
  261 + </pattern>
  262 + </extension>
  263 + <method v="2">
  264 + <option name="Make" enabled="true" />
  265 + </method>
  266 + </configuration>
  267 + <configuration default="true" type="Application" factoryName="Application">
  268 + <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
  269 + <method v="2">
  270 + <option name="Make" enabled="true" />
  271 + </method>
  272 + </configuration>
  273 + <configuration default="true" type="JUnit" factoryName="JUnit">
  274 + <option name="TEST_OBJECT" value="class" />
  275 + <option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
  276 + <method v="2">
  277 + <option name="Make" enabled="true" />
  278 + </method>
  279 + </configuration>
  280 + <configuration default="true" type="KotlinStandaloneScriptRunConfigurationType">
  281 + <option name="filePath" />
  282 + <option name="vmParameters" />
  283 + <option name="alternativeJrePath" />
  284 + <option name="programParameters" />
  285 + <option name="passParentEnvs" value="true" />
  286 + <option name="workingDirectory" />
  287 + <option name="isAlternativeJrePathEnabled" value="false" />
  288 + <option name="VM_PARAMETERS" />
  289 + <option name="PROGRAM_PARAMETERS" />
  290 + <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
  291 + <option name="ALTERNATIVE_JRE_PATH" />
  292 + <option name="PASS_PARENT_ENVS" value="true" />
  293 + <option name="MAIN_CLASS_NAME" />
  294 + <option name="WORKING_DIRECTORY" />
  295 + <module name="" />
  296 + <option name="filePath" />
  297 + <option name="vmParameters" />
  298 + <option name="alternativeJrePath" />
  299 + <option name="programParameters" />
  300 + <option name="passParentEnvs" value="true" />
  301 + <option name="workingDirectory" />
  302 + <option name="isAlternativeJrePathEnabled" value="false" />
  303 + <option name="VM_PARAMETERS" />
  304 + <option name="PROGRAM_PARAMETERS" />
  305 + <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
  306 + <option name="ALTERNATIVE_JRE_PATH" />
  307 + <option name="PASS_PARENT_ENVS" value="true" />
  308 + <option name="MAIN_CLASS_NAME" />
  309 + <option name="WORKING_DIRECTORY" />
  310 + <method v="2">
  311 + <option name="Make" enabled="true" />
  312 + </method>
  313 + </configuration>
  314 + <configuration default="true" type="TestNG">
  315 + <option name="TEST_OBJECT" value="CLASS" />
  316 + <option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
  317 + <properties />
  318 + <listeners />
  319 + <method v="2">
  320 + <option name="Make" enabled="true" />
  321 + </method>
  322 + </configuration>
  323 + <configuration name="tomcat" type="#com.intellij.j2ee.web.tomcat.TomcatRunConfigurationFactory" factoryName="Local" APPLICATION_SERVER_NAME="Tomcat 8.0.26" ALTERNATIVE_JRE_ENABLED="false">
  324 + <option name="UPDATING_POLICY" value="restart-server" />
  325 + <deployment>
  326 + <artifact name="Excel:war">
  327 + <settings>
  328 + <option name="CONTEXT_PATH" value="/Excel" />
  329 + </settings>
  330 + </artifact>
  331 + </deployment>
  332 + <server-settings>
  333 + <option name="BASE_DIRECTORY_NAME" value="Unnamed_Excel" />
  334 + </server-settings>
  335 + <predefined_log_file enabled="true" id="Tomcat" />
  336 + <predefined_log_file enabled="true" id="Tomcat Catalina" />
  337 + <predefined_log_file id="Tomcat Manager" />
  338 + <predefined_log_file id="Tomcat Host Manager" />
  339 + <predefined_log_file id="Tomcat Localhost Access" />
  340 + <RunnerSettings RunnerId="Debug">
  341 + <option name="DEBUG_PORT" value="52217" />
  342 + </RunnerSettings>
  343 + <ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Cover">
  344 + <option name="USE_ENV_VARIABLES" value="true" />
  345 + <STARTUP>
  346 + <option name="USE_DEFAULT" value="true" />
  347 + <option name="SCRIPT" value="" />
  348 + <option name="VM_PARAMETERS" value="" />
  349 + <option name="PROGRAM_PARAMETERS" value="" />
  350 + </STARTUP>
  351 + <SHUTDOWN>
  352 + <option name="USE_DEFAULT" value="true" />
  353 + <option name="SCRIPT" value="" />
  354 + <option name="VM_PARAMETERS" value="" />
  355 + <option name="PROGRAM_PARAMETERS" value="" />
  356 + </SHUTDOWN>
  357 + </ConfigurationWrapper>
  358 + <ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Debug">
  359 + <option name="USE_ENV_VARIABLES" value="true" />
  360 + <STARTUP>
  361 + <option name="USE_DEFAULT" value="true" />
  362 + <option name="SCRIPT" value="" />
  363 + <option name="VM_PARAMETERS" value="" />
  364 + <option name="PROGRAM_PARAMETERS" value="" />
  365 + </STARTUP>
  366 + <SHUTDOWN>
  367 + <option name="USE_DEFAULT" value="true" />
  368 + <option name="SCRIPT" value="" />
  369 + <option name="VM_PARAMETERS" value="" />
  370 + <option name="PROGRAM_PARAMETERS" value="" />
  371 + </SHUTDOWN>
  372 + </ConfigurationWrapper>
  373 + <ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Run">
  374 + <option name="USE_ENV_VARIABLES" value="true" />
  375 + <STARTUP>
  376 + <option name="USE_DEFAULT" value="true" />
  377 + <option name="SCRIPT" value="" />
  378 + <option name="VM_PARAMETERS" value="" />
  379 + <option name="PROGRAM_PARAMETERS" value="" />
  380 + </STARTUP>
  381 + <SHUTDOWN>
  382 + <option name="USE_DEFAULT" value="true" />
  383 + <option name="SCRIPT" value="" />
  384 + <option name="VM_PARAMETERS" value="" />
  385 + <option name="PROGRAM_PARAMETERS" value="" />
  386 + </SHUTDOWN>
  387 + </ConfigurationWrapper>
  388 + <method v="2">
  389 + <option name="Make" enabled="true" />
  390 + <option name="BuildArtifacts" enabled="true">
  391 + <artifact name="Excel:war" />
  392 + </option>
  393 + </method>
  394 + </configuration>
  395 + <configuration default="true" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType">
  396 + <module name="" />
  397 + <option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m -ea" />
  398 + <option name="PROGRAM_PARAMETERS" />
  399 + <predefined_log_file enabled="true" id="idea.log" />
  400 + <method v="2">
  401 + <option name="Make" enabled="true" />
  402 + </method>
  403 + </configuration>
  404 + <configuration default="true" type="js.build_tools.gulp">
  405 + <node-interpreter>project</node-interpreter>
  406 + <node-options />
  407 + <gulpfile />
  408 + <tasks />
  409 + <arguments />
  410 + <envs />
  411 + <method v="2" />
  412 + </configuration>
  413 + <list>
  414 + <item itemvalue="Application.ExcelDAO" />
  415 + <item itemvalue="Tomcat Server.tomcat" />
  416 + </list>
  417 + <recent_temporary>
  418 + <list>
  419 + <item itemvalue="Application.ExcelDAO" />
  420 + </list>
  421 + </recent_temporary>
  422 + </component>
  423 + <component name="SvnConfiguration">
  424 + <configuration>$USER_HOME$/.subversion</configuration>
  425 + </component>
  426 + <component name="TaskManager">
  427 + <task active="true" id="Default" summary="Default task">
  428 + <changelist id="7f34c7c5-f62e-44ce-bcd8-803a3fefc636" name="Default" comment="" />
  429 + <created>1482199968432</created>
  430 + <option name="number" value="Default" />
  431 + <option name="presentableId" value="Default" />
  432 + <updated>1482199968432</updated>
  433 + <workItem from="1482199973080" duration="658000" />
  434 + <workItem from="1482200678974" duration="108000" />
  435 + <workItem from="1482200806547" duration="610000" />
  436 + <workItem from="1482201448449" duration="28446000" />
  437 + <workItem from="1482283192193" duration="10000" />
  438 + <workItem from="1482283298707" duration="22911000" />
  439 + <workItem from="1542165121979" duration="2289000" />
  440 + <workItem from="1542696111013" duration="1393000" />
  441 + <workItem from="1543210377696" duration="2753000" />
  442 + <workItem from="1543293246538" duration="8527000" />
  443 + <workItem from="1556333800352" duration="18000" />
  444 + <workItem from="1647314097137" duration="195000" />
  445 + <workItem from="1647314338226" duration="523000" />
  446 + </task>
  447 + <servers />
  448 + </component>
  449 + <component name="TimeTrackingManager">
  450 + <option name="totallyTimeSpent" value="68441000" />
  451 + </component>
  452 + <component name="TodoView">
  453 + <todo-panel id="selected-file">
  454 + <is-autoscroll-to-source value="true" />
  455 + </todo-panel>
  456 + <todo-panel id="all">
  457 + <are-packages-shown value="true" />
  458 + <is-autoscroll-to-source value="true" />
  459 + </todo-panel>
  460 + </component>
  461 + <component name="ToolWindowManager">
  462 + <frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
  463 + <layout>
  464 + <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.19688842" />
  465 + <window_info id="Structure" order="1" weight="0.25" />
  466 + <window_info id="Nl-Palette" order="2" />
  467 + <window_info id="UI Designer" order="3" />
  468 + <window_info id="Capture Tool" order="4" />
  469 + <window_info id="Web" order="5" side_tool="true" />
  470 + <window_info id="Image Layers" order="6" />
  471 + <window_info id="Favorites" order="7" side_tool="true" />
  472 + <window_info id="Designer" order="8" />
  473 + <window_info anchor="bottom" id="Application Servers" order="0" weight="0.3280507" />
  474 + <window_info anchor="bottom" id="Messages" order="1" />
  475 + <window_info anchor="bottom" id="Message" order="2" />
  476 + <window_info anchor="bottom" id="Find" order="3" />
  477 + <window_info anchor="bottom" id="Run" order="4" sideWeight="0.6641631" weight="0.26450893" />
  478 + <window_info anchor="bottom" id="Debug" order="5" sideWeight="0.4980631" weight="0.25732216" />
  479 + <window_info anchor="bottom" id="Cvs" order="6" weight="0.25" />
  480 + <window_info anchor="bottom" id="SVN Repositories" order="7" visible="true" weight="0.026941363" />
  481 + <window_info anchor="bottom" id="Inspection" order="8" weight="0.4" />
  482 + <window_info anchor="bottom" id="Event Log" order="9" sideWeight="0.33583692" side_tool="true" visible="true" weight="0.26450893" />
  483 + <window_info anchor="bottom" id="Java Enterprise" order="10" />
  484 + <window_info anchor="bottom" id="Version Control" order="11" show_stripe_button="false" weight="0.3296355" />
  485 + <window_info anchor="bottom" id="Terminal" order="12" />
  486 + <window_info anchor="bottom" id="TODO" order="13" />
  487 + <window_info anchor="bottom" id="Docker" order="14" show_stripe_button="false" />
  488 + <window_info anchor="bottom" id="Database Changes" order="15" />
  489 + <window_info anchor="right" id="Commander" order="0" weight="0.4" />
  490 + <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
  491 + <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
  492 + <window_info anchor="right" id="Palette" order="3" />
  493 + <window_info anchor="right" id="Database" order="4" weight="0.083207265" />
  494 + <window_info anchor="right" id="Properties" order="5" />
  495 + <window_info anchor="right" id="Capture Analysis" order="6" />
  496 + <window_info anchor="right" id="Theme Preview" order="7" />
  497 + <window_info anchor="right" id="Palette&#9;" order="8" />
  498 + <window_info anchor="right" id="Maven Projects" order="9" sideWeight="0.4943662" visible="true" weight="0.09850581" />
  499 + <window_info anchor="right" id="Coverage" order="10" sideWeight="0.50563383" side_tool="true" visible="true" weight="0.09850581" />
  500 + <window_info anchor="right" id="Maven" order="11" visible="true" weight="0.3299356" />
  501 + </layout>
  502 + <layout-to-restore>
  503 + <window_info content_ui="combo" id="Project" order="0" weight="0.19969743" />
  504 + <window_info id="Structure" order="1" weight="0.25" />
  505 + <window_info id="Nl-Palette" order="2" />
  506 + <window_info id="UI Designer" order="3" />
  507 + <window_info id="Capture Tool" order="4" />
  508 + <window_info id="Web" order="5" side_tool="true" />
  509 + <window_info id="Image Layers" order="6" />
  510 + <window_info id="Favorites" order="7" side_tool="true" />
  511 + <window_info id="Designer" order="8" />
  512 + <window_info anchor="bottom" id="Application Servers" order="0" weight="0.3280507" />
  513 + <window_info anchor="bottom" id="Messages" order="1" />
  514 + <window_info anchor="bottom" id="Message" order="2" />
  515 + <window_info anchor="bottom" id="Find" order="3" />
  516 + <window_info anchor="bottom" id="Run" order="4" visible="true" weight="0.5974643" />
  517 + <window_info anchor="bottom" id="Debug" order="5" weight="0.39443535" />
  518 + <window_info anchor="bottom" id="Cvs" order="6" weight="0.25" />
  519 + <window_info anchor="bottom" id="Inspection" order="7" weight="0.4" />
  520 + <window_info anchor="bottom" id="Event Log" order="8" side_tool="true" />
  521 + <window_info anchor="bottom" id="Java Enterprise" order="9" />
  522 + <window_info anchor="bottom" id="Version Control" order="10" weight="0.3296355" />
  523 + <window_info anchor="bottom" id="Terminal" order="11" />
  524 + <window_info anchor="bottom" id="TODO" order="12" />
  525 + <window_info anchor="right" id="Commander" order="0" weight="0.4" />
  526 + <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
  527 + <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
  528 + <window_info anchor="right" id="Palette" order="3" />
  529 + <window_info anchor="right" id="Database" order="4" weight="0.083207265" />
  530 + <window_info anchor="right" id="Properties" order="5" />
  531 + <window_info anchor="right" id="Capture Analysis" order="6" />
  532 + <window_info anchor="right" id="Theme Preview" order="7" />
  533 + <window_info anchor="right" id="Palette&#9;" order="8" />
  534 + <window_info anchor="right" id="Maven Projects" order="9" visible="true" weight="0.1354009" />
  535 + </layout-to-restore>
  536 + </component>
  537 + <component name="TypeScriptGeneratedFilesManager">
  538 + <option name="version" value="1" />
  539 + </component>
  540 + <component name="VcsManagerConfiguration">
  541 + <ignored-roots>
  542 + <path value="$PROJECT_DIR$" />
  543 + </ignored-roots>
  544 + <option name="LAST_COMMIT_MESSAGE" value="" />
  545 + </component>
  546 + <component name="XDebuggerManager">
  547 + <breakpoint-manager>
  548 + <breakpoints>
  549 + <line-breakpoint enabled="true" type="java-line">
  550 + <url>jar://$USER_HOME$/tool/apache-maven-3.2.1/repo/org/mongodb/mongo-java-driver/3.4.0/mongo-java-driver-3.4.0-sources.jar!/com/mongodb/connection/InternalStreamConnection.java</url>
  551 + <line>106</line>
  552 + <properties />
  553 + <option name="timeStamp" value="22" />
  554 + </line-breakpoint>
  555 + </breakpoints>
  556 + </breakpoint-manager>
  557 + </component>
  558 + <component name="antWorkspaceConfiguration">
  559 + <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
  560 + <option name="FILTER_TARGETS" value="false" />
  561 + </component>
  562 + <component name="editorHistoryManager">
  563 + <entry file="file://$PROJECT_DIR$/src/main/webapp/js/fileinput_locale_de.js">
  564 + <provider selected="true" editor-type-id="text-editor" />
  565 + </entry>
  566 + <entry file="file://$PROJECT_DIR$/src/main/webapp/js/fileinput_locale_hu.js">
  567 + <provider selected="true" editor-type-id="text-editor" />
  568 + </entry>
  569 + <entry file="file://$PROJECT_DIR$/src/main/webapp/js/fileinput_locale_LANG.js">
  570 + <provider selected="true" editor-type-id="text-editor" />
  571 + </entry>
  572 + <entry file="file://$PROJECT_DIR$/src/main/webapp/js/fileinput_locale_ru.js">
  573 + <provider selected="true" editor-type-id="text-editor" />
  574 + </entry>
  575 + <entry file="file://$PROJECT_DIR$/src/main/webapp/js/fileinput_locale_uk.js">
  576 + <provider selected="true" editor-type-id="text-editor" />
  577 + </entry>
  578 + <entry file="file://$PROJECT_DIR$/src/main/webapp/js/fileinput_locale_zh.js">
  579 + <provider selected="true" editor-type-id="text-editor">
  580 + <state relative-caret-position="126">
  581 + <caret line="16" column="32" lean-forward="true" selection-start-line="16" selection-start-column="32" selection-end-line="16" selection-end-column="32" />
  582 + </state>
  583 + </provider>
  584 + </entry>
  585 + <entry file="file://$PROJECT_DIR$/src/main/webapp/js/jquery-3.1.0.js">
  586 + <provider selected="true" editor-type-id="text-editor" />
  587 + </entry>
  588 + <entry file="file://$PROJECT_DIR$/src/main/webapp/js/bootstrap.js">
  589 + <provider selected="true" editor-type-id="text-editor" />
  590 + </entry>
  591 + <entry file="file://$PROJECT_DIR$/src/main/webapp/css/._bootstrap.css">
  592 + <provider selected="true" editor-type-id="text-editor" />
  593 + </entry>
  594 + <entry file="file://$PROJECT_DIR$/src/main/webapp/css/._bootstrap-theme.css">
  595 + <provider selected="true" editor-type-id="text-editor" />
  596 + </entry>
  597 + <entry file="file://$PROJECT_DIR$/src/main/webapp/css/bootstrap-theme.css">
  598 + <provider selected="true" editor-type-id="text-editor" />
  599 + </entry>
  600 + <entry file="file://$PROJECT_DIR$/src/main/webapp/css/fileinput.css">
  601 + <provider selected="true" editor-type-id="text-editor">
  602 + <state relative-caret-position="216">
  603 + <caret line="12" column="21" lean-forward="true" selection-start-line="12" selection-start-column="21" selection-end-line="12" selection-end-column="21" />
  604 + </state>
  605 + </provider>
  606 + </entry>
  607 + <entry file="jar://$USER_HOME$/tool/apache-maven-3.2.1/repo/org/nutz/nutz/1.r.54/nutz-1.r.54.jar!/org/nutz/lang/born/EmptyArgsConstructorBorning.class" />
  608 + <entry file="jar://$USER_HOME$/tool/apache-maven-3.2.1/repo/org/nutz/nutz/1.r.54/nutz-1.r.54.jar!/org/nutz/lang/born/BornContext.class" />
  609 + <entry file="jar://$USER_HOME$/tool/apache-maven-3.2.1/repo/org/nutz/nutz/1.r.54/nutz-1.r.54.jar!/org/nutz/lang/Mirror.class" />
  610 + <entry file="jar://$USER_HOME$/tool/apache-maven-3.2.1/repo/org/nutz/nutz/1.r.54/nutz-1.r.54.jar!/org/nutz/mvc/impl/processor/ModuleProcessor.class" />
  611 + <entry file="jar://$USER_HOME$/tool/apache-maven-3.2.1/repo/org/mongodb/mongo-java-driver/3.4.0/mongo-java-driver-3.4.0.jar!/com/mongodb/MongoClient.class" />
  612 + <entry file="file://$PROJECT_DIR$/src/main/webapp/upload.jsp">
  613 + <provider selected="true" editor-type-id="text-editor">
  614 + <state relative-caret-position="396">
  615 + <caret line="34" column="9" lean-forward="true" selection-start-line="34" selection-start-column="9" selection-end-line="34" selection-end-column="9" />
  616 + </state>
  617 + </provider>
  618 + </entry>
  619 + <entry file="jar://$USER_HOME$/tool/apache-maven-3.2.1/repo/org/mongodb/mongo-java-driver/3.4.0/mongo-java-driver-3.4.0.jar!/com/mongodb/connection/DefaultServerMonitor.class" />
  620 + <entry file="file://$PROJECT_DIR$/src/main/webapp/WEB-INF/jsp/lists.jsp">
  621 + <provider selected="true" editor-type-id="text-editor">
  622 + <state relative-caret-position="630">
  623 + <caret line="35" column="55" selection-start-line="35" selection-start-column="51" selection-end-line="35" selection-end-column="55" />
  624 + </state>
  625 + </provider>
  626 + </entry>
  627 + <entry file="file://$PROJECT_DIR$/src/main/webapp/WEB-INF/jsp/show.jsp">
  628 + <provider selected="true" editor-type-id="text-editor">
  629 + <state relative-caret-position="234">
  630 + <caret line="13" column="6" selection-start-line="13" selection-start-column="6" selection-end-line="13" selection-end-column="6" />
  631 + </state>
  632 + </provider>
  633 + </entry>
  634 + <entry file="jar://$USER_HOME$/tool/apache-maven-3.2.1/repo/org/mongodb/mongo-java-driver/3.4.0/mongo-java-driver-3.4.0.jar!/com/mongodb/connection/SocketStreamHelper.class" />
  635 + <entry file="jar://$USER_HOME$/tool/apache-maven-3.2.1/repo/org/mongodb/mongo-java-driver/3.4.0/mongo-java-driver-3.4.0.jar!/com/mongodb/connection/InternalStreamConnection.class" />
  636 + <entry file="jar://$USER_HOME$/tool/apache-maven-3.2.1/repo/org/mongodb/mongo-java-driver/3.4.0/mongo-java-driver-3.4.0.jar!/com/mongodb/client/MongoDatabase.class" />
  637 + <entry file="jar://$USER_HOME$/tool/apache-maven-3.2.1/repo/org/mongodb/mongo-java-driver/3.4.0/mongo-java-driver-3.4.0.jar!/com/mongodb/MongoCollectionImpl.class" />
  638 + <entry file="jar://$USER_HOME$/tool/apache-maven-3.2.1/repo/org/mongodb/mongo-java-driver/3.4.0/mongo-java-driver-3.4.0.jar!/com/mongodb/MongoDatabaseImpl.class" />
  639 + <entry file="file://$PROJECT_DIR$/pom.xml">
  640 + <provider selected="true" editor-type-id="text-editor">
  641 + <state relative-caret-position="306">
  642 + <caret line="32" column="16" selection-start-line="32" selection-start-column="16" selection-end-line="32" selection-end-column="16" />
  643 + </state>
  644 + </provider>
  645 + </entry>
  646 + <entry file="jar://$USER_HOME$/tool/apache-maven-3.2.1/repo/org/nutz/nutz/1.r.54/nutz-1.r.54.jar!/org/nutz/mvc/NutFilter.class" />
  647 + <entry file="file://$PROJECT_DIR$/src/main/webapp/WEB-INF/web.xml">
  648 + <provider selected="true" editor-type-id="text-editor">
  649 + <state relative-caret-position="486">
  650 + <caret line="27" column="44" selection-start-line="27" selection-start-column="44" selection-end-line="27" selection-end-column="44" />
  651 + </state>
  652 + </provider>
  653 + </entry>
  654 + <entry file="jar://$USER_HOME$/tool/apache-maven-3.2.1/repo/org/mongodb/mongo-java-driver/3.4.0/mongo-java-driver-3.4.0.jar!/com/mongodb/connection/SocketStream.class" />
  655 + <entry file="jar://$USER_HOME$/tool/apache-maven-3.2.1/repo/org/mongodb/mongo-java-driver/3.4.0/mongo-java-driver-3.4.0-sources.jar!/com/mongodb/assertions/Assertions.java" />
  656 + <entry file="jar:///java/jdk1.8.0_151/src.zip!/java/lang/Thread.java" />
  657 + <entry file="jar://$USER_HOME$/tool/apache-maven-3.2.1/repo/org/mongodb/mongo-java-driver/3.4.0/mongo-java-driver-3.4.0-sources.jar!/com/mongodb/connection/SslSettings.java" />
  658 + <entry file="jar://$USER_HOME$/tool/apache-maven-3.2.1/repo/org/mongodb/mongo-java-driver/3.4.0/mongo-java-driver-3.4.0-sources.jar!/com/mongodb/connection/DefaultServerMonitor.java" />
  659 + <entry file="jar://$USER_HOME$/tool/apache-maven-3.2.1/repo/org/mongodb/mongo-java-driver/3.4.0/mongo-java-driver-3.4.0-sources.jar!/com/mongodb/connection/InternalStreamConnection.java" />
  660 + <entry file="jar://$USER_HOME$/tool/apache-maven-3.2.1/repo/org/mongodb/mongo-java-driver/3.4.0/mongo-java-driver-3.4.0-sources.jar!/com/mongodb/connection/SocketStream.java" />
  661 + <entry file="jar://$USER_HOME$/tool/apache-maven-3.2.1/repo/org/mongodb/mongo-java-driver/3.4.0/mongo-java-driver-3.4.0-sources.jar!/com/mongodb/connection/SocketStreamHelper.java" />
  662 + <entry file="jar:///java/jdk1.8.0_151/src.zip!/java/net/InetSocketAddress.java" />
  663 + <entry file="jar:///java/jdk1.8.0_151/src.zip!/java/net/SocketImpl.java" />
  664 + <entry file="jar:///java/jdk1.8.0_151/src.zip!/java/net/Socket.java" />
  665 + <entry file="jar://$USER_HOME$/tool/apache-maven-3.2.1/repo/org/mongodb/mongo-java-driver/3.4.0/mongo-java-driver-3.4.0-sources.jar!/com/mongodb/ServerAddress.java" />
  666 + <entry file="jar://$USER_HOME$/tool/apache-maven-3.2.1/repo/org/mongodb/mongo-java-driver/3.4.0/mongo-java-driver-3.4.0-sources.jar!/com/mongodb/MongoClient.java" />
  667 + <entry file="jar://$USER_HOME$/tool/apache-maven-3.2.1/repo/org/apache/poi/poi/3.9/poi-3.9.jar!/org/apache/poi/ss/usermodel/Cell.class" />
  668 + <entry file="jar://$USER_HOME$/tool/apache-maven-3.2.1/repo/org/mongodb/mongo-java-driver/3.4.0/mongo-java-driver-3.4.0-sources.jar!/com/mongodb/client/MongoCollection.java" />
  669 + <entry file="file://$PROJECT_DIR$/src/main/java/com/rivercloud/dao/ExcelDAO.java">
  670 + <provider selected="true" editor-type-id="text-editor">
  671 + <state relative-caret-position="513">
  672 + <caret line="31" column="38" selection-start-line="31" selection-start-column="38" selection-end-line="31" selection-end-column="38" />
  673 + <folding>
  674 + <element signature="imports" expanded="true" />
  675 + <element signature="docComment;class#ExcelDAO#0" />
  676 + <element signature="method#getCollectionNames#0;class#ExcelDAO#0" />
  677 + <element signature="method#find#0;class#ExcelDAO#0" />
  678 + </folding>
  679 + </state>
  680 + </provider>
  681 + </entry>
  682 + <entry file="file://$PROJECT_DIR$/src/main/java/com/rivercloud/MainModule.java">
  683 + <provider selected="true" editor-type-id="text-editor">
  684 + <state relative-caret-position="162">
  685 + <caret line="10" column="13" selection-start-line="10" selection-start-column="13" selection-end-line="10" selection-end-column="13" />
  686 + </state>
  687 + </provider>
  688 + </entry>
  689 + <entry file="file://$PROJECT_DIR$/src/main/java/com/rivercloud/service/ExcelService.java">
  690 + <provider selected="true" editor-type-id="text-editor">
  691 + <state relative-caret-position="108">
  692 + <caret line="4" column="3" selection-start-line="4" selection-start-column="3" selection-end-line="4" selection-end-column="3" />
  693 + </state>
  694 + </provider>
  695 + </entry>
  696 + <entry file="file://$PROJECT_DIR$/src/main/java/com/rivercloud/utils/ReadExcelUtils.java">
  697 + <provider selected="true" editor-type-id="text-editor">
  698 + <state relative-caret-position="2268">
  699 + <caret line="106" column="53" selection-start-line="106" selection-start-column="53" selection-end-line="106" selection-end-column="53" />
  700 + <folding>
  701 + <element signature="method#ReadExcelUtils#0;class#ReadExcelUtils#0" />
  702 + </folding>
  703 + </state>
  704 + </provider>
  705 + </entry>
  706 + <entry file="file://$PROJECT_DIR$/src/main/java/com/rivercloud/MainSetup.java">
  707 + <provider selected="true" editor-type-id="text-editor">
  708 + <state relative-caret-position="432">
  709 + <caret line="17" column="5" selection-start-line="17" selection-start-column="5" selection-end-line="17" selection-end-column="5" />
  710 + </state>
  711 + </provider>
  712 + </entry>
  713 + <entry file="file://$PROJECT_DIR$/src/main/java/com/rivercloud/controller/ExcelController.java">
  714 + <provider selected="true" editor-type-id="text-editor">
  715 + <state relative-caret-position="351">
  716 + <caret line="35" column="18" lean-forward="true" selection-start-line="35" selection-start-column="18" selection-end-line="35" selection-end-column="18" />
  717 + <folding>
  718 + <element signature="docComment;class#ExcelController#0" />
  719 + <element signature="method#deleteExcel#0;class#ExcelController#0" />
  720 + </folding>
  721 + </state>
  722 + </provider>
  723 + </entry>
  724 + <entry file="file://$PROJECT_DIR$/src/main/webapp/index.jsp">
  725 + <provider selected="true" editor-type-id="text-editor">
  726 + <state relative-caret-position="423">
  727 + <caret line="22" column="9" lean-forward="true" selection-start-line="22" selection-start-column="9" selection-end-line="22" selection-end-column="9" />
  728 + </state>
  729 + </provider>
  730 + </entry>
  731 + </component>
  732 + <component name="masterDetails">
  733 + <states>
  734 + <state key="ArtifactsStructureConfigurable.UI">
  735 + <settings>
  736 + <artifact-editor />
  737 + <last-edited>Excel:war</last-edited>
  738 + <splitter-proportions>
  739 + <option name="proportions">
  740 + <list>
  741 + <option value="0.2" />
  742 + <option value="0.5" />
  743 + </list>
  744 + </option>
  745 + </splitter-proportions>
  746 + </settings>
  747 + </state>
  748 + <state key="FacetStructureConfigurable.UI">
  749 + <settings>
  750 + <last-edited>Web</last-edited>
  751 + <splitter-proportions>
  752 + <option name="proportions">
  753 + <list>
  754 + <option value="0.2" />
  755 + </list>
  756 + </option>
  757 + </splitter-proportions>
  758 + </settings>
  759 + </state>
  760 + <state key="GlobalLibrariesConfigurable.UI">
  761 + <settings>
  762 + <splitter-proportions>
  763 + <option name="proportions">
  764 + <list>
  765 + <option value="0.2" />
  766 + </list>
  767 + </option>
  768 + </splitter-proportions>
  769 + </settings>
  770 + </state>
  771 + <state key="JdkListConfigurable.UI">
  772 + <settings>
  773 + <last-edited>1.8</last-edited>
  774 + <splitter-proportions>
  775 + <option name="proportions">
  776 + <list>
  777 + <option value="0.2" />
  778 + </list>
  779 + </option>
  780 + </splitter-proportions>
  781 + </settings>
  782 + </state>
  783 + <state key="ModuleStructureConfigurable.UI">
  784 + <settings>
  785 + <last-edited>Excel</last-edited>
  786 + <splitter-proportions>
  787 + <option name="proportions">
  788 + <list>
  789 + <option value="0.2" />
  790 + <option value="0.6" />
  791 + </list>
  792 + </option>
  793 + </splitter-proportions>
  794 + </settings>
  795 + </state>
  796 + <state key="ProjectJDKs.UI">
  797 + <settings>
  798 + <last-edited>1.8</last-edited>
  799 + <splitter-proportions>
  800 + <option name="proportions">
  801 + <list>
  802 + <option value="0.2" />
  803 + </list>
  804 + </option>
  805 + </splitter-proportions>
  806 + </settings>
  807 + </state>
  808 + <state key="ProjectLibrariesConfigurable.UI">
  809 + <settings>
  810 + <last-edited>Maven: commons-codec:commons-codec:1.5</last-edited>
  811 + <splitter-proportions>
  812 + <option name="proportions">
  813 + <list>
  814 + <option value="0.2" />
  815 + </list>
  816 + </option>
  817 + </splitter-proportions>
  818 + </settings>
  819 + </state>
  820 + </states>
  821 + </component>
  822 + <component name="mavenExecuteGoalHistory">
  823 + <option value="$PROJECT_DIR$" />
  824 + <option value="clean" />
  825 + </component>
  826 +</project>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
  3 + <component name="FacetManager">
  4 + <facet type="web" name="Web">
  5 + <configuration>
  6 + <descriptors>
  7 + <deploymentDescriptor name="web.xml" url="file://$MODULE_DIR$/src/main/webapp/WEB-INF/web.xml" />
  8 + </descriptors>
  9 + <webroots>
  10 + <root url="file://$MODULE_DIR$/src/main/webapp" relative="/" />
  11 + </webroots>
  12 + </configuration>
  13 + </facet>
  14 + </component>
  15 + <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7">
  16 + <output url="file://$MODULE_DIR$/target/classes" />
  17 + <output-test url="file://$MODULE_DIR$/target/test-classes" />
  18 + <content url="file://$MODULE_DIR$">
  19 + <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
  20 + <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
  21 + <excludeFolder url="file://$MODULE_DIR$/target" />
  22 + </content>
  23 + <orderEntry type="inheritedJdk" />
  24 + <orderEntry type="sourceFolder" forTests="false" />
  25 + <orderEntry type="library" scope="TEST" name="Maven: junit:junit:3.8.1" level="project" />
  26 + <orderEntry type="library" name="Maven: org.nutz:nutz:1.r.54" level="project" />
  27 + <orderEntry type="library" name="Maven: javax.servlet:javax.servlet-api:3.1-b06" level="project" />
  28 + <orderEntry type="library" scope="PROVIDED" name="Maven: javax.servlet.jsp:jsp-api:2.2" level="project" />
  29 + <orderEntry type="library" name="Maven: javax.servlet:jstl:1.1.0" level="project" />
  30 + <orderEntry type="library" name="Maven: taglibs:standard:1.1.2" level="project" />
  31 + <orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.3.1" level="project" />
  32 + <orderEntry type="library" name="Maven: commons-io:commons-io:2.4" level="project" />
  33 + <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml:3.9" level="project" />
  34 + <orderEntry type="library" name="Maven: org.apache.poi:poi:3.9" level="project" />
  35 + <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.5" level="project" />
  36 + <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml-schemas:3.9" level="project" />
  37 + <orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:2.3.0" level="project" />
  38 + <orderEntry type="library" name="Maven: stax:stax-api:1.0.1" level="project" />
  39 + <orderEntry type="library" name="Maven: dom4j:dom4j:1.6.1" level="project" />
  40 + <orderEntry type="library" name="Maven: xml-apis:xml-apis:1.0.b2" level="project" />
  41 + <orderEntry type="library" name="Maven: net.sourceforge.jexcelapi:jxl:2.6.12" level="project" />
  42 + <orderEntry type="library" name="Maven: org.mongodb:mongo-java-driver:3.4.0" level="project" />
  43 + <orderEntry type="library" name="Maven: log4j:log4j:1.2.17" level="project" />
  44 + </component>
  45 +</module>
  1 +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  3 + <modelVersion>4.0.0</modelVersion>
  4 + <groupId>com.rivercloud</groupId>
  5 + <artifactId>Excel</artifactId>
  6 + <packaging>war</packaging>
  7 + <version>1.0-SNAPSHOT</version>
  8 + <name>Excel Maven Webapp</name>
  9 + <url>http://maven.apache.org</url>
  10 + <dependencies>
  11 + <dependency>
  12 + <groupId>junit</groupId>
  13 + <artifactId>junit</artifactId>
  14 + <version>3.8.1</version>
  15 + <scope>test</scope>
  16 + </dependency>
  17 + <dependency>
  18 + <groupId>org.nutz</groupId>
  19 + <artifactId>nutz</artifactId>
  20 + <version>1.r.54</version>
  21 + </dependency>
  22 + <dependency>
  23 + <groupId>javax.servlet</groupId>
  24 + <artifactId>javax.servlet-api</artifactId>
  25 + <version>3.1-b06</version>
  26 + </dependency>
  27 + <dependency>
  28 + <groupId>javax.servlet.jsp</groupId>
  29 + <artifactId>jsp-api</artifactId>
  30 + <version>2.2</version>
  31 + <scope>provided</scope>
  32 + </dependency>
  33 + <dependency>
  34 + <groupId>jstl</groupId>
  35 + <artifactId>jstl</artifactId>
  36 + <version>1.1.0</version>
  37 + </dependency>
  38 + <dependency>
  39 + <groupId>taglibs</groupId>
  40 + <artifactId>standard</artifactId>
  41 + <version>1.1.2</version>
  42 + </dependency>
  43 + <dependency>
  44 + <groupId>commons-fileupload</groupId>
  45 + <artifactId>commons-fileupload</artifactId>
  46 + <version>1.3.1</version>
  47 + </dependency>
  48 + <dependency>
  49 + <groupId>commons-io</groupId>
  50 + <artifactId>commons-io</artifactId>
  51 + <version>2.4</version>
  52 + </dependency>
  53 + <dependency>
  54 + <groupId>org.apache.poi</groupId>
  55 + <artifactId>poi-ooxml</artifactId>
  56 + <version>3.9</version>
  57 + </dependency>
  58 + <dependency>
  59 + <groupId>net.sourceforge.jexcelapi</groupId>
  60 + <artifactId>jxl</artifactId>
  61 + <version>2.6.12</version>
  62 + </dependency>
  63 + <!-- https://mvnrepository.com/artifact/org.mongodb/mongo-java-driver -->
  64 + <dependency>
  65 + <groupId>org.mongodb</groupId>
  66 + <artifactId>mongo-java-driver</artifactId>
  67 + <version>3.4.0</version>
  68 + </dependency>
  69 + <!-- https://mvnrepository.com/artifact/log4j/log4j -->
  70 + <dependency>
  71 + <groupId>log4j</groupId>
  72 + <artifactId>log4j</artifactId>
  73 + <version>1.2.17</version>
  74 + </dependency>
  75 +
  76 +
  77 +
  78 + </dependencies>
  79 + <properties>
  80 + <maven.compiler.source>1.7</maven.compiler.source>
  81 + <maven.compiler.target>1.7</maven.compiler.target>
  82 + </properties>
  83 + <build>
  84 + <finalName>Excel</finalName>
  85 + <plugins>
  86 + <plugin>
  87 + <artifactId>maven-war-plugin</artifactId>
  88 + <version>2.4</version>
  89 + <configuration>
  90 + <includeEmptyDirectories>true</includeEmptyDirectories>
  91 + </configuration>
  92 + </plugin>
  93 + </plugins>
  94 + </build>
  95 +</project>
  1 +package com.rivercloud;
  2 +
  3 +import com.rivercloud.controller.ExcelController;
  4 +import org.nutz.mvc.adaptor.PairAdaptor;
  5 +import org.nutz.mvc.annotation.*;
  6 +import org.nutz.mvc.ioc.provider.ComboIocProvider;
  7 +import org.nutz.mvc.ioc.provider.JsonIocProvider;
  8 +@SetupBy(MainSetup.class)
  9 +
  10 +@Modules(scanPackage = true)
  11 +public class MainModule {
  12 +
  13 +}
  14 +
  1 +package com.rivercloud;
  2 +
  3 +import org.nutz.mvc.NutConfig;
  4 +import org.nutz.mvc.Setup;
  5 +
  6 +/**
  7 + * Created by lq on 2016/12/1/0001.
  8 + */
  9 +public class MainSetup implements Setup{
  10 + @Override
  11 + public void init(NutConfig nutConfig) {
  12 +
  13 + }
  14 +
  15 + @Override
  16 + public void destroy(NutConfig nutConfig) {
  17 +
  18 + }
  19 +}
  1 +package com.rivercloud.controller;
  2 +
  3 +import com.rivercloud.dao.ExcelDAO;
  4 +import org.apache.poi.hssf.usermodel.HSSFWorkbook;
  5 +import org.apache.poi.ss.usermodel.Cell;
  6 +import org.apache.poi.ss.usermodel.Row;
  7 +import org.apache.poi.ss.usermodel.Sheet;
  8 +import org.nutz.ioc.loader.annotation.Inject;
  9 +import org.nutz.json.Json;
  10 +import org.nutz.lang.util.NutMap;
  11 +import org.nutz.mvc.annotation.*;
  12 +import org.nutz.mvc.upload.FieldMeta;
  13 +import org.nutz.mvc.upload.TempFile;
  14 +import org.nutz.mvc.upload.UploadAdaptor;
  15 +
  16 +import javax.servlet.ServletException;
  17 +import javax.servlet.http.HttpServletRequest;
  18 +import javax.servlet.http.HttpServletResponse;
  19 +import java.io.*;
  20 +import java.util.ArrayList;
  21 +import java.util.HashMap;
  22 +import java.util.List;
  23 +import java.util.Map;
  24 +
  25 +
  26 +/**
  27 + * Created by lq on 2016/11/29/0029.
  28 + */
  29 +@At("/excel")
  30 +@Fail("http:500")
  31 +public class ExcelController {
  32 +
  33 + @Inject
  34 + private ExcelDAO excelDAO = new ExcelDAO();
  35 +
  36 + @At("/upload")
  37 + @Ok("redirect:/index.jsp")
  38 + @AdaptBy(type = UploadAdaptor.class, args = { })
  39 + public void uploadExcel(HttpServletRequest request, HttpServletResponse response,@Param("file") TempFile tempFile)
  40 + throws ServletException, IOException{
  41 + File file = tempFile.getFile(); //保存的临时文件
  42 + FieldMeta meta = tempFile.getMeta(); //原本的文件信息
  43 + String filename = meta.getFileLocalName(); //文件名称
  44 + excelDAO.insert(filename,file);
  45 + }
  46 +
  47 + @At("/download")
  48 + @Ok("redirect:/index.jsp")
  49 + public void downloadExcel(HttpServletResponse response,HttpServletRequest request)
  50 + throws IOException {
  51 + String filename = request.getParameter("filename");
  52 + Map<Integer,Object[]> map = excelDAO.find(filename);
  53 + HSSFWorkbook workbook = new HSSFWorkbook();
  54 + Sheet sheet = workbook.createSheet("sheet1");
  55 + for (int i = 0;i<map.size();i++){
  56 + String[] value = new String[map.get(0).length];
  57 + for (int j = 0;j<map.get(0).length;j++ ){
  58 + value[j] = map.get(i)[j].toString();
  59 + }
  60 + Row row = workbook.getSheet("sheet1").createRow(i);//创建第一行
  61 + for (int k = 0;k < value.length;k++ ){
  62 + Cell cell = row.createCell(k);
  63 + cell.setCellValue(value[k].trim());
  64 + }
  65 + }
  66 + FileOutputStream out = new FileOutputStream("D:/"+filename);
  67 + workbook.write(out);
  68 + out.close();
  69 + }
  70 +
  71 + //可编辑列表
  72 + @At("/list")
  73 + @Ok("jsp:jsp.list")
  74 + @Fail("jsp:jsp.500")
  75 + public void listExcel(HttpServletRequest request){
  76 + Object[] fileNames = excelDAO .getCollectionNames();
  77 + request.setAttribute("fileNames", fileNames);
  78 + }
  79 +
  80 + //只读的列表
  81 + @At("/scan")
  82 + @Fail("jsp:jsp.500")
  83 + @Ok("jsp:jsp.lists")
  84 + public void listExcels(HttpServletRequest request) {
  85 + Object[] fileNames = excelDAO .getCollectionNames();
  86 + request.setAttribute("fileNames", fileNames);
  87 + }
  88 +
  89 + //可编辑的展示
  90 + @At("/show")
  91 + @Ok("json")
  92 + public Map readExcel(HttpServletRequest request){
  93 + String filename = request.getParameter("filename");
  94 + Map<Integer,Object[]> map = excelDAO.find(filename);
  95 + return map;
  96 + }
  97 +
  98 + //只读的展示
  99 + @At("/read")
  100 + @Ok("jsp:jsp.show")
  101 + public void readExcels(HttpServletRequest request){
  102 + String filename = request.getParameter("filename");
  103 + Map<Integer,Object[]> map = excelDAO.find(filename);
  104 + Object[] title = map.get(0);//得到Excel的列标题
  105 + List data = new ArrayList();//得到Excel的内容
  106 + for (int i = 0;i < map.size();i++ ){
  107 + Object[] obj = map.get(i+1);
  108 + data.add(obj);
  109 + }
  110 + request.setAttribute("title",title );
  111 + request .setAttribute("data",data);
  112 + }
  113 +
  114 + //更新excel到数据库中
  115 + @At("/write")
  116 + public void writeExcel(HttpServletRequest request){
  117 + String json = request.getParameter("json");
  118 + String filename = request.getParameter("filename");
  119 + NutMap map = Json.fromJson(NutMap.class,json);
  120 + Map<Integer,String[]> data = new HashMap();
  121 + for (Map.Entry entry:map.entrySet()){
  122 + String str= entry.getValue().toString();
  123 + String str1 = str.substring(1,str.indexOf("]"));
  124 + String[] value = str1.split(",");
  125 + System.out.println(entry.getKey().getClass());
  126 + System.out.println(Integer.parseInt(entry.getKey().toString()));
  127 + int i = Integer.parseInt(entry.getKey().toString());
  128 + data.put(i,value);
  129 + }
  130 + excelDAO.updata(data,filename);
  131 + }
  132 +
  133 + //删除excel
  134 + @At("/delete")
  135 + @Ok("json")
  136 + public Map deleteExcel(HttpServletRequest request) {
  137 + String filename = request.getParameter("filename");
  138 + Map map = new HashMap();
  139 + excelDAO.delete(filename);
  140 + map.put("true",true);
  141 + return map;
  142 + }
  143 +}
  144 +
  145 +
  146 +
  147 +
  1 +package com.rivercloud.dao;
  2 +
  3 +import com.mongodb.MongoClient;
  4 +import com.mongodb.ServerAddress;
  5 +import com.mongodb.client.FindIterable;
  6 +import com.mongodb.client.MongoCollection;
  7 +import com.mongodb.client.MongoDatabase;
  8 +import com.mongodb.client.MongoIterable;
  9 +import com.rivercloud.utils.ReadExcelUtils;
  10 +import org.bson.Document;
  11 +
  12 +import java.io.File;
  13 +import java.io.IOException;
  14 +import java.net.Socket;
  15 +import java.util.*;
  16 +
  17 +/**
  18 + * Created by lq on 2016/12/15/0015.
  19 + */
  20 +public class ExcelDAO {
  21 +
  22 + MongoClient client = new MongoClient( "localhost" , 27017 );
  23 + MongoDatabase db = client.getDatabase("test");
  24 + private MongoCollection collection = null;
  25 +
  26 + public void insert(String filename,File file){
  27 +
  28 + if (db.getCollection(filename) ==null ){
  29 + db.createCollection(filename);
  30 + }
  31 + collection = db.getCollection(filename);
  32 + ReadExcelUtils excelReader = new ReadExcelUtils(file);
  33 + Map<Integer, Object[]> map = null;
  34 + try {
  35 + map = excelReader.readExcelContent();
  36 + } catch (Exception e) {
  37 + e.printStackTrace();
  38 + }
  39 + Object[] title = map.get(0);//得到excel的列标题
  40 +
  41 + for (int i = 0;i < map.size();i++ ){
  42 + Document document = new Document();
  43 + for (int j = 0;j < title.length;j++){
  44 + if (title[j].toString() != null){
  45 + document.append(title[j].toString(),map.get(i)[j]);
  46 + }
  47 + }
  48 + collection.insertOne(document);
  49 + }
  50 + }
  51 +
  52 + public Object[] getCollectionNames(){
  53 + List list = new ArrayList();
  54 + MongoIterable<String> collectionNames = db.listCollectionNames();
  55 + Iterator it = collectionNames.iterator();
  56 + while (it.hasNext()){
  57 + list.add(it.next());
  58 + }
  59 + Object[] CollectionNames = new Object[list.size()];
  60 + for (int i = 0;i < list.size();i++){
  61 + CollectionNames[i] = list.get(i);
  62 + }
  63 + return CollectionNames;
  64 + }
  65 +
  66 + public Map find(String filename) {
  67 + collection = db.getCollection(filename);
  68 + FindIterable iterable = collection.find();
  69 + Iterator it = iterable.iterator();
  70 + Set set = null;
  71 + List<Document> dou = new ArrayList();
  72 + while (it.hasNext()) {
  73 + Document document = (Document) it.next();
  74 + set = document.keySet();
  75 + dou.add(document);
  76 + }
  77 + List data = new ArrayList();
  78 + for (Object str : set) {
  79 + if (!"_id".equals(str)) {
  80 + data.add(str);
  81 + }
  82 + }
  83 + Object[] title = new Object[data.size()];
  84 + for (int i = 0; i < data.size(); i++) {
  85 + title[i] = data.get(i);
  86 + }
  87 + Map<Integer, Object[]> map = new HashMap<>();
  88 +
  89 + for (int i = 0; i < dou.size(); i++) {
  90 + Object[] cellValue = new Object[title.length];
  91 + for (int j = 0; j < title.length; j++) {
  92 + //System.out.println(dou.get(i).get(title[j]));
  93 + cellValue[j] = dou.get(i).get(title[j]);
  94 + }
  95 + map.put(0, title);
  96 + map.put(i, cellValue);
  97 + }
  98 + return map;
  99 + }
  100 +
  101 + public void updata(Map<Integer,String[]> map,String filename){
  102 +
  103 + db.getCollection(filename).drop();
  104 + db.createCollection(filename);
  105 + collection = db.getCollection(filename);
  106 + String[] title = map.get(0);//得到excel的列标题
  107 + for (int i = 0;i < map.size();i++ ){
  108 + Document document = new Document();
  109 + for (int j = 0;j < title.length;j++){
  110 + if (title[j].toString() != null){
  111 + document.append(title[j],map.get(i)[j]);
  112 + System.out.println(title[j].toString()+"===="+map.get(i)[j]);
  113 + }
  114 + }
  115 + collection.insertOne(document);
  116 + }
  117 +
  118 + }
  119 +
  120 + public void delete(String filename){
  121 + collection = db.getCollection(filename);
  122 + collection.drop();
  123 + }
  124 +}
  1 +package com.rivercloud.service;
  2 +
  3 +/**
  4 + * Created by lq on 2016/12/15/0015.
  5 + */
  6 +public class ExcelService {
  7 +
  8 +}
  1 +package com.rivercloud.utils;
  2 +
  3 +import java.io.File;
  4 +import java.util.Map;
  5 +
  6 +/**
  7 + * 设置文件的目录结构
  8 + * @author Administrator
  9 + */
  10 +public class FileUtils {
  11 + //分层目录
  12 + public static String generateFilename(String uploadPath, String filename) {
  13 + int hashCode = filename.hashCode();
  14 + int dir1 = hashCode & 0xF;
  15 + int dir2 = (hashCode >> 4) & 0xF;
  16 + uploadPath = uploadPath + "/" + dir1 + "/" + dir2;
  17 + File path = new File(uploadPath);
  18 + if(!path.exists()){
  19 + path.mkdirs();
  20 + }
  21 + return filename = uploadPath + "/" + filename;
  22 + }
  23 + public static void generateMap(File uploadFile, Map<String, String> map) {
  24 + File[] files = uploadFile.listFiles();
  25 + for(File file : files){
  26 + if(file.isDirectory()){
  27 + generateMap(file, map);
  28 + }else{
  29 + String filename = file.getName().substring(file.getName().indexOf(";") + 1);
  30 + map.put(file.getName(), filename);
  31 + }
  32 + }
  33 + }
  34 +}
  1 +package com.rivercloud.utils;
  2 +
  3 +import java.io.*;
  4 +import java.util.HashMap;
  5 +import java.util.Map;
  6 +
  7 +import org.apache.poi.hssf.usermodel.HSSFWorkbook;
  8 +import org.apache.poi.ss.usermodel.*;
  9 +import org.apache.poi.xssf.usermodel.XSSFWorkbook;
  10 +
  11 +
  12 +public class ReadExcelUtils {
  13 + private Workbook wb;
  14 + private Sheet sheet;
  15 + private Row row;
  16 +
  17 + public ReadExcelUtils(File file) {
  18 + String ext = file.getName().substring(file.getName().lastIndexOf("."));
  19 + try {
  20 + FileInputStream is = new FileInputStream(file);
  21 + if(".xls".equals(ext)){
  22 + wb = new HSSFWorkbook(is);
  23 + }else if(".xlsx".equals(ext)){
  24 + wb = new XSSFWorkbook(is);
  25 + }else{
  26 + wb=null;
  27 + }
  28 + } catch (FileNotFoundException e) {
  29 + e.printStackTrace();
  30 + } catch (IOException e) {
  31 + e.printStackTrace();
  32 + }
  33 + }
  34 +
  35 + /**
  36 + * 读取Excel数据内容
  37 + *
  38 + */
  39 + public Map<Integer, Object[]> readExcelContent() throws Exception{
  40 + if(wb==null){
  41 + throw new Exception("Workbook对象为空!");
  42 + }
  43 + Map<Integer, Object[]> content = new HashMap<Integer, Object[]>();
  44 + sheet = wb.getSheetAt(0);
  45 + // 得到总行数
  46 + int rowNum = sheet.getLastRowNum();
  47 + row = sheet.getRow(0);
  48 + int colNum = row.getPhysicalNumberOfCells();
  49 + //得到标题
  50 + Object[] title = new Object[colNum];
  51 + //Map title = new HashMap();
  52 + for (int i = 0; i <= colNum-1; i++) {
  53 + Object obj = getCellFormatValue(row.getCell(i));
  54 + title[i] = obj;
  55 + }
  56 + //得到正文内容
  57 + for (int i = 1; i <= rowNum; i++) {
  58 + row = sheet.getRow(i);
  59 + Object[] cellValue = new Object[colNum];
  60 + Map cellvalue = new HashMap();
  61 + for (int j = 0;j <= colNum-1;j++){
  62 + Object obj = getCellFormatValue(row.getCell(j));
  63 + cellValue[j] = obj;
  64 + }
  65 + content.put(0,title);
  66 + content.put(i, cellValue);
  67 + }
  68 + return content;
  69 + }
  70 +
  71 + /**
  72 + *
  73 + * 根据Cell类型设置数据
  74 + *
  75 + */
  76 + private Object getCellFormatValue(Cell cell) {
  77 + Object result = "";
  78 +
  79 + /*if (cell != null) {
  80 + switch (cell.getCellType()) {
  81 + case Cell.CELL_TYPE_STRING:
  82 + result = cell.getStringCellValue();
  83 + break;
  84 + case Cell.CELL_TYPE_NUMERIC:
  85 + cell.setCellType(1);
  86 + result = cell.getNumericCellValue();
  87 + break;
  88 + case Cell.CELL_TYPE_BOOLEAN:
  89 + result = cell.getBooleanCellValue();
  90 + break;
  91 + case Cell.CELL_TYPE_FORMULA:
  92 + result = cell.getCellFormula();
  93 + break;
  94 + case Cell.CELL_TYPE_ERROR:
  95 + result = cell.getErrorCellValue();
  96 + break;
  97 + case Cell.CELL_TYPE_BLANK:
  98 + break;
  99 + default:
  100 + break;
  101 + }
  102 + }*/
  103 + if (cell !=null&&cell.getCellType() == Cell.CELL_TYPE_STRING){//字符串类型
  104 + result = cell.getStringCellValue();
  105 + }
  106 + if (cell !=null&&cell.getCellType() == Cell.CELL_TYPE_NUMERIC){//数值类型
  107 + if (DateUtil.isCellDateFormatted(cell)) {
  108 + result = cell.getDateCellValue();
  109 + }else {
  110 + Long longVal = Math.round(cell.getNumericCellValue());
  111 + Double doubleVal = cell.getNumericCellValue();
  112 + if(Double.parseDouble(longVal + ".0") == doubleVal){ //判断是否含有小数位.0
  113 + result = longVal;
  114 + }
  115 + else{
  116 + result = doubleVal;
  117 + }
  118 + }
  119 + }
  120 + if (cell !=null&&cell.getCellType() == Cell.CELL_TYPE_BOOLEAN){//布尔类型
  121 + result = cell.getBooleanCellValue();
  122 + }
  123 + if (cell !=null&&cell.getCellType() == Cell.CELL_TYPE_FORMULA){//表达式类型
  124 + result = cell.getCellFormula();
  125 + }
  126 + if (cell !=null&&cell.getCellType() == Cell.CELL_TYPE_ERROR){//错误类型
  127 + result = cell.getErrorCellValue();
  128 + }
  129 + if (cell !=null&&cell.getCellType() == Cell.CELL_TYPE_BLANK){//空
  130 + }
  131 + return result.toString();
  132 + }
  133 +
  134 +}
  135 +
  1 +<%--
  2 + Created by IntelliJ IDEA.
  3 + User: lq
  4 + Date: 2016/12/1/0001
  5 + Time: 14:05
  6 + To change this template use File | Settings | File Templates.
  7 +--%>
  8 +<%@ page import="org.nutz.lang.Strings"%>
  9 +<%@ page import="java.util.Enumeration"%>
  10 +<%@ page import="java.io.ByteArrayOutputStream"%>
  11 +<%@ page import="java.io.PrintWriter"%>
  12 +<%@ page import="org.nutz.mvc.Mvcs"%>
  13 +<%@ page language="java" contentType="text/html; charset=UTF-8"
  14 + pageEncoding="UTF-8" isErrorPage="true" trimDirectiveWhitespaces="true"
  15 + session="false"%>
  16 +<% response.setStatus(500); %>
  17 +<html>
  18 +<head>
  19 + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  20 + <title>出错啦</title>
  21 +</head>
  22 +<body>
  23 +<div>
  24 + <%
  25 + Throwable e = exception;
  26 + if (e == null) {
  27 + Object obj = request.getAttribute("obj");
  28 + if (obj != null && obj instanceof Throwable) {
  29 + e = (Throwable)obj;
  30 + } else {
  31 + if (Mvcs.getActionContext() != null) {
  32 + e = Mvcs.getActionContext().getError();
  33 + }
  34 + }
  35 + }
  36 + %>
  37 + <h2>请求的路径: <%=(request.getAttribute("javax.servlet.forward.request_uri") + (request.getQueryString() == null ? "" : "?" + request.getQueryString())) %></h2><p/>
  38 + <%
  39 + if (Mvcs.getActionContext() != null) {
  40 + %>
  41 + <h2>请求的方法: <%=Mvcs.getActionContext().getMethod() %></h2><p/>
  42 + <%
  43 + }
  44 + if (e != null) {
  45 + %>
  46 +
  47 + <h2>异常堆栈如下:</h2><p/>
  48 + <pre>
  49 + <code class="lang-java">
  50 + <%
  51 + ByteArrayOutputStream bao = new ByteArrayOutputStream();
  52 + PrintWriter pw = new PrintWriter(bao);
  53 +
  54 + e.printStackTrace(pw);
  55 + pw.flush();
  56 + %>
  57 + <%=Strings.escapeHtml(new String(bao.toByteArray())) %>
  58 + </code>
  59 + </pre>
  60 + <%
  61 + }
  62 + %>
  63 +</div>
  64 +</body>
  65 +</html>
  1 +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
  2 +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  3 +<%
  4 +String path = request.getContextPath();
  5 +String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  6 +%>
  7 +<html>
  8 + <head>
  9 + <base href="<%=basePath%>">
  10 + <title>可编辑文件列表</title>
  11 + <meta http-equiv="pragma" content="no-cache">
  12 + <meta http-equiv="cache-control" content="no-cache">
  13 + <meta http-equiv="expires" content="0">
  14 + <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  15 + <meta http-equiv="description" content="This is my page">
  16 + <link rel="stylesheet" type="text/css" href="${base}/css/bootstrap.css">
  17 + <script type="text/javascript" src="${base}/js/jquery-3.1.0.js"></script>
  18 + <script type="text/javascript" src="${base}/js/bootstrap.js"></script>
  19 + </head>
  20 +
  21 + <body>
  22 + <div class="container-fluid">
  23 + <div class="row-fluid">
  24 + <div class="span12">
  25 + <table class="table">
  26 + <thead>
  27 + <tr class="trr">
  28 + <th>文件名(点击文件名,可在线编辑)</th>
  29 + <th style="align-content:center">下载</th>
  30 + <th style="align-content:center">删除(点击文件可删除)</th>
  31 + </tr>
  32 + </thead>
  33 +
  34 + <tbody>
  35 + <c:if test="${empty fileNames}">
  36 + <h4><span style="color: red;">列表为空,暂无文件</span><a href="${base}/upload.jsp">上传文件</a></h4>
  37 + </c:if>
  38 + <c:forEach items="${fileNames}" var="filename">
  39 + <tr class="trr">
  40 + <td><input type="text" class="tr" onclick="showExcel(this)" value='${filename}' style="border:none;" data-toggle="modal" data-target="#myModal" readonly="true" /></td>
  41 + <td><a href="${base}/excel/download?filename=${filename}">下载</a></td>
  42 + <td><input type="text" onclick="deleteExcel(this)" class="tr" value='${filename}' style="border:none;" readonly="true"/></td>
  43 + </tr>
  44 + </c:forEach>
  45 + </tbody>
  46 + </table>
  47 + </div>
  48 + </div>
  49 + </div>
  50 + <%--模态框--%>
  51 + <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  52 + <div class="modal-dialog" align="center" style="width: auto">
  53 + <div class="modal-content" style="width: auto;" align="center">
  54 + <div class="modal-body" id="table-body" align="center"></div>
  55 + <div class="modal-footer" align="center" style="border: none">
  56 + <button type="button" class="btn btn-primary" onclick="addRow()">增加一行</button>
  57 + <button type="button" class="btn btn-primary" onclick="addCell()">增加一列</button>
  58 + <button type="button" class="btn btn-primary" data-dismiss="modal">关闭</button>
  59 + <button type="button" class="btn btn-primary" onclick="readHtml()">提交更改</button>
  60 + </div>
  61 + </div>
  62 + </div>
  63 + </div>
  64 + </body>
  65 + <script type="text/javascript">
  66 +
  67 + function showExcel(obj){
  68 + var filename = obj.value;
  69 + var param = "filename=" + filename;
  70 + console.log(filename);
  71 + $.ajax({
  72 + url: "${base}/excel/show",
  73 + data: param,
  74 + dataType: "json",
  75 + type: "POST",
  76 + success: function (data) {
  77 + $('#myModal').modal('show');
  78 + var table = [];
  79 + table.push('<table class="table table-condensed table table-bordered" style="width:20% ;height:auto;border:1px solid;" id="table"><tbody id="tbody">');
  80 + $.each(data, function (index, tr) {
  81 + table.push('<tr class="tr" style="height: 30px">');
  82 + $.each(tr, function (index,td) {
  83 + table.push('<td class="td" style="width:5%";height:auto;"><input type="text" style="border:none;height:35px;font-size: 10px;width:auto;word-wrap:break-word;" value='+td+' ></td>');
  84 + });
  85 + table.push('</tr>');
  86 + });
  87 + table.push('<input type="hidden" value='+filename+' id="filename" ></input>');
  88 + document.getElementById('table-body').innerHTML = table.join('');
  89 + },
  90 + async: true,
  91 + cache: false
  92 + });
  93 + }
  94 + function addRow() {
  95 + var tr = document.createElement('tr');
  96 + tr.className = "tr";
  97 + var tbody = document.getElementById("tbody");
  98 + var rows = table.rows.length ;
  99 + var cells = table.rows.item(0).cells.length ;
  100 + tbody.appendChild(tr);
  101 + for (var i = 0;i < cells;i++){
  102 + var inputi = document.createElement('input');
  103 + inputi.style.border = "none";
  104 + inputi.style.height = "46px";
  105 + inputi.style.font.size = "10px";
  106 + var tdi = document.createElement('td');
  107 + tdi.appendChild(inputi);
  108 + tdi.className = "td";
  109 + tdi.style.height = "46px";
  110 + tdi.style.width = " 5%";
  111 + tr.appendChild(tdi);
  112 + }
  113 + }
  114 + function addCell() {
  115 + $(".tr").append('<td style="height:30px;width:5%"class="td"><input type="text" style="border:none;height:46px;font-size:10px"></td>');
  116 + }
  117 + function readHtml() {
  118 + var map = {};
  119 + var rows = table.rows.length ;
  120 + var cells = table.rows.item(0).cells.length ;
  121 + for (var i = 0;i < rows;i++ ){
  122 + var cellValue = [];
  123 + for (var j = 0;j < cells;j++ ){
  124 + valuej = table.rows.item(i).cells.item(j).childNodes[0].value;
  125 + cellValue[j] = valuej;
  126 + }
  127 + map[i.toString()]= cellValue;
  128 + }
  129 + var json = JSON.stringify(map);
  130 + var params = JSON.stringify(json);
  131 +
  132 + var filename = $("#filename").val();
  133 + console.log(filename);
  134 + $.ajax({
  135 + url: "${base}/excel/write",
  136 + data: {
  137 + "json": params,"filename":filename
  138 + },
  139 + type: "POST",
  140 + success: function () {
  141 + alert("更新成功");
  142 + },
  143 + async: true,
  144 + cache: false
  145 + });
  146 + }
  147 + function deleteExcel(obj) {
  148 + var filename = obj.value;
  149 + var param = "filename=" + filename;
  150 + if (confirm("确认删除"+filename+"吗?")){
  151 + $.ajax({
  152 + url: "${base}/excel/delete",
  153 + data: param,
  154 + dataType: "json",
  155 + type: "POST",
  156 + success: function (data) {
  157 + //Location.href = "${base}/excel/list";
  158 + alert("删除成功");
  159 + location.reload();
  160 + },
  161 + async: true,
  162 + cache: false
  163 + });
  164 + }
  165 + }
  166 + $(".trr").bind("mouseover",function(){
  167 + $(this).css("background-color","#eeeeee");
  168 + })
  169 + $(".trr").bind("mouseout",function(){
  170 + $(this).css("background-color","#ffffff");
  171 + })
  172 + </script>
  173 +</html>
  174 +
  175 +
  1 +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
  2 +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  3 +<%
  4 +String path = request.getContextPath();
  5 +String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  6 +%>
  7 +<html>
  8 + <head>
  9 + <base href="<%=basePath%>">
  10 + <title>只读文件列表</title>
  11 + <meta http-equiv="pragma" content="no-cache">
  12 + <meta http-equiv="cache-control" content="no-cache">
  13 + <meta http-equiv="expires" content="0">
  14 + <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  15 + <meta http-equiv="description" content="This is my page">
  16 + <link rel="stylesheet" type="text/css" href="${base}/css/bootstrap.css">
  17 + <script type="text/javascript" src="${base}/js/jquery-3.1.0.js"></script>
  18 + <script type="text/javascript" src="${base}/js/bootstrap.js"></script>
  19 + </head>
  20 +
  21 + <body>
  22 + <div class="container-fluid">
  23 + <div class="row-fluid">
  24 + <div class="span12">
  25 + <table class="table">
  26 + <thead>
  27 + <tr class="tr">
  28 + <th>文件名(点击文件名,可在线查看)</th>
  29 + <th>操作</th>
  30 + </tr>
  31 + </thead>
  32 + <c:forEach items="${fileNames}" var="filename">
  33 + <tbody>
  34 + <tr class="tr">
  35 + <td>${filename}</td>
  36 + <td><a href="${base}/excel/read?filename=${filename}">查看</a></td>
  37 + </tr>
  38 + </tbody>
  39 + </c:forEach>
  40 + </table>
  41 + </div>
  42 + </div>
  43 + </div>
  44 + </body>
  45 + <script type="text/javascript">
  46 + $(".tr").bind("mouseover",function(){
  47 + $(this).css("background-color","#eeeeee");
  48 + })
  49 + $(".tr").bind("mouseout",function(){
  50 + $(this).css("background-color","#ffffff");
  51 + })
  52 +
  53 + </script>
  54 +</html>
  55 +
  56 +
  1 +<%--
  2 + Created by IntelliJ IDEA.
  3 + User: lq
  4 + Date: 2016/12/14/0014
  5 + Time: 14:31
  6 + To change this template use File | Settings | File Templates.
  7 +--%>
  8 +<%@ page contentType="text/html;charset=UTF-8" language="java" %>
  9 +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  10 +<%
  11 +String path = request.getContextPath();
  12 +String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  13 +%>
  14 +<html>
  15 +<head>
  16 + <base href="<%=basePath%>">
  17 + <title>文件列表</title>
  18 + <meta http-equiv="pragma" content="no-cache">
  19 + <meta http-equiv="cache-control" content="no-cache">
  20 + <meta http-equiv="expires" content="0">
  21 + <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  22 + <meta http-equiv="description" content="This is my page">
  23 + <link rel="stylesheet" type="text/css" href="${base}/css/bootstrap.css">
  24 + <script type="text/javascript" src="${base}/js/jquery-3.1.0.js"></script>
  25 + <script type="text/javascript" src="${base}/js/bootstrap.js"></script>
  26 +</head>
  27 + <body>
  28 + <table class="table table-condensed table table-bordered" style="width: 800px;table-layout:fixed;margin-top: 50px" align="center">
  29 + <tr>
  30 + <c:forEach items="${title}" var="ti">
  31 + <td style="width:5%" >${ti}</td>
  32 + </c:forEach>
  33 + </tr>
  34 + <c:forEach items="${data}" var="ds">
  35 + <tr>
  36 + <c:forEach items="${ds}" var="d">
  37 + <td style="width:5%">${d}</td>
  38 + </c:forEach>
  39 + </tr>
  40 + </c:forEach>
  41 + </table>
  42 +
  43 +</body>
  44 +<%--<script>
  45 + function showExcel(){
  46 + var map = $("#map").val();
  47 + console.log(map);
  48 + var table = new Array();
  49 + table.push('<table class="table table-condensed table table-bordered" style="width:20% ;height:auto;border:1px solid;" id="table"><tbody id="tbody">');
  50 + $.each(map, function (index, tr) {
  51 + table.push('<tr class="tr" style="height: 30px">');
  52 + $.each(tr, function (index,td) {
  53 + table.push('<td class="td" style="width:5%";height:auto;">'+td+'</td>');
  54 + });
  55 + table.push('</tr>');
  56 + });
  57 + //table.push('<input type="hidden" value='+filename+' id="filename" ></input>');
  58 + document.getElementById('table-body').innerHTML = table.join('');
  59 + }
  60 +</script>--%>
  61 +</html>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"
  3 + xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  4 + id="WebApp_ID" version="2.5">
  5 +
  6 + <display-name>cases</display-name>
  7 + <filter>
  8 + <filter-name>nutz</filter-name>
  9 + <filter-class>org.nutz.mvc.NutFilter</filter-class>
  10 + <init-param>
  11 + <param-name>modules</param-name>
  12 + <param-value>com.rivercloud.MainModule</param-value>
  13 + </init-param>
  14 + </filter>
  15 + <filter-mapping>
  16 + <filter-name>nutz</filter-name>
  17 + <url-pattern>/*</url-pattern>
  18 + <!-- ForwardView需要下面的配置 @Ok("->:/xxx/yyy/zzz") -->
  19 + <dispatcher>REQUEST</dispatcher>
  20 + <dispatcher>FORWARD</dispatcher>
  21 + <dispatcher>INCLUDE</dispatcher>
  22 + </filter-mapping>
  23 + <welcome-file-list>
  24 + <welcome-file>index.html</welcome-file>
  25 + <welcome-file>index.htm</welcome-file>
  26 + <welcome-file>index.jsp</welcome-file>
  27 + <welcome-file>default.html</welcome-file>
  28 + <welcome-file>default.htm</welcome-file>
  29 + <welcome-file>default.jsp</welcome-file>
  30 + </welcome-file-list>
  31 + <error-page>
  32 + <error-code>500</error-code>
  33 + <location>/WEB-INF/jsp/500.jsp</location>
  34 + </error-page>
  35 +</web-app>
不能预览此文件类型
不能预览此文件类型
不能预览此文件类型
  1 +/*!
  2 + * Bootstrap v3.3.5 (http://getbootstrap.com)
  3 + * Copyright 2011-2015 Twitter, Inc.
  4 + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  5 + */
  6 +.btn-default,
  7 +.btn-primary,
  8 +.btn-success,
  9 +.btn-info,
  10 +.btn-warning,
  11 +.btn-danger {
  12 + text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);
  13 + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
  14 + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
  15 +}
  16 +.btn-default:active,
  17 +.btn-primary:active,
  18 +.btn-success:active,
  19 +.btn-info:active,
  20 +.btn-warning:active,
  21 +.btn-danger:active,
  22 +.btn-default.active,
  23 +.btn-primary.active,
  24 +.btn-success.active,
  25 +.btn-info.active,
  26 +.btn-warning.active,
  27 +.btn-danger.active {
  28 + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
  29 + box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
  30 +}
  31 +.btn-default.disabled,
  32 +.btn-primary.disabled,
  33 +.btn-success.disabled,
  34 +.btn-info.disabled,
  35 +.btn-warning.disabled,
  36 +.btn-danger.disabled,
  37 +.btn-default[disabled],
  38 +.btn-primary[disabled],
  39 +.btn-success[disabled],
  40 +.btn-info[disabled],
  41 +.btn-warning[disabled],
  42 +.btn-danger[disabled],
  43 +fieldset[disabled] .btn-default,
  44 +fieldset[disabled] .btn-primary,
  45 +fieldset[disabled] .btn-success,
  46 +fieldset[disabled] .btn-info,
  47 +fieldset[disabled] .btn-warning,
  48 +fieldset[disabled] .btn-danger {
  49 + -webkit-box-shadow: none;
  50 + box-shadow: none;
  51 +}
  52 +.btn-default .badge,
  53 +.btn-primary .badge,
  54 +.btn-success .badge,
  55 +.btn-info .badge,
  56 +.btn-warning .badge,
  57 +.btn-danger .badge {
  58 + text-shadow: none;
  59 +}
  60 +.btn:active,
  61 +.btn.active {
  62 + background-image: none;
  63 +}
  64 +.btn-default {
  65 + text-shadow: 0 1px 0 #fff;
  66 + background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);
  67 + background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);
  68 + background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));
  69 + background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
  70 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
  71 + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  72 + background-repeat: repeat-x;
  73 + border-color: #dbdbdb;
  74 + border-color: #ccc;
  75 +}
  76 +.btn-default:hover,
  77 +.btn-default:focus {
  78 + background-color: #e0e0e0;
  79 + background-position: 0 -15px;
  80 +}
  81 +.btn-default:active,
  82 +.btn-default.active {
  83 + background-color: #e0e0e0;
  84 + border-color: #dbdbdb;
  85 +}
  86 +.btn-default.disabled,
  87 +.btn-default[disabled],
  88 +fieldset[disabled] .btn-default,
  89 +.btn-default.disabled:hover,
  90 +.btn-default[disabled]:hover,
  91 +fieldset[disabled] .btn-default:hover,
  92 +.btn-default.disabled:focus,
  93 +.btn-default[disabled]:focus,
  94 +fieldset[disabled] .btn-default:focus,
  95 +.btn-default.disabled.focus,
  96 +.btn-default[disabled].focus,
  97 +fieldset[disabled] .btn-default.focus,
  98 +.btn-default.disabled:active,
  99 +.btn-default[disabled]:active,
  100 +fieldset[disabled] .btn-default:active,
  101 +.btn-default.disabled.active,
  102 +.btn-default[disabled].active,
  103 +fieldset[disabled] .btn-default.active {
  104 + background-color: #e0e0e0;
  105 + background-image: none;
  106 +}
  107 +.btn-primary {
  108 + background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);
  109 + background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);
  110 + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88));
  111 + background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);
  112 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);
  113 + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  114 + background-repeat: repeat-x;
  115 + border-color: #245580;
  116 +}
  117 +.btn-primary:hover,
  118 +.btn-primary:focus {
  119 + background-color: #265a88;
  120 + background-position: 0 -15px;
  121 +}
  122 +.btn-primary:active,
  123 +.btn-primary.active {
  124 + background-color: #265a88;
  125 + border-color: #245580;
  126 +}
  127 +.btn-primary.disabled,
  128 +.btn-primary[disabled],
  129 +fieldset[disabled] .btn-primary,
  130 +.btn-primary.disabled:hover,
  131 +.btn-primary[disabled]:hover,
  132 +fieldset[disabled] .btn-primary:hover,
  133 +.btn-primary.disabled:focus,
  134 +.btn-primary[disabled]:focus,
  135 +fieldset[disabled] .btn-primary:focus,
  136 +.btn-primary.disabled.focus,
  137 +.btn-primary[disabled].focus,
  138 +fieldset[disabled] .btn-primary.focus,
  139 +.btn-primary.disabled:active,
  140 +.btn-primary[disabled]:active,
  141 +fieldset[disabled] .btn-primary:active,
  142 +.btn-primary.disabled.active,
  143 +.btn-primary[disabled].active,
  144 +fieldset[disabled] .btn-primary.active {
  145 + background-color: #265a88;
  146 + background-image: none;
  147 +}
  148 +.btn-success {
  149 + background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
  150 + background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);
  151 + background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));
  152 + background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
  153 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
  154 + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  155 + background-repeat: repeat-x;
  156 + border-color: #3e8f3e;
  157 +}
  158 +.btn-success:hover,
  159 +.btn-success:focus {
  160 + background-color: #419641;
  161 + background-position: 0 -15px;
  162 +}
  163 +.btn-success:active,
  164 +.btn-success.active {
  165 + background-color: #419641;
  166 + border-color: #3e8f3e;
  167 +}
  168 +.btn-success.disabled,
  169 +.btn-success[disabled],
  170 +fieldset[disabled] .btn-success,
  171 +.btn-success.disabled:hover,
  172 +.btn-success[disabled]:hover,
  173 +fieldset[disabled] .btn-success:hover,
  174 +.btn-success.disabled:focus,
  175 +.btn-success[disabled]:focus,
  176 +fieldset[disabled] .btn-success:focus,
  177 +.btn-success.disabled.focus,
  178 +.btn-success[disabled].focus,
  179 +fieldset[disabled] .btn-success.focus,
  180 +.btn-success.disabled:active,
  181 +.btn-success[disabled]:active,
  182 +fieldset[disabled] .btn-success:active,
  183 +.btn-success.disabled.active,
  184 +.btn-success[disabled].active,
  185 +fieldset[disabled] .btn-success.active {
  186 + background-color: #419641;
  187 + background-image: none;
  188 +}
  189 +.btn-info {
  190 + background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
  191 + background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
  192 + background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));
  193 + background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
  194 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
  195 + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  196 + background-repeat: repeat-x;
  197 + border-color: #28a4c9;
  198 +}
  199 +.btn-info:hover,
  200 +.btn-info:focus {
  201 + background-color: #2aabd2;
  202 + background-position: 0 -15px;
  203 +}
  204 +.btn-info:active,
  205 +.btn-info.active {
  206 + background-color: #2aabd2;
  207 + border-color: #28a4c9;
  208 +}
  209 +.btn-info.disabled,
  210 +.btn-info[disabled],
  211 +fieldset[disabled] .btn-info,
  212 +.btn-info.disabled:hover,
  213 +.btn-info[disabled]:hover,
  214 +fieldset[disabled] .btn-info:hover,
  215 +.btn-info.disabled:focus,
  216 +.btn-info[disabled]:focus,
  217 +fieldset[disabled] .btn-info:focus,
  218 +.btn-info.disabled.focus,
  219 +.btn-info[disabled].focus,
  220 +fieldset[disabled] .btn-info.focus,
  221 +.btn-info.disabled:active,
  222 +.btn-info[disabled]:active,
  223 +fieldset[disabled] .btn-info:active,
  224 +.btn-info.disabled.active,
  225 +.btn-info[disabled].active,
  226 +fieldset[disabled] .btn-info.active {
  227 + background-color: #2aabd2;
  228 + background-image: none;
  229 +}
  230 +.btn-warning {
  231 + background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
  232 + background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
  233 + background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));
  234 + background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
  235 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
  236 + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  237 + background-repeat: repeat-x;
  238 + border-color: #e38d13;
  239 +}
  240 +.btn-warning:hover,
  241 +.btn-warning:focus {
  242 + background-color: #eb9316;
  243 + background-position: 0 -15px;
  244 +}
  245 +.btn-warning:active,
  246 +.btn-warning.active {
  247 + background-color: #eb9316;
  248 + border-color: #e38d13;
  249 +}
  250 +.btn-warning.disabled,
  251 +.btn-warning[disabled],
  252 +fieldset[disabled] .btn-warning,
  253 +.btn-warning.disabled:hover,
  254 +.btn-warning[disabled]:hover,
  255 +fieldset[disabled] .btn-warning:hover,
  256 +.btn-warning.disabled:focus,
  257 +.btn-warning[disabled]:focus,
  258 +fieldset[disabled] .btn-warning:focus,
  259 +.btn-warning.disabled.focus,
  260 +.btn-warning[disabled].focus,
  261 +fieldset[disabled] .btn-warning.focus,
  262 +.btn-warning.disabled:active,
  263 +.btn-warning[disabled]:active,
  264 +fieldset[disabled] .btn-warning:active,
  265 +.btn-warning.disabled.active,
  266 +.btn-warning[disabled].active,
  267 +fieldset[disabled] .btn-warning.active {
  268 + background-color: #eb9316;
  269 + background-image: none;
  270 +}
  271 +.btn-danger {
  272 + background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
  273 + background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
  274 + background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));
  275 + background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
  276 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
  277 + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  278 + background-repeat: repeat-x;
  279 + border-color: #b92c28;
  280 +}
  281 +.btn-danger:hover,
  282 +.btn-danger:focus {
  283 + background-color: #c12e2a;
  284 + background-position: 0 -15px;
  285 +}
  286 +.btn-danger:active,
  287 +.btn-danger.active {
  288 + background-color: #c12e2a;
  289 + border-color: #b92c28;
  290 +}
  291 +.btn-danger.disabled,
  292 +.btn-danger[disabled],
  293 +fieldset[disabled] .btn-danger,
  294 +.btn-danger.disabled:hover,
  295 +.btn-danger[disabled]:hover,
  296 +fieldset[disabled] .btn-danger:hover,
  297 +.btn-danger.disabled:focus,
  298 +.btn-danger[disabled]:focus,
  299 +fieldset[disabled] .btn-danger:focus,
  300 +.btn-danger.disabled.focus,
  301 +.btn-danger[disabled].focus,
  302 +fieldset[disabled] .btn-danger.focus,
  303 +.btn-danger.disabled:active,
  304 +.btn-danger[disabled]:active,
  305 +fieldset[disabled] .btn-danger:active,
  306 +.btn-danger.disabled.active,
  307 +.btn-danger[disabled].active,
  308 +fieldset[disabled] .btn-danger.active {
  309 + background-color: #c12e2a;
  310 + background-image: none;
  311 +}
  312 +.thumbnail,
  313 +.img-thumbnail {
  314 + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
  315 + box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
  316 +}
  317 +.dropdown-menu > li > a:hover,
  318 +.dropdown-menu > li > a:focus {
  319 + background-color: #e8e8e8;
  320 + background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
  321 + background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
  322 + background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
  323 + background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
  324 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
  325 + background-repeat: repeat-x;
  326 +}
  327 +.dropdown-menu > .active > a,
  328 +.dropdown-menu > .active > a:hover,
  329 +.dropdown-menu > .active > a:focus {
  330 + background-color: #2e6da4;
  331 + background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
  332 + background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
  333 + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
  334 + background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
  335 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
  336 + background-repeat: repeat-x;
  337 +}
  338 +.navbar-default {
  339 + background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);
  340 + background-image: -o-linear-gradient(top, #fff 0%, #f8f8f8 100%);
  341 + background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8));
  342 + background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);
  343 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
  344 + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  345 + background-repeat: repeat-x;
  346 + border-radius: 4px;
  347 + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
  348 + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
  349 +}
  350 +.navbar-default .navbar-nav > .open > a,
  351 +.navbar-default .navbar-nav > .active > a {
  352 + background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
  353 + background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
  354 + background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));
  355 + background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);
  356 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);
  357 + background-repeat: repeat-x;
  358 + -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
  359 + box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
  360 +}
  361 +.navbar-brand,
  362 +.navbar-nav > li > a {
  363 + text-shadow: 0 1px 0 rgba(255, 255, 255, .25);
  364 +}
  365 +.navbar-inverse {
  366 + background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);
  367 + background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);
  368 + background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222));
  369 + background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);
  370 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
  371 + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  372 + background-repeat: repeat-x;
  373 + border-radius: 4px;
  374 +}
  375 +.navbar-inverse .navbar-nav > .open > a,
  376 +.navbar-inverse .navbar-nav > .active > a {
  377 + background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);
  378 + background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);
  379 + background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f));
  380 + background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);
  381 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);
  382 + background-repeat: repeat-x;
  383 + -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
  384 + box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
  385 +}
  386 +.navbar-inverse .navbar-brand,
  387 +.navbar-inverse .navbar-nav > li > a {
  388 + text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
  389 +}
  390 +.navbar-static-top,
  391 +.navbar-fixed-top,
  392 +.navbar-fixed-bottom {
  393 + border-radius: 0;
  394 +}
  395 +@media (max-width: 767px) {
  396 + .navbar .navbar-nav .open .dropdown-menu > .active > a,
  397 + .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,
  398 + .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
  399 + color: #fff;
  400 + background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
  401 + background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
  402 + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
  403 + background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
  404 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
  405 + background-repeat: repeat-x;
  406 + }
  407 +}
  408 +.alert {
  409 + text-shadow: 0 1px 0 rgba(255, 255, 255, .2);
  410 + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
  411 + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
  412 +}
  413 +.alert-success {
  414 + background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
  415 + background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
  416 + background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));
  417 + background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
  418 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
  419 + background-repeat: repeat-x;
  420 + border-color: #b2dba1;
  421 +}
  422 +.alert-info {
  423 + background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
  424 + background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
  425 + background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));
  426 + background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
  427 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
  428 + background-repeat: repeat-x;
  429 + border-color: #9acfea;
  430 +}
  431 +.alert-warning {
  432 + background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
  433 + background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
  434 + background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));
  435 + background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
  436 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
  437 + background-repeat: repeat-x;
  438 + border-color: #f5e79e;
  439 +}
  440 +.alert-danger {
  441 + background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
  442 + background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
  443 + background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));
  444 + background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
  445 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
  446 + background-repeat: repeat-x;
  447 + border-color: #dca7a7;
  448 +}
  449 +.progress {
  450 + background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
  451 + background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
  452 + background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));
  453 + background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
  454 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
  455 + background-repeat: repeat-x;
  456 +}
  457 +.progress-bar {
  458 + background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);
  459 + background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);
  460 + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090));
  461 + background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);
  462 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);
  463 + background-repeat: repeat-x;
  464 +}
  465 +.progress-bar-success {
  466 + background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
  467 + background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);
  468 + background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));
  469 + background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
  470 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
  471 + background-repeat: repeat-x;
  472 +}
  473 +.progress-bar-info {
  474 + background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
  475 + background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
  476 + background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));
  477 + background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
  478 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
  479 + background-repeat: repeat-x;
  480 +}
  481 +.progress-bar-warning {
  482 + background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
  483 + background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
  484 + background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));
  485 + background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
  486 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
  487 + background-repeat: repeat-x;
  488 +}
  489 +.progress-bar-danger {
  490 + background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
  491 + background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);
  492 + background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));
  493 + background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
  494 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
  495 + background-repeat: repeat-x;
  496 +}
  497 +.progress-bar-striped {
  498 + 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);
  499 + 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);
  500 + 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);
  501 +}
  502 +.list-group {
  503 + border-radius: 4px;
  504 + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
  505 + box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
  506 +}
  507 +.list-group-item.active,
  508 +.list-group-item.active:hover,
  509 +.list-group-item.active:focus {
  510 + text-shadow: 0 -1px 0 #286090;
  511 + background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);
  512 + background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);
  513 + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a));
  514 + background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);
  515 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);
  516 + background-repeat: repeat-x;
  517 + border-color: #2b669a;
  518 +}
  519 +.list-group-item.active .badge,
  520 +.list-group-item.active:hover .badge,
  521 +.list-group-item.active:focus .badge {
  522 + text-shadow: none;
  523 +}
  524 +.panel {
  525 + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
  526 + box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
  527 +}
  528 +.panel-default > .panel-heading {
  529 + background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
  530 + background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
  531 + background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
  532 + background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
  533 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
  534 + background-repeat: repeat-x;
  535 +}
  536 +.panel-primary > .panel-heading {
  537 + background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
  538 + background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
  539 + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
  540 + background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
  541 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
  542 + background-repeat: repeat-x;
  543 +}
  544 +.panel-success > .panel-heading {
  545 + background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
  546 + background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
  547 + background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));
  548 + background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
  549 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
  550 + background-repeat: repeat-x;
  551 +}
  552 +.panel-info > .panel-heading {
  553 + background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
  554 + background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
  555 + background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));
  556 + background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
  557 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
  558 + background-repeat: repeat-x;
  559 +}
  560 +.panel-warning > .panel-heading {
  561 + background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
  562 + background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
  563 + background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));
  564 + background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
  565 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
  566 + background-repeat: repeat-x;
  567 +}
  568 +.panel-danger > .panel-heading {
  569 + background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
  570 + background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
  571 + background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));
  572 + background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
  573 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
  574 + background-repeat: repeat-x;
  575 +}
  576 +.well {
  577 + background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
  578 + background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
  579 + background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));
  580 + background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
  581 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
  582 + background-repeat: repeat-x;
  583 + border-color: #dcdcdc;
  584 + -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
  585 + box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
  586 +}
  587 +/*# sourceMappingURL=bootstrap-theme.css.map */
  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":"AAAA;;;;GAIG;ACeH;;;;;;EAME,yCAAA;EC2CA,4FAAA;EACQ,oFAAA;CFvDT;ACgBC;;;;;;;;;;;;ECsCA,yDAAA;EACQ,iDAAA;CFxCT;ACMC;;;;;;;;;;;;;;;;;;ECiCA,yBAAA;EACQ,iBAAA;CFnBT;AC/BD;;;;;;EAuBI,kBAAA;CDgBH;ACyBC;;EAEE,uBAAA;CDvBH;AC4BD;EErEI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EAEA,uHAAA;ECnBF,oEAAA;EH4CA,4BAAA;EACA,sBAAA;EAuC2C,0BAAA;EAA2B,mBAAA;CDjBvE;ACpBC;;EAEE,0BAAA;EACA,6BAAA;CDsBH;ACnBC;;EAEE,0BAAA;EACA,sBAAA;CDqBH;ACfG;;;;;;;;;;;;;;;;;;EAME,0BAAA;EACA,uBAAA;CD6BL;ACbD;EEtEI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EAEA,uHAAA;ECnBF,oEAAA;EH4CA,4BAAA;EACA,sBAAA;CD8DD;AC5DC;;EAEE,0BAAA;EACA,6BAAA;CD8DH;AC3DC;;EAEE,0BAAA;EACA,sBAAA;CD6DH;ACvDG;;;;;;;;;;;;;;;;;;EAME,0BAAA;EACA,uBAAA;CDqEL;ACpDD;EEvEI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EAEA,uHAAA;ECnBF,oEAAA;EH4CA,4BAAA;EACA,sBAAA;CDsGD;ACpGC;;EAEE,0BAAA;EACA,6BAAA;CDsGH;ACnGC;;EAEE,0BAAA;EACA,sBAAA;CDqGH;AC/FG;;;;;;;;;;;;;;;;;;EAME,0BAAA;EACA,uBAAA;CD6GL;AC3FD;EExEI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EAEA,uHAAA;ECnBF,oEAAA;EH4CA,4BAAA;EACA,sBAAA;CD8ID;AC5IC;;EAEE,0BAAA;EACA,6BAAA;CD8IH;AC3IC;;EAEE,0BAAA;EACA,sBAAA;CD6IH;ACvIG;;;;;;;;;;;;;;;;;;EAME,0BAAA;EACA,uBAAA;CDqJL;AClID;EEzEI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EAEA,uHAAA;ECnBF,oEAAA;EH4CA,4BAAA;EACA,sBAAA;CDsLD;ACpLC;;EAEE,0BAAA;EACA,6BAAA;CDsLH;ACnLC;;EAEE,0BAAA;EACA,sBAAA;CDqLH;AC/KG;;;;;;;;;;;;;;;;;;EAME,0BAAA;EACA,uBAAA;CD6LL;ACzKD;EE1EI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EAEA,uHAAA;ECnBF,oEAAA;EH4CA,4BAAA;EACA,sBAAA;CD8ND;AC5NC;;EAEE,0BAAA;EACA,6BAAA;CD8NH;AC3NC;;EAEE,0BAAA;EACA,sBAAA;CD6NH;ACvNG;;;;;;;;;;;;;;;;;;EAME,0BAAA;EACA,uBAAA;CDqOL;AC1MD;;EClCE,mDAAA;EACQ,2CAAA;CFgPT;ACrMD;;EE3FI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;EF0FF,0BAAA;CD2MD;ACzMD;;;EEhGI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;EFgGF,0BAAA;CD+MD;ACtMD;EE7GI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;ECnBF,oEAAA;EH+HA,mBAAA;ECjEA,4FAAA;EACQ,oFAAA;CF8QT;ACjND;;EE7GI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;ED2CF,yDAAA;EACQ,iDAAA;CFwRT;AC9MD;;EAEE,+CAAA;CDgND;AC5MD;EEhII,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;ECnBF,oEAAA;EHkJA,mBAAA;CDkND;ACrND;;EEhII,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;ED2CF,wDAAA;EACQ,gDAAA;CF+ST;AC/ND;;EAYI,0CAAA;CDuNH;AClND;;;EAGE,iBAAA;CDoND;AC/LD;EAfI;;;IAGE,YAAA;IE7JF,yEAAA;IACA,oEAAA;IACA,8FAAA;IAAA,uEAAA;IACA,4BAAA;IACA,uHAAA;GH+WD;CACF;AC3MD;EACE,8CAAA;EC3HA,2FAAA;EACQ,mFAAA;CFyUT;ACnMD;EEtLI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;EF8KF,sBAAA;CD+MD;AC1MD;EEvLI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;EF8KF,sBAAA;CDuND;ACjND;EExLI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;EF8KF,sBAAA;CD+ND;ACxND;EEzLI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;EF8KF,sBAAA;CDuOD;ACxND;EEjMI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CH4ZH;ACrND;EE3MI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CHmaH;AC3ND;EE5MI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CH0aH;ACjOD;EE7MI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CHibH;ACvOD;EE9MI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CHwbH;AC7OD;EE/MI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CH+bH;AChPD;EElLI,8MAAA;EACA,yMAAA;EACA,sMAAA;CHqaH;AC5OD;EACE,mBAAA;EC9KA,mDAAA;EACQ,2CAAA;CF6ZT;AC7OD;;;EAGE,8BAAA;EEnOE,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;EFiOF,sBAAA;CDmPD;ACxPD;;;EAQI,kBAAA;CDqPH;AC3OD;ECnME,kDAAA;EACQ,0CAAA;CFibT;ACrOD;EE5PI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CHoeH;AC3OD;EE7PI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CH2eH;ACjPD;EE9PI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CHkfH;ACvPD;EE/PI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CHyfH;AC7PD;EEhQI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CHggBH;ACnQD;EEjQI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CHugBH;ACnQD;EExQI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;EFsQF,sBAAA;EC3NA,0FAAA;EACQ,kFAAA;CFqeT","file":"bootstrap-theme.css","sourcesContent":["/*!\n * Bootstrap v3.3.5 (http://getbootstrap.com)\n * Copyright 2011-2015 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, #ffffff 0%, #e0e0e0 100%);\n background-image: -o-linear-gradient(top, #ffffff 0%, #e0e0e0 100%);\n background-image: linear-gradient(to bottom, #ffffff 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 background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\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 background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\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 background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);\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 background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);\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%, #222222 100%);\n background-image: -o-linear-gradient(top, #3c3c3c 0%, #222222 100%);\n background-image: linear-gradient(to bottom, #3c3c3c 0%, #222222 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);\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 background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);\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 background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\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 background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);\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 background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);\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 background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);\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 background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);\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 background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);\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 background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);\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 background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);\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 background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);\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 background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);\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 background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);\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 background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);\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 background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\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 background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\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 background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);\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 background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);\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 background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);\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 background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);\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 background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);\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.3.5 (http://getbootstrap.com)\n * Copyright 2011-2015 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 { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }\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","// 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 will be 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 word-wrap: break-word;\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\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","// Gradients\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 background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\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 background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-repeat: repeat-x;\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 }\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 background-repeat: no-repeat;\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 }\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 background-repeat: no-repeat;\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 }\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"]}
  1 +/*!
  2 + * Bootstrap v3.3.5 (http://getbootstrap.com)
  3 + * Copyright 2011-2015 Twitter, Inc.
  4 + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  5 + */.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{text-shadow:0 1px 0 #fff;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;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-color:#e8e8e8;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}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#2e6da4;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}.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);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;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);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;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)}
此 diff 太大无法显示。
此 diff 太大无法显示。
此 diff 太大无法显示。
  1 +/*!
  2 + * @copyright Copyright &copy; Kartik Visweswaran, Krajee.com, 2014 - 2015
  3 + * @package bootstrap-fileinput
  4 + * @version 4.1.8
  5 + *
  6 + * File input styling for Bootstrap 3.0
  7 + * Built for Yii Framework 2.0
  8 + * Author: Kartik Visweswaran
  9 + * Year: 2015
  10 + * For more Yii related demos visit http://demos.krajee.com
  11 + */
  12 +.file-input {
  13 + overflow-x: auto;
  14 +}
  15 +
  16 +.file-loading {
  17 + top: 0;
  18 + right: 0;
  19 + width: 25px;
  20 + height: 25px;
  21 + font-size: 999px;
  22 + text-align: right;
  23 + color: #fff;
  24 + background: transparent url('../img/loading.gif') top left no-repeat;
  25 + border: none;
  26 +}
  27 +
  28 +.btn-file {
  29 + position: relative;
  30 + overflow: hidden;
  31 +}
  32 +
  33 +.btn-file input[type=file] {
  34 + position: absolute;
  35 + top: 0;
  36 + right: 0;
  37 + min-width: 100%;
  38 + min-height: 100%;
  39 + text-align: right;
  40 + opacity: 0;
  41 + filter: alpha(opacity=0);
  42 + opacity: 0;
  43 + background: none repeat scroll 0 0 transparent;
  44 + cursor: inherit;
  45 + display: block;
  46 +}
  47 +
  48 +.file-caption .glyphicon {
  49 + display: inline-block;
  50 + min-width: 18px;
  51 + float: left;
  52 + margin-top: 2px;
  53 +}
  54 +
  55 +.file-caption-name {
  56 + display: inline-block;
  57 + overflow: hidden;
  58 + max-height: 20px;
  59 + padding-right: 10px;
  60 + word-break: break-all;
  61 +}
  62 +
  63 +.file-caption-ellipsis {
  64 + position: absolute;
  65 + right: 10px;
  66 + margin-top: -6px;
  67 + font-size: 1.2em;
  68 + display: none;
  69 + font-weight: bold;
  70 + cursor: default;
  71 +}
  72 +
  73 +.kv-has-ellipsis .file-caption-ellipsis {
  74 + display: inline;
  75 +}
  76 +
  77 +.kv-has-ellipsis {
  78 + padding-right: 17px;
  79 +}
  80 +
  81 +.kv-search-container .kv-search-clear {
  82 + position: absolute;
  83 + padding: 10px;
  84 + right: 0px;
  85 +}
  86 +
  87 +.file-error-message {
  88 + background-color: #f2dede;
  89 + color: #a94442;
  90 + text-align: center;
  91 + border-radius: 5px;
  92 + padding: 5px;
  93 +}
  94 +
  95 +.file-error-message pre, .file-error-message ul {
  96 + margin: 5px 0;
  97 + text-align: left;
  98 +}
  99 +
  100 +.file-caption-disabled {
  101 + background-color: #EEEEEE;
  102 + cursor: not-allowed;
  103 + opacity: 1;
  104 +}
  105 +
  106 +.file-input .btn[disabled], .file-input .btn .disabled {
  107 + cursor: not-allowed;
  108 +}
  109 +
  110 +.file-preview {
  111 + border-radius: 5px;
  112 + border: 1px solid #ddd;
  113 + padding: 5px;
  114 + width: 100%;
  115 + margin-bottom: 5px;
  116 +}
  117 +
  118 +.file-preview-frame {
  119 + display: table;
  120 + margin: 8px;
  121 + height: 160px;
  122 + border: 1px solid #ddd;
  123 + box-shadow: 1px 1px 5px 0px #a2958a;
  124 + padding: 6px;
  125 + float: left;
  126 + text-align: center;
  127 + vertical-align: middle;
  128 +}
  129 +
  130 +.file-preview-frame:hover {
  131 + box-shadow: 3px 3px 5px 0px #333;
  132 +}
  133 +
  134 +.file-preview-image {
  135 + height: 160px;
  136 + vertical-align: text-center;
  137 +}
  138 +
  139 +.file-preview-text {
  140 + width: 160px;
  141 + color: #428bca;
  142 + font-size: 11px;
  143 + text-align: center;
  144 +}
  145 +
  146 +.file-preview-other {
  147 + padding-top: 48px;
  148 + text-align: center;
  149 +}
  150 +
  151 +.file-preview-other i {
  152 + font-size: 2.4em;
  153 +}
  154 +
  155 +.file-other-error {
  156 + width: 100%;
  157 + padding-top: 30px;
  158 + text-align: right
  159 +}
  160 +
  161 +.file-input-new .file-preview, .file-input-new .close, .file-input-new .glyphicon-file,
  162 +.file-input-new .fileinput-remove-button, .file-input-new .fileinput-upload-button,
  163 +.file-input-ajax-new .fileinput-remove-button, .file-input-ajax-new .fileinput-upload-button {
  164 + display: none;
  165 +}
  166 +
  167 +.loading {
  168 + background: transparent url('../img/loading.gif') no-repeat scroll center center content-box !important;
  169 +}
  170 +
  171 +.wrap-indicator {
  172 + font-weight: bold;
  173 + color: #245269;
  174 + cursor: pointer;
  175 +}
  176 +
  177 +.file-actions {
  178 + text-align: left;
  179 +}
  180 +
  181 +.file-footer-buttons {
  182 + float: right;
  183 +}
  184 +
  185 +.file-thumbnail-footer .file-caption-name {
  186 + padding-top: 4px;
  187 + font-size: 11px;
  188 + color: #777;
  189 +}
  190 +
  191 +.file-upload-indicator {
  192 + padding-top: 2px;
  193 + cursor: default;
  194 +}
  195 +
  196 +.file-upload-indicator:hover {
  197 + font-size: 1.2em;
  198 + font-weight: bold;
  199 + padding-top: 0;
  200 +}
  201 +
  202 +.file-drop-zone {
  203 + border: 1px dashed #aaa;
  204 + border-radius: 4px;
  205 + height: 100%;
  206 + text-align: center;
  207 + vertical-align: middle;
  208 + margin: 12px 15px 12px 12px;
  209 + padding: 5px;
  210 +}
  211 +
  212 +.file-drop-zone-title {
  213 + color: #aaa;
  214 + font-size: 40px;
  215 + padding: 85px 10px;
  216 +}
  217 +
  218 +.highlighted {
  219 + border: 2px dashed #999 !important;
  220 + background-color: #f0f0f0;
  221 +}
  222 +
  223 +.file-uploading {
  224 + background-image: url('../img/loading-sm.gif');
  225 + background-position: center bottom 10px;
  226 + background-repeat: no-repeat;
  227 + opacity: 0.6;
  228 +}
  229 +
  230 +.file-icon-large {
  231 + font-size: 1.2em;
  232 +}
  1 +/*!
  2 + * @copyright Copyright &copy; Kartik Visweswaran, Krajee.com, 2014 - 2015
  3 + * @package bootstrap-fileinput
  4 + * @version 4.1.8
  5 + *
  6 + * File input styling for Bootstrap 3.0
  7 + * Built for Yii Framework 2.0
  8 + * Author: Kartik Visweswaran
  9 + * Year: 2015
  10 + * For more Yii related demos visit http://demos.krajee.com
  11 + */.file-input{overflow-x:auto}.file-loading{top:0;right:0;width:25px;height:25px;font-size:999px;text-align:right;color:#fff;background:transparent url(../img/loading.gif) top left no-repeat;border:none}.btn-file{position:relative;overflow:hidden}.btn-file input[type=file]{position:absolute;top:0;right:0;min-width:100%;min-height:100%;text-align:right;filter:alpha(opacity=0);opacity:0;background:none repeat scroll 0 0 transparent;cursor:inherit;display:block}.file-caption .glyphicon{display:inline-block;min-width:18px;float:left;margin-top:2px}.file-caption-name{display:inline-block;overflow:hidden;max-height:20px;padding-right:10px;word-break:break-all}.file-caption-ellipsis{position:absolute;right:10px;margin-top:-6px;font-size:1.2em;display:none;font-weight:700;cursor:default}.kv-has-ellipsis .file-caption-ellipsis{display:inline}.kv-has-ellipsis{padding-right:17px}.kv-search-container .kv-search-clear{position:absolute;padding:10px;right:0}.file-error-message{background-color:#f2dede;color:#a94442;text-align:center;border-radius:5px;padding:5px}.file-error-message pre,.file-error-message ul{text-align:left;margin:5px 0}.file-caption-disabled{background-color:#EEE;cursor:not-allowed;opacity:1}.file-input .btn .disabled,.file-input .btn[disabled]{cursor:not-allowed}.file-preview{border-radius:5px;border:1px solid #ddd;padding:5px;width:100%;margin-bottom:5px}.file-preview-frame{display:table;margin:8px;height:160px;border:1px solid #ddd;box-shadow:1px 1px 5px 0 #a2958a;padding:6px;float:left;text-align:center;vertical-align:middle}.file-preview-frame:hover{box-shadow:3px 3px 5px 0 #333}.file-preview-image{height:160px;vertical-align:text-center}.file-preview-text{width:160px;color:#428bca;font-size:11px;text-align:center}.file-preview-other{padding-top:48px;text-align:center}.file-preview-other i{font-size:2.4em}.file-other-error{width:100%;padding-top:30px;text-align:right}.file-input-ajax-new .fileinput-remove-button,.file-input-ajax-new .fileinput-upload-button,.file-input-new .close,.file-input-new .file-preview,.file-input-new .fileinput-remove-button,.file-input-new .fileinput-upload-button,.file-input-new .glyphicon-file{display:none}.loading{background:transparent url(../img/loading.gif) no-repeat scroll center center content-box!important}.wrap-indicator{font-weight:700;color:#245269;cursor:pointer}.file-actions{text-align:left}.file-footer-buttons{float:right}.file-thumbnail-footer .file-caption-name{padding-top:4px;font-size:11px;color:#777}.file-upload-indicator{padding-top:2px;cursor:default}.file-upload-indicator:hover{font-size:1.2em;font-weight:700;padding-top:0}.file-drop-zone{border:1px dashed #aaa;border-radius:4px;height:100%;text-align:center;vertical-align:middle;margin:12px 15px 12px 12px;padding:5px}.file-drop-zone-title{color:#aaa;font-size:40px;padding:85px 10px}.highlighted{border:2px dashed #999!important;background-color:#f0f0f0}.file-uploading{background-image:url(../img/loading-sm.gif);background-position:center bottom 10px;background-repeat:no-repeat;opacity:.6}.file-icon-large{font-size:1.2em}
  1 +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
  2 +<%
  3 +String path = request.getContextPath();
  4 +String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  5 +%>
  6 +
  7 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  8 +<html>
  9 + <head>
  10 + <base href="<%=basePath%>">
  11 + <title>首页</title>
  12 + <meta http-equiv="pragma" content="no-cache">
  13 + <meta http-equiv="cache-control" content="no-cache">
  14 + <meta http-equiv="expires" content="0">
  15 + <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  16 + <meta http-equiv="description" content="This is my page">
  17 + </head>
  18 +
  19 + <body>
  20 + <h1><a href="${base}/excel/list"style="text-decoration:none;">文件列表(可编辑)</a></h1>
  21 + <h1><a href="${base}/excel/scan" style="text-decoration:none;" >文件列表(只读)</a></h1>
  22 + <h1> <a href="${base}/upload.jsp" style="text-decoration:none;" >导入Excel文件</a></h1>
  23 + </body>
  24 +</html>