From 9fe0b8b1a97de81896551258670e1c67ecbd526a Mon Sep 17 00:00:00 2001 From: fanzixia Date: Fri, 10 Dec 2021 12:11:35 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E8=8C=83=E6=B1=9F=E6=B5=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- springboot-1903-fanjianghao/pom.xml | 94 + .../Springboot1903FanjianghaoApplication.java | 13 + .../springboot1903fanjianghao/bean/User.java | 113 + .../controller/FormController.java | 60 + .../controller/UserController.java | 83 + .../controller/indexController.java | 70 + .../mapper/UserMapper.java | 63 + .../service/UserService.java | 40 + .../service/impl/UserServiceImpl.java | 118 + .../src/main/resources/application.properties | 1 + .../src/main/resources/application.yaml | 11 + .../resources/mybatis/mapper/UserMapper.xml | 27 + .../main/resources/mybatis/mybatis-config.xml | 7 + .../static/assets/css/fontawesome-all.min.css | 5 + .../main/resources/static/assets/css/main.css | 1657 +++ .../resources/static/assets/css/noscript.css | 37 + .../static/assets/js/breakpoints.min.js | 2 + .../resources/static/assets/js/browser.min.js | 2 + .../resources/static/assets/js/jquery.min.js | 2 + .../main/resources/static/assets/js/main.js | 401 + .../main/resources/static/assets/js/util.js | 587 ++ .../static/assets/sass/base/_page.scss | 42 + .../static/assets/sass/base/_reset.scss | 76 + .../static/assets/sass/base/_typography.scss | 183 + .../assets/sass/components/_actions.scss | 101 + .../static/assets/sass/components/_box.scss | 26 + .../assets/sass/components/_button.scss | 84 + .../static/assets/sass/components/_form.scss | 252 + .../static/assets/sass/components/_icon.scss | 33 + .../static/assets/sass/components/_icons.scss | 40 + .../static/assets/sass/components/_image.scss | 87 + .../static/assets/sass/components/_list.scss | 56 + .../static/assets/sass/components/_table.scss | 81 + .../static/assets/sass/layout/_bg.scss | 68 + .../static/assets/sass/layout/_footer.scss | 37 + .../static/assets/sass/layout/_header.scss | 261 + .../static/assets/sass/layout/_main.scss | 102 + .../static/assets/sass/layout/_wrapper.scss | 36 + .../static/assets/sass/libs/_breakpoints.scss | 223 + .../static/assets/sass/libs/_functions.scss | 90 + .../static/assets/sass/libs/_mixins.scss | 78 + .../static/assets/sass/libs/_vars.scss | 43 + .../static/assets/sass/libs/_vendor.scss | 376 + .../resources/static/assets/sass/main.scss | 50 + .../static/assets/sass/noscript.scss | 50 + .../static/assets/webfonts/fa-brands-400.eot | Bin 0 -> 129352 bytes .../static/assets/webfonts/fa-brands-400.svg | 3442 ++++++ .../static/assets/webfonts/fa-brands-400.ttf | Bin 0 -> 129048 bytes .../static/assets/webfonts/fa-brands-400.woff | Bin 0 -> 87352 bytes .../assets/webfonts/fa-brands-400.woff2 | Bin 0 -> 74508 bytes .../static/assets/webfonts/fa-regular-400.eot | Bin 0 -> 34388 bytes .../static/assets/webfonts/fa-regular-400.svg | 803 ++ .../static/assets/webfonts/fa-regular-400.ttf | Bin 0 -> 34092 bytes .../assets/webfonts/fa-regular-400.woff | Bin 0 -> 16804 bytes .../assets/webfonts/fa-regular-400.woff2 | Bin 0 -> 13580 bytes .../static/assets/webfonts/fa-solid-900.eot | Bin 0 -> 192116 bytes .../static/assets/webfonts/fa-solid-900.svg | 4649 +++++++++ .../static/assets/webfonts/fa-solid-900.ttf | Bin 0 -> 191832 bytes .../static/assets/webfonts/fa-solid-900.woff | Bin 0 -> 98020 bytes .../static/assets/webfonts/fa-solid-900.woff2 | Bin 0 -> 75440 bytes .../src/main/resources/static/css/demo.css | 50 + .../static/css/font-awesome.4.7.0.css | 3 + .../src/main/resources/static/css/style.css | 446 + .../src/main/resources/static/images/bg.jpg | Bin 0 -> 86682 bytes .../main/resources/static/images/default.jpg | Bin 0 -> 36824 bytes .../main/resources/static/images/overlay.png | Bin 0 -> 4385 bytes .../main/resources/static/images/pic01.jpg | Bin 0 -> 10064 bytes .../main/resources/static/images/pic02.jpg | Bin 0 -> 8904 bytes .../main/resources/static/images/pic03.jpg | Bin 0 -> 9697 bytes .../static/js/canva_moving_effect.js | 235 + .../main/resources/static/js/jquery-1.10.2.js | 3 + .../main/resources/static/js/jquery-1.8.0.js | 9229 +++++++++++++++++ .../main/resources/static/js/jquery.min.js | 4 + .../resources/static/js/jquery.qrcode.min.js | 28 + .../src/main/resources/static/js/protect.js | 20 + .../src/main/resources/templates/index.html | 12 + .../main/resources/templates/user/index.html | 359 + .../main/resources/templates/user/login.html | 121 + .../resources/templates/user/register.html | 186 + .../resources/templates/user/userHome.html | 37 + 80 files changed, 25495 insertions(+) create mode 100644 springboot-1903-fanjianghao/pom.xml create mode 100644 springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/Springboot1903FanjianghaoApplication.java create mode 100644 springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/bean/User.java create mode 100644 springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/controller/FormController.java create mode 100644 springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/controller/UserController.java create mode 100644 springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/controller/indexController.java create mode 100644 springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/mapper/UserMapper.java create mode 100644 springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/service/UserService.java create mode 100644 springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/service/impl/UserServiceImpl.java create mode 100644 springboot-1903-fanjianghao/src/main/resources/application.properties create mode 100644 springboot-1903-fanjianghao/src/main/resources/application.yaml create mode 100644 springboot-1903-fanjianghao/src/main/resources/mybatis/mapper/UserMapper.xml create mode 100644 springboot-1903-fanjianghao/src/main/resources/mybatis/mybatis-config.xml create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/css/fontawesome-all.min.css create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/css/main.css create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/css/noscript.css create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/js/breakpoints.min.js create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/js/browser.min.js create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/js/jquery.min.js create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/js/main.js create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/js/util.js create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/sass/base/_page.scss create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/sass/base/_reset.scss create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/sass/base/_typography.scss create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_actions.scss create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_box.scss create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_button.scss create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_form.scss create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_icon.scss create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_icons.scss create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_image.scss create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_list.scss create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_table.scss create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/sass/layout/_bg.scss create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/sass/layout/_footer.scss create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/sass/layout/_header.scss create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/sass/layout/_main.scss create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/sass/layout/_wrapper.scss create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/sass/libs/_breakpoints.scss create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/sass/libs/_functions.scss create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/sass/libs/_mixins.scss create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/sass/libs/_vars.scss create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/sass/libs/_vendor.scss create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/sass/main.scss create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/sass/noscript.scss create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-brands-400.eot create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-brands-400.svg create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-brands-400.ttf create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-brands-400.woff create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-brands-400.woff2 create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-regular-400.eot create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-regular-400.svg create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-regular-400.ttf create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-regular-400.woff create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-regular-400.woff2 create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-solid-900.eot create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-solid-900.svg create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-solid-900.ttf create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-solid-900.woff create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-solid-900.woff2 create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/css/demo.css create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/css/font-awesome.4.7.0.css create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/css/style.css create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/images/bg.jpg create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/images/default.jpg create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/images/overlay.png create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/images/pic01.jpg create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/images/pic02.jpg create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/images/pic03.jpg create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/js/canva_moving_effect.js create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/js/jquery-1.10.2.js create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/js/jquery-1.8.0.js create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/js/jquery.min.js create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/js/jquery.qrcode.min.js create mode 100644 springboot-1903-fanjianghao/src/main/resources/static/js/protect.js create mode 100644 springboot-1903-fanjianghao/src/main/resources/templates/index.html create mode 100644 springboot-1903-fanjianghao/src/main/resources/templates/user/index.html create mode 100644 springboot-1903-fanjianghao/src/main/resources/templates/user/login.html create mode 100644 springboot-1903-fanjianghao/src/main/resources/templates/user/register.html create mode 100644 springboot-1903-fanjianghao/src/main/resources/templates/user/userHome.html diff --git a/springboot-1903-fanjianghao/pom.xml b/springboot-1903-fanjianghao/pom.xml new file mode 100644 index 00000000..5edf109f --- /dev/null +++ b/springboot-1903-fanjianghao/pom.xml @@ -0,0 +1,94 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.6.1 + + + com.fan + springboot-1903-fanjianghao + 0.0.1-SNAPSHOT + springboot-1903-fanjianghao + Demo project for Spring Boot + + 1.8 + + + + org.springframework.boot + spring-boot-starter-thymeleaf + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-starter-data-jdbc + + + + mysql + mysql-connector-java + 5.1.47 + + + + + com.alibaba + druid-spring-boot-starter + 1.1.17 + + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 2.1.4 + + + + org.springframework.boot + spring-boot-devtools + runtime + true + + + org.springframework.boot + spring-boot-configuration-processor + true + + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + diff --git a/springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/Springboot1903FanjianghaoApplication.java b/springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/Springboot1903FanjianghaoApplication.java new file mode 100644 index 00000000..38d1fe32 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/Springboot1903FanjianghaoApplication.java @@ -0,0 +1,13 @@ +package com.fan.springboot1903fanjianghao; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class Springboot1903FanjianghaoApplication { + + public static void main(String[] args) { + SpringApplication.run(Springboot1903FanjianghaoApplication.class, args); + } + +} diff --git a/springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/bean/User.java b/springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/bean/User.java new file mode 100644 index 00000000..d08ac9c1 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/bean/User.java @@ -0,0 +1,113 @@ +package com.fan.springboot1903fanjianghao.bean; + +/** + * ZixiaFan + * 2021/11/15 14:04 + */ +public class User { + private Integer id; + private String username; + private String password; + private String createtime; + private String errortime; + private Integer errorcount; + + private int stateCode;//状态码 + private String state;//状态 + + public User() { + } + + public User(Integer id, String username, String password) { + this.id = id; + this.username = username; + this.password = password; + } + + public User(Integer id, String username, String password, String createtime, String errortime, Integer errorcount) { + this.id = id; + this.username = username; + this.password = password; + this.createtime = createtime; + this.errortime = errortime; + this.errorcount = errorcount; + } + + public String getUsername() { + return username; + } + + public void setUsername(String userName) { + this.username = userName; + } + + public String getPassword() { + return password; + } + + public void setPassword(String passWord) { + this.password = passWord; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getCreatetime() { + return createtime; + } + + public void setCreatetime(String createtime) { + this.createtime = createtime; + } + + public String getErrortime() { + return errortime; + } + + public void setErrortime(String errortime) { + this.errortime = errortime; + } + + public Integer getErrorcount() { + return errorcount; + } + + public void setErrorcount(Integer errorcount) { + this.errorcount = errorcount; + } + + public int getStateCode() { + return stateCode; + } + + public void setStateCode(int stateCode) { + this.stateCode = stateCode; + } + + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } + + @Override + public String toString() { + return "User{" + + "id=" + id + + ", username='" + username + '\'' + + ", password='" + password + '\'' + + ", createtime='" + createtime + '\'' + + ", errortime='" + errortime + '\'' + + ", errorcount=" + errorcount + + ", stateCode=" + stateCode + + ", state='" + state + '\'' + + '}'; + } +} diff --git a/springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/controller/FormController.java b/springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/controller/FormController.java new file mode 100644 index 00000000..44b6aaca --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/controller/FormController.java @@ -0,0 +1,60 @@ +package com.fan.springboot1903fanjianghao.controller; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RequestPart; +import org.springframework.web.multipart.MultipartFile; + +import java.io.File; +import java.io.IOException; + +/** + * ZixiaFan + * 2021/11/16 13:50 + * + * 文件上传 模板 + */ +@Slf4j +@Controller +public class FormController { + + @GetMapping("form_layouts") + public String form_layouts(){ + return "form/form_layouts"; + } + + /** + * MultipartFile自动封装传过来的文件 + * @param email + * @param username + * @param headerImg + * @param photos + * @return + */ + @PostMapping("upload") + public String upload(@RequestParam("email") String email, + @RequestParam("username") String username, + @RequestPart("headerImg") MultipartFile headerImg, + @RequestPart("photos") MultipartFile[] photos) throws IOException { + log.info("上传的信息 email={},username=={},headerImg={},photos{}", + email,username,headerImg.getSize(),photos.length); + + if(!headerImg.isEmpty()){ + //保存到服务器 + String originalFilename = headerImg.getOriginalFilename(); + headerImg.transferTo(new File("F:\\imgs\\"+originalFilename)); + } + if (photos.length>0){ + for (MultipartFile photo : photos) { + if (!photo.isEmpty()){ + String originalFilename = photo.getOriginalFilename(); + photo.transferTo(new File("F:\\imgs\\"+originalFilename)); + } + } + } + return "main"; + } +} diff --git a/springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/controller/UserController.java b/springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/controller/UserController.java new file mode 100644 index 00000000..8fab4370 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/controller/UserController.java @@ -0,0 +1,83 @@ +package com.fan.springboot1903fanjianghao.controller; + +import com.fan.springboot1903fanjianghao.bean.User; +import com.fan.springboot1903fanjianghao.service.impl.UserServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.servlet.http.HttpSession; +import java.util.List; + +/** + * ZixiaFan + * 2021/11/23 14:03 + */ +@Controller +public class UserController { + + @Autowired + UserServiceImpl userService; + + /** + * 登录 + * @param username + * @param password + * @return + */ + @ResponseBody + @PostMapping("/login.do") + public User login(@RequestParam("username") String username, + @RequestParam("password") String password , + HttpSession session){ + User user= new User(); + user.setPassword(password); + user.setUsername(username); + User login = userService.login(user); + if (login.getStateCode()==0){ + session.setAttribute("user",login); + } + return login; + } + + /** + * 注册 + * @param username + * @param password + * @return + */ + @ResponseBody + @PostMapping("/register.do") + public int register(@RequestParam("username") String username, @RequestParam("password") String password){ + User user= new User(); + user.setPassword(password); + user.setUsername(username); + System.out.println(user); + int res = userService.register(user); + return res; + } + + /** + * 验证用户名是否唯一 + * @return 0 不唯一 1 唯一 + */ + @ResponseBody + @PostMapping("/UniqueUsername.do") + public int UniqueUsername(@RequestParam("username") String username){ + int res= userService.UniqueUsername(username); + return res; + } + + /** + * 所有密保问题 + * @param flag + * @return + */ + @ResponseBody + @PostMapping("queryQuestion") + public List queryQuestion(@RequestParam("flag") String flag){ + return userService.queryQuestion(flag); + } +} diff --git a/springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/controller/indexController.java b/springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/controller/indexController.java new file mode 100644 index 00000000..980701bd --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/controller/indexController.java @@ -0,0 +1,70 @@ +package com.fan.springboot1903fanjianghao.controller; + +import com.fan.springboot1903fanjianghao.service.impl.UserServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; + +/** + * ZixiaFan + * 2021/11/15 12:46 + */ +@Controller +public class indexController { + + @Autowired + UserServiceImpl userService; + + /** + * 欢迎页面 + * @return + */ + @GetMapping(value = {"/","/index"}) + public String loginPage(){ + return "index"; + } + + /** + * 去登录页面 + * @return + */ + @GetMapping(value = {"/toLogin","login.html"}) + public String toLogin(){ + return "user/login"; + } + + /** + * 去主页面 + * @return + */ + @GetMapping(value = {"main.html","main"}) + public String toMain(){ + return "index"; + } + + /** + * 去注册页面 + * @return + */ + @GetMapping(value = {"register.html","register"}) + public String toRegister(){ + return "user/register"; + } + + /** + * 去用户主页 + * @return + */ + @GetMapping(value = {"toUserHome"}) + public String toUserHome(){ + return "user/userHome"; + } + + /** + * 去主页模板 + */ + @GetMapping(value = {"/toMode"}) + public String toMode(){ + return "user/index"; + } +} diff --git a/springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/mapper/UserMapper.java b/springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/mapper/UserMapper.java new file mode 100644 index 00000000..b1869326 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/mapper/UserMapper.java @@ -0,0 +1,63 @@ +package com.fan.springboot1903fanjianghao.mapper; + +import com.fan.springboot1903fanjianghao.bean.User; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * ZixiaFan + * 2021/11/21 18:45 + */ +@Mapper +public interface UserMapper { + + /** + * 验证用户名密码是否对应 + * @param user + * @return + */ + public User login(User user); + + /** + * 查询用户名是否存在 + * @param username + * @return + */ + public User queryUsernameExists(String username); + + /** + * 检查错误天数 + * @param user=errortime是当前时间,比较数据库存的错误时间 + * @return 错误天数 + */ + public Integer queryErrorDay(User user); + + /** + * 更改错误次数 + * @param user=存的错误次数 + * @return + */ + public int updateErrorCount(User user); + + /** + * 更改错误时间并且使count+1 + * @param user + * @return + */ + public int updateCountTime(User user); + + /** + * 注册 + * @param user + * @return 0 失败 1 成功 + */ + int register(User user); + + /** + * 查找字典里面的密保问题 + * @param flag + * @return + */ + public List queryQuestion(String flag); +} diff --git a/springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/service/UserService.java b/springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/service/UserService.java new file mode 100644 index 00000000..34688dd5 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/service/UserService.java @@ -0,0 +1,40 @@ +package com.fan.springboot1903fanjianghao.service; + + +import com.fan.springboot1903fanjianghao.bean.User; + +import java.util.List; + +/** + * ZixiaFan + * 2021/11/22 16:36 + */ +public interface UserService { + /** + * 登录 + * @param user + * @return + */ + public User login(User user); + + /** + * 注册 + * @param user + * @return + */ + public int register(User user); + + /** + * 验证用户名是否唯一 + * @param username + * @return + */ + int UniqueUsername(String username); + + /** + * 返回所有密保问题 + * @param flag + * @return + */ + List queryQuestion(String flag); +} diff --git a/springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/service/impl/UserServiceImpl.java b/springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/service/impl/UserServiceImpl.java new file mode 100644 index 00000000..b65e0223 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/java/com/fan/springboot1903fanjianghao/service/impl/UserServiceImpl.java @@ -0,0 +1,118 @@ +package com.fan.springboot1903fanjianghao.service.impl; + +import com.fan.springboot1903fanjianghao.bean.User; +import com.fan.springboot1903fanjianghao.mapper.UserMapper; +import com.fan.springboot1903fanjianghao.service.UserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +/** + * ZixiaFan + * 2021/11/21 18:57 + */ +@Service +public class UserServiceImpl implements UserService { + + @Autowired + UserMapper userMapper; + + /** + * 登录 + * @return 0:成功 1:今日错误次数超过五次,请明天再试" 2:密码错误 3:用户名不存在 + */ + public User login(User user){ + int res=-1; + String s=""; + Date date=new Date(); + String t = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date); + //检查用户名是否存在 + User u = userMapper.queryUsernameExists(user.getUsername()); + if (u!=null){//存在 查看今日失败次数 >5 不允许登录 + if (u.getErrorcount()>=5){ + //检查次数有无过时 + User user1=u; + u.setErrortime(t); + Integer errorDay = userMapper.queryErrorDay(user1); + if (errorDay>=1){ + if (u.getPassword().equals(user.getPassword())){ + user1.setErrorcount(0); + userMapper.updateErrorCount(user1); + s="登陆成功"; + u.setErrorcount(0); + userMapper.updateErrorCount(u); + res=0; + }else { + user1.setErrortime(t); + user1.setErrorcount(1); + userMapper.updateCountTime(user1); + } + }else { + s="今日错误次数超过五次,请明天再试"; + res=1; + } + }else {//<5 验证用户名和密码是否对应 +// User user1 = userMapper.login(user); + if (u.getPassword().equals(user.getPassword())){ + s="登陆成功"; + u.setErrorcount(0); + userMapper.updateErrorCount(u); + res=0; + }else { + s="密码错误"; + res=2; + u.setErrortime(t); + u.setErrorcount(1+u.getErrorcount()); + userMapper.updateCountTime(u); + } + } + }else {//不存在 提示 用户名是否存在 + s="用户名不存在"; + res=3; + } + user.setState(s); + user.setStateCode(res); + return user; + } + + /** + * 注册 + * @param user + * @return + */ + @Override + public int register(User user) { + Date date=new Date(); + String t = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date); + user.setCreatetime(t); + return userMapper.register(user); + } + + /** + * 验证用户名是否唯一 + * @param username + * @return + */ + @Override + public int UniqueUsername(String username) { + User user = userMapper.queryUsernameExists(username); + if (user!=null){ + return 0; + }else { + return 1; + } + } + + /** + * 调用mapper层返回所有密保问题 + * @param flag + * @return + */ + @Override + public List queryQuestion(String flag) { + return userMapper.queryQuestion(flag); + } +} diff --git a/springboot-1903-fanjianghao/src/main/resources/application.properties b/springboot-1903-fanjianghao/src/main/resources/application.properties new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/application.properties @@ -0,0 +1 @@ + diff --git a/springboot-1903-fanjianghao/src/main/resources/application.yaml b/springboot-1903-fanjianghao/src/main/resources/application.yaml new file mode 100644 index 00000000..db48dc52 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/application.yaml @@ -0,0 +1,11 @@ +spring: + datasource: + url: jdbc:mysql://39.105.145.195:3306/java3456?useUnicode=true&characterEncoding=utf-8 + username: root + password: 1q2w3e4r + driver-class-name: com.mysql.jdbc.Driver + +# 配置mybatis的两个规则 +mybatis: + config-location: classpath:mybatis/mybatis-config.xml + mapper-locations: classpath:mybatis/mapper/*.xml diff --git a/springboot-1903-fanjianghao/src/main/resources/mybatis/mapper/UserMapper.xml b/springboot-1903-fanjianghao/src/main/resources/mybatis/mapper/UserMapper.xml new file mode 100644 index 00000000..72d86948 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/mybatis/mapper/UserMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + update j03fanjianghao set errorcount=#{errorcount} where id=#{id} + + + update j03fanjianghao set errorcount=#{errorcount} , errortime=#{errortime} where id=#{id} + + + insert into j03fanjianghao (username,password,createtime,errorcount) values (#{username},#{password},#{createtime},0) + + + \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/mybatis/mybatis-config.xml b/springboot-1903-fanjianghao/src/main/resources/mybatis/mybatis-config.xml new file mode 100644 index 00000000..7d70c15d --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/mybatis/mybatis-config.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/css/fontawesome-all.min.css b/springboot-1903-fanjianghao/src/main/resources/static/assets/css/fontawesome-all.min.css new file mode 100644 index 00000000..b7d052b6 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/assets/css/fontawesome-all.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.9.0 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa,.fab,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adobe:before{content:"\f778"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-handshake:before{content:"\f2b5"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-wizard:before{content:"\f6e8"}.fa-haykal:before{content:"\f666"}.fa-hdd:before{content:"\f0a0"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-instagram:before{content:"\f16d"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:normal;font-display:auto;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands"}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:auto;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-weight:400}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:auto;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.far,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900} \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/css/main.css b/springboot-1903-fanjianghao/src/main/resources/static/assets/css/main.css new file mode 100644 index 00000000..0ca10558 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/assets/css/main.css @@ -0,0 +1,1657 @@ +@import url(fontawesome-all.min.css); +@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:300italic,600italic,300,600"); + + +html, body, div, span, applet, object, +iframe, h1, h2, h3, h4, h5, h6, p, blockquote, +pre, a, abbr, acronym, address, big, cite, +code, del, dfn, em, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, b, +u, i, center, dl, dt, dd, ol, ul, li, fieldset, +form, label, legend, table, caption, tbody, +tfoot, thead, tr, th, td, article, aside, +canvas, details, embed, figure, figcaption, +footer, header, hgroup, menu, nav, output, ruby, +section, summary, time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline;} + +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block;} + +body { + line-height: 1; +} + +ol, ul { + list-style: none; +} + +blockquote, q { + quotes: none; +} + + blockquote:before, blockquote:after, q:before, q:after { + content: ''; + content: none; + } +.tlinks{text-indent:-9999px;height:0;line-height:0;font-size:0;overflow:hidden;} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +body { + -webkit-text-size-adjust: none; +} + +mark { + background-color: transparent; + color: inherit; +} + +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +input, select, textarea { + -moz-appearance: none; + -webkit-appearance: none; + -ms-appearance: none; + appearance: none; +} + +/* Basic */ + + @-ms-viewport { + width: device-width; + } + + @media screen and (max-width: 480px) { + + html, body { + min-width: 320px; + } + + } + + html { + box-sizing: border-box; + } + + *, *:before, *:after { + box-sizing: inherit; + } + + body { + background: #1b1f22; + } + + body.is-preload *, body.is-preload *:before, body.is-preload *:after { + -moz-animation: none !important; + -webkit-animation: none !important; + -ms-animation: none !important; + animation: none !important; + -moz-transition: none !important; + -webkit-transition: none !important; + -ms-transition: none !important; + transition: none !important; + } + +/* Type */ + + html { + font-size: 16pt; + } + + @media screen and (max-width: 1680px) { + + html { + font-size: 12pt; + } + + } + + @media screen and (max-width: 736px) { + + html { + font-size: 11pt; + } + + } + + @media screen and (max-width: 360px) { + + html { + font-size: 10pt; + } + + } + + body, input, select, textarea { + color: #ffffff; + font-family: "Source Sans Pro", sans-serif; + font-weight: 300; + font-size: 1rem; + line-height: 1.65; + } + + a { + -moz-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out; + -webkit-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out; + -ms-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out; + transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out; + border-bottom: dotted 1px rgba(255, 255, 255, 0.5); + text-decoration: none; + color: inherit; + } + + a:hover { + border-bottom-color: transparent; + } + + strong, b { + color: #ffffff; + font-weight: 600; + } + + em, i { + font-style: italic; + } + + p { + margin: 0 0 2rem 0; + } + + h1, h2, h3, h4, h5, h6 { + color: #ffffff; + font-weight: 600; + line-height: 1.5; + margin: 0 0 1rem 0; + text-transform: uppercase; + letter-spacing: 0.2rem; + } + + h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { + color: inherit; + text-decoration: none; + } + + h1.major, h2.major, h3.major, h4.major, h5.major, h6.major { + border-bottom: solid 1px #ffffff; + width: -moz-max-content; + width: -webkit-max-content; + width: -ms-max-content; + width: max-content; + padding-bottom: 0.5rem; + margin: 0 0 2rem 0; + } + + h1 { + font-size: 2.25rem; + line-height: 1.3; + letter-spacing: 0.5rem; + } + + h2 { + font-size: 1.5rem; + line-height: 1.4; + letter-spacing: 0.5rem; + } + + h3 { + font-size: 1rem; + } + + h4 { + font-size: 0.8rem; + } + + h5 { + font-size: 0.7rem; + } + + h6 { + font-size: 0.6rem; + } + + @media screen and (max-width: 736px) { + + h1 { + font-size: 1.75rem; + line-height: 1.4; + } + + h2 { + font-size: 1.25em; + line-height: 1.5; + } + + } + + sub { + font-size: 0.8rem; + position: relative; + top: 0.5rem; + } + + sup { + font-size: 0.8rem; + position: relative; + top: -0.5rem; + } + + blockquote { + border-left: solid 4px #ffffff; + font-style: italic; + margin: 0 0 2rem 0; + padding: 0.5rem 0 0.5rem 2rem; + } + + code { + background: rgba(255, 255, 255, 0.075); + border-radius: 4px; + font-family: "Courier New", monospace; + font-size: 0.9rem; + margin: 0 0.25rem; + padding: 0.25rem 0.65rem; + } + + pre { + -webkit-overflow-scrolling: touch; + font-family: "Courier New", monospace; + font-size: 0.9rem; + margin: 0 0 2rem 0; + } + + pre code { + display: block; + line-height: 1.75; + padding: 1rem 1.5rem; + overflow-x: auto; + } + + hr { + border: 0; + border-bottom: solid 1px #ffffff; + margin: 2.75rem 0; + } + + .align-left { + text-align: left; + } + + .align-center { + text-align: center; + } + + .align-right { + text-align: right; + } + +/* Form */ + + form { + margin: 0 0 2rem 0; + } + + form > :last-child { + margin-bottom: 0; + } + + form > .fields { + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -moz-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + width: calc(100% + 3rem); + margin: -1.5rem 0 2rem -1.5rem; + } + + form > .fields > .field { + -moz-flex-grow: 0; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + -moz-flex-shrink: 0; + -webkit-flex-shrink: 0; + -ms-flex-shrink: 0; + flex-shrink: 0; + padding: 1.5rem 0 0 1.5rem; + width: calc(100% - 1.5rem); + } + + form > .fields > .field.half { + width: calc(50% - 0.75rem); + } + + form > .fields > .field.third { + width: calc(100%/3 - 0.5rem); + } + + form > .fields > .field.quarter { + width: calc(25% - 0.375rem); + } + + @media screen and (max-width: 480px) { + + form > .fields { + width: calc(100% + 3rem); + margin: -1.5rem 0 2rem -1.5rem; + } + + form > .fields > .field { + padding: 1.5rem 0 0 1.5rem; + width: calc(100% - 1.5rem); + } + + form > .fields > .field.half { + width: calc(100% - 1.5rem); + } + + form > .fields > .field.third { + width: calc(100% - 1.5rem); + } + + form > .fields > .field.quarter { + width: calc(100% - 1.5rem); + } + + } + + label { + color: #ffffff; + display: block; + font-size: 0.8rem; + font-weight: 300; + letter-spacing: 0.2rem; + line-height: 1.5; + margin: 0 0 1rem 0; + text-transform: uppercase; + } + + input[type="text"], + input[type="password"], + input[type="email"], + input[type="tel"], + select, + textarea { + -moz-appearance: none; + -webkit-appearance: none; + -ms-appearance: none; + appearance: none; + -moz-transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out; + -webkit-transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out; + -ms-transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out; + transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out; + background-color: transparent; + border-radius: 4px; + border: solid 1px #ffffff; + color: inherit; + display: block; + outline: 0; + padding: 0 1rem; + text-decoration: none; + width: 100%; + } + + input[type="text"]:invalid, + input[type="password"]:invalid, + input[type="email"]:invalid, + input[type="tel"]:invalid, + select:invalid, + textarea:invalid { + box-shadow: none; + } + + input[type="text"]:focus, + input[type="password"]:focus, + input[type="email"]:focus, + input[type="tel"]:focus, + select:focus, + textarea:focus { + background: rgba(255, 255, 255, 0.075); + border-color: #ffffff; + box-shadow: 0 0 0 1px #ffffff; + } + + select { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='%23ffffff' /%3E%3C/svg%3E"); + background-size: 1.25rem; + background-repeat: no-repeat; + background-position: calc(100% - 1rem) center; + height: 2.75rem; + padding-right: 2.75rem; + text-overflow: ellipsis; + } + + select option { + color: #ffffff; + background: #1b1f22; + } + + select:focus::-ms-value { + background-color: transparent; + } + + select::-ms-expand { + display: none; + } + + input[type="text"], + input[type="password"], + input[type="email"], + select { + height: 2.75rem; + } + + textarea { + padding: 0.75rem 1rem; + } + + input[type="checkbox"], + input[type="radio"] { + -moz-appearance: none; + -webkit-appearance: none; + -ms-appearance: none; + appearance: none; + display: block; + float: left; + margin-right: -2rem; + opacity: 0; + width: 1rem; + z-index: -1; + } + + input[type="checkbox"] + label, + input[type="radio"] + label { + text-decoration: none; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; + color: #ffffff; + cursor: pointer; + display: inline-block; + font-size: 0.8rem; + font-weight: 300; + margin: 0 0 0.5rem 0; + padding-left: 2.65rem; + padding-right: 0.75rem; + position: relative; + } + + input[type="checkbox"] + label:before, + input[type="radio"] + label:before { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1; + text-transform: none !important; + font-family: 'Font Awesome 5 Free'; + font-weight: 900; + } + + input[type="checkbox"] + label:before, + input[type="radio"] + label:before { + -moz-transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out; + -webkit-transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out; + -ms-transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out; + transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out; + border-radius: 4px; + border: solid 1px #ffffff; + content: ''; + display: inline-block; + height: 1.65rem; + left: 0; + line-height: 1.65rem; + position: absolute; + text-align: center; + top: -0.15rem; + width: 1.65rem; + } + + input[type="checkbox"]:checked + label:before, + input[type="radio"]:checked + label:before { + background: #ffffff !important; + border-color: #ffffff !important; + color: #1b1f22; + content: '\f00c'; + } + + input[type="checkbox"]:focus + label:before, + input[type="radio"]:focus + label:before { + background: rgba(255, 255, 255, 0.075); + border-color: #ffffff; + box-shadow: 0 0 0 1px #ffffff; + } + + input[type="checkbox"] + label:before { + border-radius: 4px; + } + + input[type="radio"] + label:before { + border-radius: 100%; + } + + ::-webkit-input-placeholder { + color: rgba(255, 255, 255, 0.5) !important; + opacity: 1.0; + } + + :-moz-placeholder { + color: rgba(255, 255, 255, 0.5) !important; + opacity: 1.0; + } + + ::-moz-placeholder { + color: rgba(255, 255, 255, 0.5) !important; + opacity: 1.0; + } + + :-ms-input-placeholder { + color: rgba(255, 255, 255, 0.5) !important; + opacity: 1.0; + } + + .formerize-placeholder { + color: rgba(255, 255, 255, 0.5) !important; + opacity: 1.0; + } + +/* Box */ + + .box { + border-radius: 4px; + border: solid 1px #ffffff; + margin-bottom: 2rem; + padding: 1.5em; + } + + .box > :last-child, + .box > :last-child > :last-child, + .box > :last-child > :last-child > :last-child { + margin-bottom: 0; + } + + .box.alt { + border: 0; + border-radius: 0; + padding: 0; + } + +/* Icon */ + + .icon { + text-decoration: none; + border-bottom: none; + position: relative; + } + + .icon:before { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1; + text-transform: none !important; + font-family: 'Font Awesome 5 Free'; + font-weight: 400; + } + + .icon > .label { + display: none; + } + + .icon:before { + line-height: inherit; + } + + .icon.solid:before { + font-weight: 900; + } + + .icon.brands:before { + font-family: 'Font Awesome 5 Brands'; + } + +/* Image */ + + .image { + border-radius: 4px; + border: 0; + display: inline-block; + position: relative; + } + + .image:before { + pointer-events: none; + background-image: url("../../images/overlay.png"); + background-color: rgba(19, 21, 25, 0.5); + border-radius: 4px; + content: ''; + display: block; + height: 100%; + left: 0; + opacity: 0.5; + position: absolute; + top: 0; + width: 100%; + } + + .image img { + border-radius: 4px; + display: block; + } + + .image.left, .image.right { + max-width: 40%; + } + + .image.left img, .image.right img { + width: 100%; + } + + .image.left { + float: left; + padding: 0 1.5em 1em 0; + top: 0.25em; + } + + .image.right { + float: right; + padding: 0 0 1em 1.5em; + top: 0.25em; + } + + .image.fit { + display: block; + margin: 0 0 2rem 0; + width: 100%; + } + + .image.fit img { + width: 100%; + } + + .image.main { + display: block; + margin: 2.5rem 0; + width: 100%; + } + + .image.main img { + width: 100%; + } + + @media screen and (max-width: 736px) { + + .image.main { + margin: 2rem 0; + } + + } + + @media screen and (max-width: 480px) { + + .image.main { + margin: 1.5rem 0; + } + + } + +/* List */ + + ol { + list-style: decimal; + margin: 0 0 2rem 0; + padding-left: 1.25em; + } + + ol li { + padding-left: 0.25em; + } + + ul { + list-style: disc; + margin: 0 0 2rem 0; + padding-left: 1em; + } + + ul li { + padding-left: 0.5em; + } + + ul.alt { + list-style: none; + padding-left: 0; + } + + ul.alt li { + border-top: solid 1px #ffffff; + padding: 0.5em 0; + } + + ul.alt li:first-child { + border-top: 0; + padding-top: 0; + } + + dl { + margin: 0 0 2rem 0; + } + + dl dt { + display: block; + font-weight: 600; + margin: 0 0 1rem 0; + } + + dl dd { + margin-left: 2rem; + } + +/* Actions */ + + ul.actions { + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + cursor: default; + list-style: none; + margin-left: -1rem; + padding-left: 0; + } + + ul.actions li { + padding: 0 0 0 1rem; + vertical-align: middle; + } + + ul.actions.special { + -moz-justify-content: center; + -webkit-justify-content: center; + -ms-justify-content: center; + justify-content: center; + width: 100%; + margin-left: 0; + } + + ul.actions.special li:first-child { + padding-left: 0; + } + + ul.actions.stacked { + -moz-flex-direction: column; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + margin-left: 0; + } + + ul.actions.stacked li { + padding: 1.3rem 0 0 0; + } + + ul.actions.stacked li:first-child { + padding-top: 0; + } + + ul.actions.fit { + width: calc(100% + 1rem); + } + + ul.actions.fit li { + -moz-flex-grow: 1; + -webkit-flex-grow: 1; + -ms-flex-grow: 1; + flex-grow: 1; + -moz-flex-shrink: 1; + -webkit-flex-shrink: 1; + -ms-flex-shrink: 1; + flex-shrink: 1; + width: 100%; + } + + ul.actions.fit li > * { + width: 100%; + } + + ul.actions.fit.stacked { + width: 100%; + } + + @media screen and (max-width: 480px) { + + ul.actions:not(.fixed) { + -moz-flex-direction: column; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + margin-left: 0; + width: 100% !important; + } + + ul.actions:not(.fixed) li { + -moz-flex-grow: 1; + -webkit-flex-grow: 1; + -ms-flex-grow: 1; + flex-grow: 1; + -moz-flex-shrink: 1; + -webkit-flex-shrink: 1; + -ms-flex-shrink: 1; + flex-shrink: 1; + padding: 1rem 0 0 0; + text-align: center; + width: 100%; + } + + ul.actions:not(.fixed) li > * { + width: 100%; + } + + ul.actions:not(.fixed) li:first-child { + padding-top: 0; + } + + ul.actions:not(.fixed) li input[type="submit"], + ul.actions:not(.fixed) li input[type="reset"], + ul.actions:not(.fixed) li input[type="button"], + ul.actions:not(.fixed) li button, + ul.actions:not(.fixed) li .button { + width: 100%; + } + + ul.actions:not(.fixed) li input[type="submit"].icon:before, + ul.actions:not(.fixed) li input[type="reset"].icon:before, + ul.actions:not(.fixed) li input[type="button"].icon:before, + ul.actions:not(.fixed) li button.icon:before, + ul.actions:not(.fixed) li .button.icon:before { + margin-left: -0.5em; + } + + } + +/* Icons */ + + ul.icons { + cursor: default; + list-style: none; + padding-left: 0; + } + + ul.icons li { + display: inline-block; + padding: 0 0.75em 0 0; + } + + ul.icons li:last-child { + padding-right: 0; + } + + ul.icons li a { + border-radius: 100%; + box-shadow: inset 0 0 0 1px #ffffff; + display: inline-block; + height: 2.25rem; + line-height: 2.25rem; + text-align: center; + width: 2.25rem; + } + + ul.icons li a:hover { + background-color: rgba(255, 255, 255, 0.075); + } + + ul.icons li a:active { + background-color: rgba(255, 255, 255, 0.175); + } + +/* Table */ + + .table-wrapper { + -webkit-overflow-scrolling: touch; + overflow-x: auto; + } + + table { + margin: 0 0 2rem 0; + width: 100%; + } + + table tbody tr { + border: solid 1px #ffffff; + border-left: 0; + border-right: 0; + } + + table tbody tr:nth-child(2n + 1) { + background-color: rgba(255, 255, 255, 0.075); + } + + table td { + padding: 0.75em 0.75em; + } + + table th { + color: #ffffff; + font-size: 0.9em; + font-weight: 600; + padding: 0 0.75em 0.75em 0.75em; + text-align: left; + } + + table thead { + border-bottom: solid 2px #ffffff; + } + + table tfoot { + border-top: solid 2px #ffffff; + } + + table.alt { + border-collapse: separate; + } + + table.alt tbody tr td { + border: solid 1px #ffffff; + border-left-width: 0; + border-top-width: 0; + } + + table.alt tbody tr td:first-child { + border-left-width: 1px; + } + + table.alt tbody tr:first-child td { + border-top-width: 1px; + } + + table.alt thead { + border-bottom: 0; + } + + table.alt tfoot { + border-top: 0; + } + +/* Button */ + + input[type="submit"], + input[type="reset"], + input[type="button"], + button, + .button { + -moz-appearance: none; + -webkit-appearance: none; + -ms-appearance: none; + appearance: none; + -moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out; + -webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out; + -ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out; + transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out; + background-color: transparent; + border-radius: 4px; + border: 0; + box-shadow: inset 0 0 0 1px #ffffff; + color: #ffffff !important; + cursor: pointer; + display: inline-block; + font-size: 0.8rem; + font-weight: 300; + height: 2.75rem; + letter-spacing: 0.2rem; + line-height: 2.75rem; + outline: 0; + padding: 0 1.25rem 0 1.35rem; + text-align: center; + text-decoration: none; + text-transform: uppercase; + white-space: nowrap; + } + + input[type="submit"]:hover, + input[type="reset"]:hover, + input[type="button"]:hover, + button:hover, + .button:hover { + background-color: rgba(255, 255, 255, 0.075); + } + + input[type="submit"]:active, + input[type="reset"]:active, + input[type="button"]:active, + button:active, + .button:active { + background-color: rgba(255, 255, 255, 0.175); + } + + input[type="submit"].icon:before, + input[type="reset"].icon:before, + input[type="button"].icon:before, + button.icon:before, + .button.icon:before { + margin-right: 0.5em; + } + + input[type="submit"].fit, + input[type="reset"].fit, + input[type="button"].fit, + button.fit, + .button.fit { + width: 100%; + } + + input[type="submit"].small, + input[type="reset"].small, + input[type="button"].small, + button.small, + .button.small { + font-size: 0.6rem; + height: 2.0625rem; + line-height: 2.0625rem; + } + + input[type="submit"].primary, + input[type="reset"].primary, + input[type="button"].primary, + button.primary, + .button.primary { + background-color: #ffffff; + color: #1b1f22 !important; + font-weight: 600; + } + + input[type="submit"].disabled, input[type="submit"]:disabled, + input[type="reset"].disabled, + input[type="reset"]:disabled, + input[type="button"].disabled, + input[type="button"]:disabled, + button.disabled, + button:disabled, + .button.disabled, + .button:disabled { + pointer-events: none; + cursor: default; + opacity: 0.25; + } + + input[type="submit"], + input[type="reset"], + input[type="button"], + button { + line-height: calc(2.75rem - 2px); + } + +/* BG */ + + #bg { + -moz-transform: scale(1.0); + -webkit-transform: scale(1.0); + -ms-transform: scale(1.0); + transform: scale(1.0); + -webkit-backface-visibility: hidden; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100vh; + z-index: 1; + } + + #bg:before, #bg:after { + content: ''; + display: block; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + } + + #bg:before { + -moz-transition: background-color 2.5s ease-in-out; + -webkit-transition: background-color 2.5s ease-in-out; + -ms-transition: background-color 2.5s ease-in-out; + transition: background-color 2.5s ease-in-out; + -moz-transition-delay: 0.75s; + -webkit-transition-delay: 0.75s; + -ms-transition-delay: 0.75s; + transition-delay: 0.75s; + background-image: linear-gradient(to top, rgba(19, 21, 25, 0.5), rgba(19, 21, 25, 0.5)), url("../../images/overlay.png"); + background-size: auto, + 256px 256px; + background-position: center, + center; + background-repeat: no-repeat, + repeat; + z-index: 2; + } + + #bg:after { + -moz-transform: scale(1.125); + -webkit-transform: scale(1.125); + -ms-transform: scale(1.125); + transform: scale(1.125); + -moz-transition: -moz-transform 0.325s ease-in-out, -moz-filter 0.325s ease-in-out; + -webkit-transition: -webkit-transform 0.325s ease-in-out, -webkit-filter 0.325s ease-in-out; + -ms-transition: -ms-transform 0.325s ease-in-out, -ms-filter 0.325s ease-in-out; + transition: transform 0.325s ease-in-out, filter 0.325s ease-in-out; + background-image: url("../../images/bg.jpg"); + background-position: center; + background-size: cover; + background-repeat: no-repeat; + z-index: 1; + } + + body.is-article-visible #bg:after { + -moz-transform: scale(1.0825); + -webkit-transform: scale(1.0825); + -ms-transform: scale(1.0825); + transform: scale(1.0825); + -moz-filter: blur(0.2rem); + -webkit-filter: blur(0.2rem); + -ms-filter: blur(0.2rem); + filter: blur(0.2rem); + } + + body.is-preload #bg:before { + background-color: #000000; + } + +/* Wrapper */ + + #wrapper { + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -moz-flex-direction: column; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -moz-align-items: center; + -webkit-align-items: center; + -ms-align-items: center; + align-items: center; + -moz-justify-content: space-between; + -webkit-justify-content: space-between; + -ms-justify-content: space-between; + justify-content: space-between; + position: relative; + min-height: 100vh; + width: 100%; + padding: 4rem 2rem; + z-index: 3; + } + + #wrapper:before { + content: ''; + display: block; + } + + @media screen and (max-width: 1680px) { + + #wrapper { + padding: 3rem 2rem; + } + + } + + @media screen and (max-width: 736px) { + + #wrapper { + padding: 2rem 1rem; + } + + } + + @media screen and (max-width: 480px) { + + #wrapper { + padding: 1rem; + } + + } + +/* Header */ + + #header { + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -moz-flex-direction: column; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -moz-align-items: center; + -webkit-align-items: center; + -ms-align-items: center; + align-items: center; + -moz-transition: -moz-transform 0.325s ease-in-out, -moz-filter 0.325s ease-in-out, opacity 0.325s ease-in-out; + -webkit-transition: -webkit-transform 0.325s ease-in-out, -webkit-filter 0.325s ease-in-out, opacity 0.325s ease-in-out; + -ms-transition: -ms-transform 0.325s ease-in-out, -ms-filter 0.325s ease-in-out, opacity 0.325s ease-in-out; + transition: transform 0.325s ease-in-out, filter 0.325s ease-in-out, opacity 0.325s ease-in-out; + background-image: -moz-radial-gradient(rgba(0, 0, 0, 0.25) 25%, rgba(0, 0, 0, 0) 55%); + background-image: -webkit-radial-gradient(rgba(0, 0, 0, 0.25) 25%, rgba(0, 0, 0, 0) 55%); + background-image: -ms-radial-gradient(rgba(0, 0, 0, 0.25) 25%, rgba(0, 0, 0, 0) 55%); + background-image: radial-gradient(rgba(0, 0, 0, 0.25) 25%, rgba(0, 0, 0, 0) 55%); + max-width: 100%; + text-align: center; + } + + #header > * { + -moz-transition: opacity 0.325s ease-in-out; + -webkit-transition: opacity 0.325s ease-in-out; + -ms-transition: opacity 0.325s ease-in-out; + transition: opacity 0.325s ease-in-out; + position: relative; + margin-top: 3.5rem; + } + + #header > *:before { + content: ''; + display: block; + position: absolute; + top: calc(-3.5rem - 1px); + left: calc(50% - 1px); + width: 1px; + height: calc(3.5rem + 1px); + background: #ffffff; + } + + #header > :first-child { + margin-top: 0; + } + + #header > :first-child:before { + display: none; + } + + #header .logo { + width: 5.5rem; + height: 5.5rem; + line-height: 5.5rem; + border: solid 1px #ffffff; + border-radius: 100%; + } + + #header .logo .icon:before { + font-size: 2rem; + } + + #header .content { + border-style: solid; + border-color: #ffffff; + border-top-width: 1px; + border-bottom-width: 1px; + max-width: 100%; + } + + #header .content .inner { + -moz-transition: max-height 0.75s ease, padding 0.75s ease, opacity 0.325s ease-in-out; + -webkit-transition: max-height 0.75s ease, padding 0.75s ease, opacity 0.325s ease-in-out; + -ms-transition: max-height 0.75s ease, padding 0.75s ease, opacity 0.325s ease-in-out; + transition: max-height 0.75s ease, padding 0.75s ease, opacity 0.325s ease-in-out; + -moz-transition-delay: 0.25s; + -webkit-transition-delay: 0.25s; + -ms-transition-delay: 0.25s; + transition-delay: 0.25s; + padding: 3rem 2rem; + max-height: 40rem; + overflow: hidden; + } + + #header .content .inner > :last-child { + margin-bottom: 0; + } + + #header .content p { + text-transform: uppercase; + letter-spacing: 0.2rem; + font-size: 0.8rem; + line-height: 2; + } + + #header nav ul { + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + margin-bottom: 0; + list-style: none; + padding-left: 0; + border: solid 1px #ffffff; + border-radius: 4px; + } + + #header nav ul li { + padding-left: 0; + border-left: solid 1px #ffffff; + } + + #header nav ul li:first-child { + border-left: 0; + } + + #header nav ul li a { + display: block; + min-width: 7.5rem; + height: 2.75rem; + line-height: 2.75rem; + padding: 0 1.25rem 0 1.45rem; + text-transform: uppercase; + letter-spacing: 0.2rem; + font-size: 0.8rem; + border-bottom: 0; + } + + #header nav ul li a:hover { + background-color: rgba(255, 255, 255, 0.075); + } + + #header nav ul li a:active { + background-color: rgba(255, 255, 255, 0.175); + } + + #header nav.use-middle:after { + content: ''; + display: block; + position: absolute; + top: 0; + left: calc(50% - 1px); + width: 1px; + height: 100%; + background: #ffffff; + } + + #header nav.use-middle ul li.is-middle { + border-left: 0; + } + + body.is-article-visible #header { + -moz-transform: scale(0.95); + -webkit-transform: scale(0.95); + -ms-transform: scale(0.95); + transform: scale(0.95); + -moz-filter: blur(0.1rem); + -webkit-filter: blur(0.1rem); + -ms-filter: blur(0.1rem); + filter: blur(0.1rem); + opacity: 0; + } + + body.is-preload #header { + -moz-filter: blur(0.125rem); + -webkit-filter: blur(0.125rem); + -ms-filter: blur(0.125rem); + filter: blur(0.125rem); + } + + body.is-preload #header > * { + opacity: 0; + } + + body.is-preload #header .content .inner { + max-height: 0; + padding-top: 0; + padding-bottom: 0; + opacity: 0; + } + + @media screen and (max-width: 980px) { + + #header .content p br { + display: none; + } + + } + + @media screen and (max-width: 736px) { + + #header > * { + margin-top: 2rem; + } + + #header > *:before { + top: calc(-2rem - 1px); + height: calc(2rem + 1px); + } + + #header .logo { + width: 4.75rem; + height: 4.75rem; + line-height: 4.75rem; + } + + #header .logo .icon:before { + font-size: 1.75rem; + } + + #header .content .inner { + padding: 2.5rem 1rem; + } + + #header .content p { + line-height: 1.875; + } + + } + + @media screen and (max-width: 480px) { + + #header { + padding: 1.5rem 0; + } + + #header .content .inner { + padding: 2.5rem 0; + } + + #header nav ul { + -moz-flex-direction: column; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + min-width: 10rem; + max-width: 100%; + } + + #header nav ul li { + border-left: 0; + border-top: solid 1px #ffffff; + } + + #header nav ul li:first-child { + border-top: 0; + } + + #header nav ul li a { + height: 3rem; + line-height: 3rem; + min-width: 0; + width: 100%; + } + + #header nav.use-middle:after { + display: none; + } + + } + +/* Main */ + + #main { + -moz-flex-grow: 1; + -webkit-flex-grow: 1; + -ms-flex-grow: 1; + flex-grow: 1; + -moz-flex-shrink: 1; + -webkit-flex-shrink: 1; + -ms-flex-shrink: 1; + flex-shrink: 1; + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -moz-align-items: center; + -webkit-align-items: center; + -ms-align-items: center; + align-items: center; + -moz-justify-content: center; + -webkit-justify-content: center; + -ms-justify-content: center; + justify-content: center; + -moz-flex-direction: column; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + position: relative; + max-width: 100%; + z-index: 3; + } + + #main article { + -moz-transform: translateY(0.25rem); + -webkit-transform: translateY(0.25rem); + -ms-transform: translateY(0.25rem); + transform: translateY(0.25rem); + -moz-transition: opacity 0.325s ease-in-out, -moz-transform 0.325s ease-in-out; + -webkit-transition: opacity 0.325s ease-in-out, -webkit-transform 0.325s ease-in-out; + -ms-transition: opacity 0.325s ease-in-out, -ms-transform 0.325s ease-in-out; + transition: opacity 0.325s ease-in-out, transform 0.325s ease-in-out; + padding: 4.5rem 2.5rem 1.5rem 2.5rem ; + position: relative; + width: 40rem; + max-width: 100%; + background-color: rgba(27, 31, 34, 0.85); + border-radius: 4px; + opacity: 0; + } + + #main article.active { + -moz-transform: translateY(0); + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + opacity: 1; + } + + #main article .close { + display: block; + position: absolute; + top: 0; + right: 0; + width: 4rem; + height: 4rem; + cursor: pointer; + text-indent: 4rem; + overflow: hidden; + white-space: nowrap; + } + + #main article .close:before { + -moz-transition: background-color 0.2s ease-in-out; + -webkit-transition: background-color 0.2s ease-in-out; + -ms-transition: background-color 0.2s ease-in-out; + transition: background-color 0.2s ease-in-out; + content: ''; + display: block; + position: absolute; + top: 0.75rem; + left: 0.75rem; + width: 2.5rem; + height: 2.5rem; + border-radius: 100%; + background-position: center; + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20px' height='20px' viewBox='0 0 20 20' zoomAndPan='disable'%3E%3Cstyle%3Eline %7B stroke: %23ffffff%3B stroke-width: 1%3B %7D%3C/style%3E%3Cline x1='2' y1='2' x2='18' y2='18' /%3E%3Cline x1='18' y1='2' x2='2' y2='18' /%3E%3C/svg%3E"); + background-size: 20px 20px; + background-repeat: no-repeat; + } + + #main article .close:hover:before { + background-color: rgba(255, 255, 255, 0.075); + } + + #main article .close:active:before { + background-color: rgba(255, 255, 255, 0.175); + } + + @media screen and (max-width: 736px) { + + #main article { + padding: 3.5rem 2rem 0.5rem 2rem ; + } + + #main article .close:before { + top: 0.875rem; + left: 0.875rem; + width: 2.25rem; + height: 2.25rem; + background-size: 14px 14px; + } + + } + + @media screen and (max-width: 480px) { + + #main article { + padding: 3rem 1.5rem 0.5rem 1.5rem ; + } + + } + +/* Footer */ + + #footer { + -moz-transition: -moz-transform 0.325s ease-in-out, -moz-filter 0.325s ease-in-out, opacity 0.325s ease-in-out; + -webkit-transition: -webkit-transform 0.325s ease-in-out, -webkit-filter 0.325s ease-in-out, opacity 0.325s ease-in-out; + -ms-transition: -ms-transform 0.325s ease-in-out, -ms-filter 0.325s ease-in-out, opacity 0.325s ease-in-out; + transition: transform 0.325s ease-in-out, filter 0.325s ease-in-out, opacity 0.325s ease-in-out; + width: 100%; + max-width: 100%; + margin-top: 2rem; + text-align: center; + } + + #footer .copyright { + letter-spacing: 0.2rem; + font-size: 0.6rem; + opacity: 0.75; + margin-bottom: 0; + text-transform: uppercase; + } + + body.is-article-visible #footer { + -moz-transform: scale(0.95); + -webkit-transform: scale(0.95); + -ms-transform: scale(0.95); + transform: scale(0.95); + -moz-filter: blur(0.1rem); + -webkit-filter: blur(0.1rem); + -ms-filter: blur(0.1rem); + filter: blur(0.1rem); + opacity: 0; + } + + body.is-preload #footer { + opacity: 0; + } \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/css/noscript.css b/springboot-1903-fanjianghao/src/main/resources/static/assets/css/noscript.css new file mode 100644 index 00000000..a27f4282 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/assets/css/noscript.css @@ -0,0 +1,37 @@ +/* + Dimension by HTML5 UP + html5up.net | @ajlkn + Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) +*/ + +/* BG */ + + body.is-preload #bg:before { + background-color: transparent; + } + +/* Header */ + + body.is-preload #header { + -moz-filter: none; + -webkit-filter: none; + -ms-filter: none; + filter: none; + } + + body.is-preload #header > * { + opacity: 1; + } + + body.is-preload #header .content .inner { + max-height: none; + padding: 3rem 2rem; + opacity: 1; + } + +/* Main */ + + #main article { + opacity: 1; + margin: 4rem 0 0 0; + } \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/js/breakpoints.min.js b/springboot-1903-fanjianghao/src/main/resources/static/assets/js/breakpoints.min.js new file mode 100644 index 00000000..e20ae896 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/assets/js/breakpoints.min.js @@ -0,0 +1,2 @@ +/* breakpoints.js v1.0 | @ajlkn | MIT licensed */ +var breakpoints=function(){"use strict";function e(e){t.init(e)}var t={list:null,media:{},events:[],init:function(e){t.list=e,window.addEventListener("resize",t.poll),window.addEventListener("orientationchange",t.poll),window.addEventListener("load",t.poll),window.addEventListener("fullscreenchange",t.poll)},active:function(e){var n,a,s,i,r,d,c;if(!(e in t.media)){if(">="==e.substr(0,2)?(a="gte",n=e.substr(2)):"<="==e.substr(0,2)?(a="lte",n=e.substr(2)):">"==e.substr(0,1)?(a="gt",n=e.substr(1)):"<"==e.substr(0,1)?(a="lt",n=e.substr(1)):"!"==e.substr(0,1)?(a="not",n=e.substr(1)):(a="eq",n=e),n&&n in t.list)if(i=t.list[n],Array.isArray(i)){if(r=parseInt(i[0]),d=parseInt(i[1]),isNaN(r)){if(isNaN(d))return;c=i[1].substr(String(d).length)}else c=i[0].substr(String(r).length);if(isNaN(r))switch(a){case"gte":s="screen";break;case"lte":s="screen and (max-width: "+d+c+")";break;case"gt":s="screen and (min-width: "+(d+1)+c+")";break;case"lt":s="screen and (max-width: -1px)";break;case"not":s="screen and (min-width: "+(d+1)+c+")";break;default:s="screen and (max-width: "+d+c+")"}else if(isNaN(d))switch(a){case"gte":s="screen and (min-width: "+r+c+")";break;case"lte":s="screen";break;case"gt":s="screen and (max-width: -1px)";break;case"lt":s="screen and (max-width: "+(r-1)+c+")";break;case"not":s="screen and (max-width: "+(r-1)+c+")";break;default:s="screen and (min-width: "+r+c+")"}else switch(a){case"gte":s="screen and (min-width: "+r+c+")";break;case"lte":s="screen and (max-width: "+d+c+")";break;case"gt":s="screen and (min-width: "+(d+1)+c+")";break;case"lt":s="screen and (max-width: "+(r-1)+c+")";break;case"not":s="screen and (max-width: "+(r-1)+c+"), screen and (min-width: "+(d+1)+c+")";break;default:s="screen and (min-width: "+r+c+") and (max-width: "+d+c+")"}}else s="("==i.charAt(0)?"screen and "+i:i;t.media[e]=!!s&&s}return t.media[e]!==!1&&window.matchMedia(t.media[e]).matches},on:function(e,n){t.events.push({query:e,handler:n,state:!1}),t.active(e)&&n()},poll:function(){var e,n;for(e=0;e0:!!("ontouchstart"in window),e.mobile="wp"==e.os||"android"==e.os||"ios"==e.os||"bb"==e.os}};return e.init(),e}();!function(e,n){"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?module.exports=n():e.browser=n()}(this,function(){return browser}); diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/js/jquery.min.js b/springboot-1903-fanjianghao/src/main/resources/static/assets/js/jquery.min.js new file mode 100644 index 00000000..a1c07fd8 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/assets/js/jquery.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0 $window.height()) + $wrapper.css('height', 'auto'); + else + $wrapper.css('height', '100vh'); + + }, 250); + + }).triggerHandler('resize.flexbox-fix'); + + } + + // Nav. + var $nav = $header.children('nav'), + $nav_li = $nav.find('li'); + + // Add "middle" alignment classes if we're dealing with an even number of items. + if ($nav_li.length % 2 == 0) { + + $nav.addClass('use-middle'); + $nav_li.eq( ($nav_li.length / 2) ).addClass('is-middle'); + + } + + // Main. + var delay = 325, + locked = false; + + // Methods. + $main._show = function(id, initial) { + + var $article = $main_articles.filter('#' + id); + + // No such article? Bail. + if ($article.length == 0) + return; + + // Handle lock. + + // Already locked? Speed through "show" steps w/o delays. + if (locked || (typeof initial != 'undefined' && initial === true)) { + + // Mark as switching. + $body.addClass('is-switching'); + + // Mark as visible. + $body.addClass('is-article-visible'); + + // Deactivate all articles (just in case one's already active). + $main_articles.removeClass('active'); + + // Hide header, footer. + $header.hide(); + $footer.hide(); + + // Show main, article. + $main.show(); + $article.show(); + + // Activate article. + $article.addClass('active'); + + // Unlock. + locked = false; + + // Unmark as switching. + setTimeout(function() { + $body.removeClass('is-switching'); + }, (initial ? 1000 : 0)); + + return; + + } + + // Lock. + locked = true; + + // Article already visible? Just swap articles. + if ($body.hasClass('is-article-visible')) { + + // Deactivate current article. + var $currentArticle = $main_articles.filter('.active'); + + $currentArticle.removeClass('active'); + + // Show article. + setTimeout(function() { + + // Hide current article. + $currentArticle.hide(); + + // Show article. + $article.show(); + + // Activate article. + setTimeout(function() { + + $article.addClass('active'); + + // Window stuff. + $window + .scrollTop(0) + .triggerHandler('resize.flexbox-fix'); + + // Unlock. + setTimeout(function() { + locked = false; + }, delay); + + }, 25); + + }, delay); + + } + + // Otherwise, handle as normal. + else { + + // Mark as visible. + $body + .addClass('is-article-visible'); + + // Show article. + setTimeout(function() { + + // Hide header, footer. + $header.hide(); + $footer.hide(); + + // Show main, article. + $main.show(); + $article.show(); + + // Activate article. + setTimeout(function() { + + $article.addClass('active'); + + // Window stuff. + $window + .scrollTop(0) + .triggerHandler('resize.flexbox-fix'); + + // Unlock. + setTimeout(function() { + locked = false; + }, delay); + + }, 25); + + }, delay); + + } + + }; + + $main._hide = function(addState) { + + var $article = $main_articles.filter('.active'); + + // Article not visible? Bail. + if (!$body.hasClass('is-article-visible')) + return; + + // Add state? + if (typeof addState != 'undefined' + && addState === true) + history.pushState(null, null, '#'); + + // Handle lock. + + // Already locked? Speed through "hide" steps w/o delays. + if (locked) { + + // Mark as switching. + $body.addClass('is-switching'); + + // Deactivate article. + $article.removeClass('active'); + + // Hide article, main. + $article.hide(); + $main.hide(); + + // Show footer, header. + $footer.show(); + $header.show(); + + // Unmark as visible. + $body.removeClass('is-article-visible'); + + // Unlock. + locked = false; + + // Unmark as switching. + $body.removeClass('is-switching'); + + // Window stuff. + $window + .scrollTop(0) + .triggerHandler('resize.flexbox-fix'); + + return; + + } + + // Lock. + locked = true; + + // Deactivate article. + $article.removeClass('active'); + + // Hide article. + setTimeout(function() { + + // Hide article, main. + $article.hide(); + $main.hide(); + + // Show footer, header. + $footer.show(); + $header.show(); + + // Unmark as visible. + setTimeout(function() { + + $body.removeClass('is-article-visible'); + + // Window stuff. + $window + .scrollTop(0) + .triggerHandler('resize.flexbox-fix'); + + // Unlock. + setTimeout(function() { + locked = false; + }, delay); + + }, 25); + + }, delay); + + + }; + + // Articles. + $main_articles.each(function() { + + var $this = $(this); + + // Close. + $('
Close
') + .appendTo($this) + .on('click', function() { + location.hash = ''; + }); + + // Prevent clicks from inside article from bubbling. + $this.on('click', function(event) { + event.stopPropagation(); + }); + + }); + + // Events. + $body.on('click', function(event) { + + // Article visible? Hide. + if ($body.hasClass('is-article-visible')) + $main._hide(true); + + }); + + $window.on('keyup', function(event) { + + switch (event.keyCode) { + + case 27: + + // Article visible? Hide. + if ($body.hasClass('is-article-visible')) + $main._hide(true); + + break; + + default: + break; + + } + + }); + + $window.on('hashchange', function(event) { + + // Empty hash? + if (location.hash == '' + || location.hash == '#') { + + // Prevent default. + event.preventDefault(); + event.stopPropagation(); + + // Hide. + $main._hide(); + + } + + // Otherwise, check for a matching article. + else if ($main_articles.filter(location.hash).length > 0) { + + // Prevent default. + event.preventDefault(); + event.stopPropagation(); + + // Show article. + $main._show(location.hash.substr(1)); + + } + + }); + + // Scroll restoration. + // This prevents the page from scrolling back to the top on a hashchange. + if ('scrollRestoration' in history) + history.scrollRestoration = 'manual'; + else { + + var oldScrollPos = 0, + scrollPos = 0, + $htmlbody = $('html,body'); + + $window + .on('scroll', function() { + + oldScrollPos = scrollPos; + scrollPos = $htmlbody.scrollTop(); + + }) + .on('hashchange', function() { + $window.scrollTop(oldScrollPos); + }); + + } + + // Initialize. + + // Hide main, articles. + $main.hide(); + $main_articles.hide(); + + // Initial article. + if (location.hash != '' + && location.hash != '#') + $window.on('load', function() { + $main._show(location.hash.substr(1), true); + }); + +})(jQuery); \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/js/util.js b/springboot-1903-fanjianghao/src/main/resources/static/assets/js/util.js new file mode 100644 index 00000000..ecf7b371 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/assets/js/util.js @@ -0,0 +1,587 @@ +(function($) { + + /** + * Generate an indented list of links from a nav. Meant for use with panel(). + * @return {jQuery} jQuery object. + */ + $.fn.navList = function() { + + var $this = $(this); + $a = $this.find('a'), + b = []; + + $a.each(function() { + + var $this = $(this), + indent = Math.max(0, $this.parents('li').length - 1), + href = $this.attr('href'), + target = $this.attr('target'); + + b.push( + '' + + '' + + $this.text() + + '' + ); + + }); + + return b.join(''); + + }; + + /** + * Panel-ify an element. + * @param {object} userConfig User config. + * @return {jQuery} jQuery object. + */ + $.fn.panel = function(userConfig) { + + // No elements? + if (this.length == 0) + return $this; + + // Multiple elements? + if (this.length > 1) { + + for (var i=0; i < this.length; i++) + $(this[i]).panel(userConfig); + + return $this; + + } + + // Vars. + var $this = $(this), + $body = $('body'), + $window = $(window), + id = $this.attr('id'), + config; + + // Config. + config = $.extend({ + + // Delay. + delay: 0, + + // Hide panel on link click. + hideOnClick: false, + + // Hide panel on escape keypress. + hideOnEscape: false, + + // Hide panel on swipe. + hideOnSwipe: false, + + // Reset scroll position on hide. + resetScroll: false, + + // Reset forms on hide. + resetForms: false, + + // Side of viewport the panel will appear. + side: null, + + // Target element for "class". + target: $this, + + // Class to toggle. + visibleClass: 'visible' + + }, userConfig); + + // Expand "target" if it's not a jQuery object already. + if (typeof config.target != 'jQuery') + config.target = $(config.target); + + // Panel. + + // Methods. + $this._hide = function(event) { + + // Already hidden? Bail. + if (!config.target.hasClass(config.visibleClass)) + return; + + // If an event was provided, cancel it. + if (event) { + + event.preventDefault(); + event.stopPropagation(); + + } + + // Hide. + config.target.removeClass(config.visibleClass); + + // Post-hide stuff. + window.setTimeout(function() { + + // Reset scroll position. + if (config.resetScroll) + $this.scrollTop(0); + + // Reset forms. + if (config.resetForms) + $this.find('form').each(function() { + this.reset(); + }); + + }, config.delay); + + }; + + // Vendor fixes. + $this + .css('-ms-overflow-style', '-ms-autohiding-scrollbar') + .css('-webkit-overflow-scrolling', 'touch'); + + // Hide on click. + if (config.hideOnClick) { + + $this.find('a') + .css('-webkit-tap-highlight-color', 'rgba(0,0,0,0)'); + + $this + .on('click', 'a', function(event) { + + var $a = $(this), + href = $a.attr('href'), + target = $a.attr('target'); + + if (!href || href == '#' || href == '' || href == '#' + id) + return; + + // Cancel original event. + event.preventDefault(); + event.stopPropagation(); + + // Hide panel. + $this._hide(); + + // Redirect to href. + window.setTimeout(function() { + + if (target == '_blank') + window.open(href); + else + window.location.href = href; + + }, config.delay + 10); + + }); + + } + + // Event: Touch stuff. + $this.on('touchstart', function(event) { + + $this.touchPosX = event.originalEvent.touches[0].pageX; + $this.touchPosY = event.originalEvent.touches[0].pageY; + + }) + + $this.on('touchmove', function(event) { + + if ($this.touchPosX === null + || $this.touchPosY === null) + return; + + var diffX = $this.touchPosX - event.originalEvent.touches[0].pageX, + diffY = $this.touchPosY - event.originalEvent.touches[0].pageY, + th = $this.outerHeight(), + ts = ($this.get(0).scrollHeight - $this.scrollTop()); + + // Hide on swipe? + if (config.hideOnSwipe) { + + var result = false, + boundary = 20, + delta = 50; + + switch (config.side) { + + case 'left': + result = (diffY < boundary && diffY > (-1 * boundary)) && (diffX > delta); + break; + + case 'right': + result = (diffY < boundary && diffY > (-1 * boundary)) && (diffX < (-1 * delta)); + break; + + case 'top': + result = (diffX < boundary && diffX > (-1 * boundary)) && (diffY > delta); + break; + + case 'bottom': + result = (diffX < boundary && diffX > (-1 * boundary)) && (diffY < (-1 * delta)); + break; + + default: + break; + + } + + if (result) { + + $this.touchPosX = null; + $this.touchPosY = null; + $this._hide(); + + return false; + + } + + } + + // Prevent vertical scrolling past the top or bottom. + if (($this.scrollTop() < 0 && diffY < 0) + || (ts > (th - 2) && ts < (th + 2) && diffY > 0)) { + + event.preventDefault(); + event.stopPropagation(); + + } + + }); + + // Event: Prevent certain events inside the panel from bubbling. + $this.on('click touchend touchstart touchmove', function(event) { + event.stopPropagation(); + }); + + // Event: Hide panel if a child anchor tag pointing to its ID is clicked. + $this.on('click', 'a[href="#' + id + '"]', function(event) { + + event.preventDefault(); + event.stopPropagation(); + + config.target.removeClass(config.visibleClass); + + }); + + // Body. + + // Event: Hide panel on body click/tap. + $body.on('click touchend', function(event) { + $this._hide(event); + }); + + // Event: Toggle. + $body.on('click', 'a[href="#' + id + '"]', function(event) { + + event.preventDefault(); + event.stopPropagation(); + + config.target.toggleClass(config.visibleClass); + + }); + + // Window. + + // Event: Hide on ESC. + if (config.hideOnEscape) + $window.on('keydown', function(event) { + + if (event.keyCode == 27) + $this._hide(event); + + }); + + return $this; + + }; + + /** + * Apply "placeholder" attribute polyfill to one or more forms. + * @return {jQuery} jQuery object. + */ + $.fn.placeholder = function() { + + // Browser natively supports placeholders? Bail. + if (typeof (document.createElement('input')).placeholder != 'undefined') + return $(this); + + // No elements? + if (this.length == 0) + return $this; + + // Multiple elements? + if (this.length > 1) { + + for (var i=0; i < this.length; i++) + $(this[i]).placeholder(); + + return $this; + + } + + // Vars. + var $this = $(this); + + // Text, TextArea. + $this.find('input[type=text],textarea') + .each(function() { + + var i = $(this); + + if (i.val() == '' + || i.val() == i.attr('placeholder')) + i + .addClass('polyfill-placeholder') + .val(i.attr('placeholder')); + + }) + .on('blur', function() { + + var i = $(this); + + if (i.attr('name').match(/-polyfill-field$/)) + return; + + if (i.val() == '') + i + .addClass('polyfill-placeholder') + .val(i.attr('placeholder')); + + }) + .on('focus', function() { + + var i = $(this); + + if (i.attr('name').match(/-polyfill-field$/)) + return; + + if (i.val() == i.attr('placeholder')) + i + .removeClass('polyfill-placeholder') + .val(''); + + }); + + // Password. + $this.find('input[type=password]') + .each(function() { + + var i = $(this); + var x = $( + $('
') + .append(i.clone()) + .remove() + .html() + .replace(/type="password"/i, 'type="text"') + .replace(/type=password/i, 'type=text') + ); + + if (i.attr('id') != '') + x.attr('id', i.attr('id') + '-polyfill-field'); + + if (i.attr('name') != '') + x.attr('name', i.attr('name') + '-polyfill-field'); + + x.addClass('polyfill-placeholder') + .val(x.attr('placeholder')).insertAfter(i); + + if (i.val() == '') + i.hide(); + else + x.hide(); + + i + .on('blur', function(event) { + + event.preventDefault(); + + var x = i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]'); + + if (i.val() == '') { + + i.hide(); + x.show(); + + } + + }); + + x + .on('focus', function(event) { + + event.preventDefault(); + + var i = x.parent().find('input[name=' + x.attr('name').replace('-polyfill-field', '') + ']'); + + x.hide(); + + i + .show() + .focus(); + + }) + .on('keypress', function(event) { + + event.preventDefault(); + x.val(''); + + }); + + }); + + // Events. + $this + .on('submit', function() { + + $this.find('input[type=text],input[type=password],textarea') + .each(function(event) { + + var i = $(this); + + if (i.attr('name').match(/-polyfill-field$/)) + i.attr('name', ''); + + if (i.val() == i.attr('placeholder')) { + + i.removeClass('polyfill-placeholder'); + i.val(''); + + } + + }); + + }) + .on('reset', function(event) { + + event.preventDefault(); + + $this.find('select') + .val($('option:first').val()); + + $this.find('input,textarea') + .each(function() { + + var i = $(this), + x; + + i.removeClass('polyfill-placeholder'); + + switch (this.type) { + + case 'submit': + case 'reset': + break; + + case 'password': + i.val(i.attr('defaultValue')); + + x = i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]'); + + if (i.val() == '') { + i.hide(); + x.show(); + } + else { + i.show(); + x.hide(); + } + + break; + + case 'checkbox': + case 'radio': + i.attr('checked', i.attr('defaultValue')); + break; + + case 'text': + case 'textarea': + i.val(i.attr('defaultValue')); + + if (i.val() == '') { + i.addClass('polyfill-placeholder'); + i.val(i.attr('placeholder')); + } + + break; + + default: + i.val(i.attr('defaultValue')); + break; + + } + }); + + }); + + return $this; + + }; + + /** + * Moves elements to/from the first positions of their respective parents. + * @param {jQuery} $elements Elements (or selector) to move. + * @param {bool} condition If true, moves elements to the top. Otherwise, moves elements back to their original locations. + */ + $.prioritize = function($elements, condition) { + + var key = '__prioritize'; + + // Expand $elements if it's not already a jQuery object. + if (typeof $elements != 'jQuery') + $elements = $($elements); + + // Step through elements. + $elements.each(function() { + + var $e = $(this), $p, + $parent = $e.parent(); + + // No parent? Bail. + if ($parent.length == 0) + return; + + // Not moved? Move it. + if (!$e.data(key)) { + + // Condition is false? Bail. + if (!condition) + return; + + // Get placeholder (which will serve as our point of reference for when this element needs to move back). + $p = $e.prev(); + + // Couldn't find anything? Means this element's already at the top, so bail. + if ($p.length == 0) + return; + + // Move element to top of parent. + $e.prependTo($parent); + + // Mark element as moved. + $e.data(key, $p); + + } + + // Moved already? + else { + + // Condition is true? Bail. + if (condition) + return; + + $p = $e.data(key); + + // Move element back to its original location (using our placeholder). + $e.insertAfter($p); + + // Unmark element as moved. + $e.removeData(key); + + } + + }); + + }; + +})(jQuery); \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/base/_page.scss b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/base/_page.scss new file mode 100644 index 00000000..0212a5c6 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/base/_page.scss @@ -0,0 +1,42 @@ +/// +/// Dimension by HTML5 UP +/// html5up.net | @ajlkn +/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) +/// + +/* Basic */ + + // MSIE: Required for IEMobile. + @-ms-viewport { + width: device-width; + } + + // Ensures page width is always >=320px. + @include breakpoint('<=xsmall') { + html, body { + min-width: 320px; + } + } + + // Set box model to border-box. + // Based on css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice + html { + box-sizing: border-box; + } + + *, *:before, *:after { + box-sizing: inherit; + } + + body { + background: _palette(bg); + + // Stops initial animations until page loads. + &.is-preload { + *, *:before, *:after { + @include vendor('animation', 'none !important'); + @include vendor('transition', 'none !important'); + } + } + + } \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/base/_reset.scss b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/base/_reset.scss new file mode 100644 index 00000000..3fd00385 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/base/_reset.scss @@ -0,0 +1,76 @@ +/// +/// Dimension by HTML5 UP +/// html5up.net | @ajlkn +/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) +/// + +// Reset. +// Based on meyerweb.com/eric/tools/css/reset (v2.0 | 20110126 | License: public domain) + + html, body, div, span, applet, object, + iframe, h1, h2, h3, h4, h5, h6, p, blockquote, + pre, a, abbr, acronym, address, big, cite, + code, del, dfn, em, img, ins, kbd, q, s, samp, + small, strike, strong, sub, sup, tt, var, b, + u, i, center, dl, dt, dd, ol, ul, li, fieldset, + form, label, legend, table, caption, tbody, + tfoot, thead, tr, th, td, article, aside, + canvas, details, embed, figure, figcaption, + footer, header, hgroup, menu, nav, output, ruby, + section, summary, time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; + } + + article, aside, details, figcaption, figure, + footer, header, hgroup, menu, nav, section { + display: block; + } + + body { + line-height: 1; + } + + ol, ul { + list-style:none; + } + + blockquote, q { + quotes: none; + + &:before, + &:after { + content: ''; + content: none; + } + } + + table { + border-collapse: collapse; + border-spacing: 0; + } + + body { + -webkit-text-size-adjust: none; + } + + mark { + background-color: transparent; + color: inherit; + } + + input::-moz-focus-inner { + border: 0; + padding: 0; + } + + input, select, textarea { + -moz-appearance: none; + -webkit-appearance: none; + -ms-appearance: none; + appearance: none; + } \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/base/_typography.scss b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/base/_typography.scss new file mode 100644 index 00000000..4425ec3a --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/base/_typography.scss @@ -0,0 +1,183 @@ +/// +/// Dimension by HTML5 UP +/// html5up.net | @ajlkn +/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) +/// + +/* Type */ + + html { + font-size: 16pt; + + @include breakpoint('<=xlarge') { + font-size: 12pt; + } + + @include breakpoint('<=small') { + font-size: 11pt; + } + + @include breakpoint('<=xxsmall') { + font-size: 10pt; + } + } + + body, input, select, textarea { + color: _palette(fg); + font-family: _font(family); + font-weight: _font(weight); + font-size: 1rem; + line-height: 1.65; + } + + a { + @include vendor('transition', ( + 'color #{_duration(transition)} ease-in-out', + 'background-color #{_duration(transition)} ease-in-out', + 'border-bottom-color #{_duration(transition)} ease-in-out' + )); + border-bottom: dotted 1px _palette(fg-light); + text-decoration: none; + color: inherit; + + &:hover { + border-bottom-color: transparent; + } + } + + strong, b { + color: _palette(fg-bold); + font-weight: _font(weight-bold); + } + + em, i { + font-style: italic; + } + + p { + margin: 0 0 _size(element-margin) 0; + } + + h1, h2, h3, h4, h5, h6 { + color: _palette(fg-bold); + font-weight: _font(weight-bold); + line-height: 1.5; + margin: 0 0 (_size(element-margin) * 0.5) 0; + text-transform: uppercase; + letter-spacing: _font(letter-spacing); + + a { + color: inherit; + text-decoration: none; + } + + &.major { + border-bottom: solid _size(border-width) _palette(border); + width: -moz-max-content; + width: -webkit-max-content; + width: -ms-max-content; + width: max-content; + padding-bottom: 0.5rem; + margin: 0 0 (_size(element-margin) * 1) 0; + } + } + + h1 { + font-size: 2.25rem; + line-height: 1.3; + letter-spacing: _font(letter-spacing-heading); + } + + h2 { + font-size: 1.5rem; + line-height: 1.4; + letter-spacing: _font(letter-spacing-heading); + } + + h3 { + font-size: 1rem; + } + + h4 { + font-size: 0.8rem; + } + + h5 { + font-size: 0.7rem; + } + + h6 { + font-size: 0.6rem; + } + + @include breakpoint('<=small') { + h1 { + font-size: 1.75rem; + line-height: 1.4; + } + + h2 { + font-size: 1.25em; + line-height: 1.5; + } + } + + sub { + font-size: 0.8rem; + position: relative; + top: 0.5rem; + } + + sup { + font-size: 0.8rem; + position: relative; + top: -0.5rem; + } + + blockquote { + border-left: solid (_size(border-width) * 4) _palette(border); + font-style: italic; + margin: 0 0 _size(element-margin) 0; + padding: (_size(element-margin) / 4) 0 (_size(element-margin) / 4) _size(element-margin); + } + + code { + background: _palette(border-bg); + border-radius: _size(border-radius); + font-family: _font(family-fixed); + font-size: 0.9rem; + margin: 0 0.25rem; + padding: 0.25rem 0.65rem; + } + + pre { + -webkit-overflow-scrolling: touch; + font-family: _font(family-fixed); + font-size: 0.9rem; + margin: 0 0 _size(element-margin) 0; + + code { + display: block; + line-height: 1.75; + padding: 1rem 1.5rem; + overflow-x: auto; + } + } + + hr { + border: 0; + border-bottom: solid _size(border-width) _palette(border); + margin: (_size(element-margin) * 1.375) 0; + } + + .align-left { + text-align: left; + } + + .align-center { + text-align: center; + } + + .align-right { + text-align: right; + } \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_actions.scss b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_actions.scss new file mode 100644 index 00000000..a5be6971 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_actions.scss @@ -0,0 +1,101 @@ +/// +/// Dimension by HTML5 UP +/// html5up.net | @ajlkn +/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) +/// + +/* Actions */ + + ul.actions { + @include vendor('display', 'flex'); + cursor: default; + list-style: none; + margin-left: (_size(element-margin) * -0.5); + padding-left: 0; + + li { + padding: 0 0 0 (_size(element-margin) * 0.5); + vertical-align: middle; + } + + &.special { + @include vendor('justify-content', 'center'); + width: 100%; + margin-left: 0; + + li { + &:first-child { + padding-left: 0; + } + } + } + + &.stacked { + @include vendor('flex-direction', 'column'); + margin-left: 0; + + li { + padding: (_size(element-margin) * 0.65) 0 0 0; + + &:first-child { + padding-top: 0; + } + } + } + + &.fit { + width: calc(100% + #{_size(element-margin) * 0.5}); + + li { + @include vendor('flex-grow', '1'); + @include vendor('flex-shrink', '1'); + width: 100%; + + > * { + width: 100%; + } + } + + &.stacked { + width: 100%; + } + } + + @include breakpoint('<=xsmall') { + &:not(.fixed) { + @include vendor('flex-direction', 'column'); + margin-left: 0; + width: 100% !important; + + li { + @include vendor('flex-grow', '1'); + @include vendor('flex-shrink', '1'); + padding: (_size(element-margin) * 0.5) 0 0 0; + text-align: center; + width: 100%; + + > * { + width: 100%; + } + + &:first-child { + padding-top: 0; + } + + input[type="submit"], + input[type="reset"], + input[type="button"], + button, + .button { + width: 100%; + + &.icon { + &:before { + margin-left: -0.5em; + } + } + } + } + } + } + } \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_box.scss b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_box.scss new file mode 100644 index 00000000..9081e46e --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_box.scss @@ -0,0 +1,26 @@ +/// +/// Dimension by HTML5 UP +/// html5up.net | @ajlkn +/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) +/// + +/* Box */ + + .box { + border-radius: _size(border-radius); + border: solid _size(border-width) _palette(border); + margin-bottom: _size(element-margin); + padding: 1.5em; + + > :last-child, + > :last-child > :last-child, + > :last-child > :last-child > :last-child { + margin-bottom: 0; + } + + &.alt { + border: 0; + border-radius: 0; + padding: 0; + } + } \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_button.scss b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_button.scss new file mode 100644 index 00000000..d76e75c6 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_button.scss @@ -0,0 +1,84 @@ +/// +/// Dimension by HTML5 UP +/// html5up.net | @ajlkn +/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) +/// + +/* Button */ + + input[type="submit"], + input[type="reset"], + input[type="button"], + button, + .button { + @include vendor('appearance', 'none'); + @include vendor('transition', 'background-color #{_duration(transition)} ease-in-out, color #{_duration(transition)} ease-in-out'); + background-color: transparent; + border-radius: _size(border-radius); + border: 0; + box-shadow: inset 0 0 0 _size(border-width) _palette(border); + color: _palette(fg-bold) !important; + cursor: pointer; + display: inline-block; + font-size: 0.8rem; + font-weight: _font(weight); + height: _size(element-height); + letter-spacing: _font(letter-spacing); + line-height: _size(element-height); + outline: 0; + padding: 0 1.25rem 0 (1.25rem + (_font(letter-spacing) * 0.5)); + text-align: center; + text-decoration: none; + text-transform: uppercase; + white-space: nowrap; + + &:hover { + background-color: _palette(border-bg); + } + + &:active { + background-color: _palette(border-bg-alt); + } + + &.icon { + &:before { + margin-right: 0.5em; + } + } + + &.fit { + width: 100%; + } + + &.small { + font-size: 0.6rem; + height: (_size(element-height) * 0.75); + line-height: (_size(element-height) * 0.75); + } + + &.primary { + background-color: _palette(fg-bold); + color: _palette(bg) !important; + font-weight: _font(weight-bold); + + &:hover { + } + + &:active { + } + } + + &.disabled, + &:disabled { + @include vendor('pointer-events', 'none'); + cursor: default; + opacity: 0.25; + } + } + + input[type="submit"], + input[type="reset"], + input[type="button"], + button { + line-height: calc(#{_size(element-height)} - 2px); + } \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_form.scss b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_form.scss new file mode 100644 index 00000000..b50c8366 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_form.scss @@ -0,0 +1,252 @@ +/// +/// Dimension by HTML5 UP +/// html5up.net | @ajlkn +/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) +/// + +/* Form */ + + form { + margin: 0 0 _size(element-margin) 0; + + > :last-child { + margin-bottom: 0; + } + + > .fields { + $gutter: (_size(element-margin) * 0.75); + + @include vendor('display', 'flex'); + @include vendor('flex-wrap', 'wrap'); + width: calc(100% + #{$gutter * 2}); + margin: ($gutter * -1) 0 _size(element-margin) ($gutter * -1); + + > .field { + @include vendor('flex-grow', '0'); + @include vendor('flex-shrink', '0'); + padding: $gutter 0 0 $gutter; + width: calc(100% - #{$gutter * 1}); + + &.half { + width: calc(50% - #{$gutter * 0.5}); + } + + &.third { + width: calc(#{100% / 3} - #{$gutter * (1 / 3)}); + } + + &.quarter { + width: calc(25% - #{$gutter * 0.25}); + } + } + } + + @include breakpoint('<=xsmall') { + > .fields { + $gutter: (_size(element-margin) * 0.75); + + width: calc(100% + #{$gutter * 2}); + margin: ($gutter * -1) 0 _size(element-margin) ($gutter * -1); + + > .field { + padding: $gutter 0 0 $gutter; + width: calc(100% - #{$gutter * 1}); + + &.half { + width: calc(100% - #{$gutter * 1}); + } + + &.third { + width: calc(100% - #{$gutter * 1}); + } + + &.quarter { + width: calc(100% - #{$gutter * 1}); + } + } + } + } + } + + label { + color: _palette(fg-bold); + display: block; + font-size: 0.8rem; + font-weight: _font(weight); + letter-spacing: _font(letter-spacing); + line-height: 1.5; + margin: 0 0 (_size(element-margin) * 0.5) 0; + text-transform: uppercase; + } + + input[type="text"], + input[type="password"], + input[type="email"], + input[type="tel"], + select, + textarea { + @include vendor('appearance', 'none'); + @include vendor('transition', ( + 'border-color #{_duration(transition)} ease-in-out', + 'box-shadow #{_duration(transition)} ease-in-out', + 'background-color #{_duration(transition)} ease-in-out' + )); + background-color: transparent; + border-radius: _size(border-radius); + border: solid _size(border-width) _palette(border); + color: inherit; + display: block; + outline: 0; + padding: 0 1rem; + text-decoration: none; + width: 100%; + + &:invalid { + box-shadow: none; + } + + &:focus { + background: _palette(border-bg); + border-color: _palette(fg-bold); + box-shadow: 0 0 0 _size(border-width) _palette(fg-bold); + } + } + + select { + background-image: svg-url(""); + background-size: 1.25rem; + background-repeat: no-repeat; + background-position: calc(100% - 1rem) center; + height: _size(element-height); + padding-right: _size(element-height); + text-overflow: ellipsis; + + option { + color: _palette(fg); + background: _palette(bg); + } + + &:focus { + &::-ms-value { + background-color: transparent; + } + } + + &::-ms-expand { + display: none; + } + } + + input[type="text"], + input[type="password"], + input[type="email"], + select { + height: _size(element-height); + } + + textarea { + padding: 0.75rem 1rem; + } + + input[type="checkbox"], + input[type="radio"], { + @include vendor('appearance', 'none'); + display: block; + float: left; + margin-right: -2rem; + opacity: 0; + width: 1rem; + z-index: -1; + + & + label { + @include icon(false, solid); + @include vendor('user-select', 'none'); + color: _palette(fg); + cursor: pointer; + display: inline-block; + font-size: 0.8rem; + font-weight: _font(weight); + margin: 0 0 (_size(element-margin) * 0.25) 0; + padding-left: (_size(element-height) * 0.6) + 1rem; + padding-right: 0.75rem; + position: relative; + + &:before { + @include vendor('transition', ( + 'border-color #{_duration(transition)} ease-in-out', + 'box-shadow #{_duration(transition)} ease-in-out', + 'background-color #{_duration(transition)} ease-in-out' + )); + border-radius: _size(border-radius); + border: solid _size(border-width) _palette(border); + content: ''; + display: inline-block; + height: (_size(element-height) * 0.6); + left: 0; + line-height: (_size(element-height) * 0.6); + //line-height: calc(#{_size(element-height) * 0.6} + 0em); + position: absolute; + text-align: center; + top: -0.15rem; + width: (_size(element-height) * 0.6); + } + } + + &:checked + label { + &:before { + background: _palette(fg-bold) !important; + border-color: _palette(fg-bold) !important; + color: _palette(bg); + content: '\f00c'; + } + } + + &:focus + label { + &:before { + background: _palette(border-bg); + border-color: _palette(fg-bold); + box-shadow: 0 0 0 _size(border-width) _palette(fg-bold); + } + } + } + + input[type="checkbox"] { + & + label { + &:before { + border-radius: _size(border-radius); + } + } + } + + input[type="radio"] { + & + label { + &:before { + border-radius: 100%; + } + } + } + + ::-webkit-input-placeholder { + color: _palette(fg-light) !important; + opacity: 1.0; + } + + :-moz-placeholder { + color: _palette(fg-light) !important; + opacity: 1.0; + } + + ::-moz-placeholder { + color: _palette(fg-light) !important; + opacity: 1.0; + } + + :-ms-input-placeholder { + color: _palette(fg-light) !important; + opacity: 1.0; + } + + .formerize-placeholder { + color: _palette(fg-light) !important; + opacity: 1.0; + } \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_icon.scss b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_icon.scss new file mode 100644 index 00000000..c4712aad --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_icon.scss @@ -0,0 +1,33 @@ +/// +/// Dimension by HTML5 UP +/// html5up.net | @ajlkn +/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) +/// + +/* Icon */ + + .icon { + @include icon; + border-bottom: none; + position: relative; + + > .label { + display: none; + } + + &:before { + line-height: inherit; + } + + &.solid { + &:before { + font-weight: 900; + } + } + + &.brands { + &:before { + font-family: 'Font Awesome 5 Brands'; + } + } + } \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_icons.scss b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_icons.scss new file mode 100644 index 00000000..f096a325 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_icons.scss @@ -0,0 +1,40 @@ +/// +/// Dimension by HTML5 UP +/// html5up.net | @ajlkn +/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) +/// + +/* Icons */ + + ul.icons { + cursor: default; + list-style: none; + padding-left: 0; + + li { + display: inline-block; + padding: 0 0.75em 0 0; + + &:last-child { + padding-right: 0; + } + + a { + border-radius: 100%; + box-shadow: inset 0 0 0 _size(border-width) _palette(border); + display: inline-block; + height: 2.25rem; + line-height: 2.25rem; + text-align: center; + width: 2.25rem; + + &:hover { + background-color: _palette(border-bg); + } + + &:active { + background-color: _palette(border-bg-alt); + } + } + } + } \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_image.scss b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_image.scss new file mode 100644 index 00000000..9a57d0f9 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_image.scss @@ -0,0 +1,87 @@ +/// +/// Dimension by HTML5 UP +/// html5up.net | @ajlkn +/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) +/// + +/* Image */ + + .image { + border-radius: _size(border-radius); + border: 0; + display: inline-block; + position: relative; + + &:before { + @include vendor('pointer-events', 'none'); + background-image: url('../../images/overlay.png'); + background-color: _palette(bg-overlay); + border-radius: _size(border-radius); + content: ''; + display: block; + height: 100%; + left: 0; + opacity: 0.5; + position: absolute; + top: 0; + width: 100%; + } + + img { + border-radius: _size(border-radius); + display: block; + } + + &.left, + &.right { + max-width: 40%; + + img { + width: 100%; + } + } + + &.left { + float: left; + padding: 0 1.5em 1em 0; + top: 0.25em; + } + + &.right { + float: right; + padding: 0 0 1em 1.5em; + top: 0.25em; + } + + &.fit { + display: block; + margin: 0 0 _size(element-margin) 0; + width: 100%; + + img { + width: 100%; + } + } + + &.main { + display: block; + margin: (_size(element-margin) * 1.25) 0; + width: 100%; + + img { + width: 100%; + } + } + + @include breakpoint('<=small') { + &.main { + margin: (_size(element-margin) * 1) 0; + } + } + + @include breakpoint('<=xsmall') { + &.main { + margin: (_size(element-margin) * 0.75) 0; + } + } + } \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_list.scss b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_list.scss new file mode 100644 index 00000000..5d9c3643 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_list.scss @@ -0,0 +1,56 @@ +/// +/// Dimension by HTML5 UP +/// html5up.net | @ajlkn +/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) +/// + +/* List */ + + ol { + list-style: decimal; + margin: 0 0 _size(element-margin) 0; + padding-left: 1.25em; + + li { + padding-left: 0.25em; + } + } + + ul { + list-style: disc; + margin: 0 0 _size(element-margin) 0; + padding-left: 1em; + + li { + padding-left: 0.5em; + } + + &.alt { + list-style: none; + padding-left: 0; + + li { + border-top: solid _size(border-width) _palette(border); + padding: 0.5em 0; + + &:first-child { + border-top: 0; + padding-top: 0; + } + } + } + } + + dl { + margin: 0 0 _size(element-margin) 0; + + dt { + display: block; + font-weight: _font(weight-bold); + margin: 0 0 (_size(element-margin) * 0.5) 0; + } + + dd { + margin-left: _size(element-margin); + } + } \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_table.scss b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_table.scss new file mode 100644 index 00000000..3fcb5bbf --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/components/_table.scss @@ -0,0 +1,81 @@ +/// +/// Dimension by HTML5 UP +/// html5up.net | @ajlkn +/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) +/// + +/* Table */ + + .table-wrapper { + -webkit-overflow-scrolling: touch; + overflow-x: auto; + } + + table { + margin: 0 0 _size(element-margin) 0; + width: 100%; + + tbody { + tr { + border: solid _size(border-width) _palette(border); + border-left: 0; + border-right: 0; + + &:nth-child(2n + 1) { + background-color: _palette(border-bg); + } + } + } + + td { + padding: 0.75em 0.75em; + } + + th { + color: _palette(fg-bold); + font-size: 0.9em; + font-weight: _font(weight-bold); + padding: 0 0.75em 0.75em 0.75em; + text-align: left; + } + + thead { + border-bottom: solid (_size(border-width) * 2) _palette(border); + } + + tfoot { + border-top: solid (_size(border-width) * 2) _palette(border); + } + + &.alt { + border-collapse: separate; + + tbody { + tr { + td { + border: solid _size(border-width) _palette(border); + border-left-width: 0; + border-top-width: 0; + + &:first-child { + border-left-width: _size(border-width); + } + } + + &:first-child { + td { + border-top-width: _size(border-width); + } + } + } + } + + thead { + border-bottom: 0; + } + + tfoot { + border-top: 0; + } + } + } \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/layout/_bg.scss b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/layout/_bg.scss new file mode 100644 index 00000000..218df165 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/layout/_bg.scss @@ -0,0 +1,68 @@ +/// +/// Dimension by HTML5 UP +/// html5up.net | @ajlkn +/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) +/// + +/* BG */ + + #bg { + @include vendor('transform', 'scale(1.0)'); + -webkit-backface-visibility: hidden; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100vh; + z-index: 1; + + &:before, &:after { + content: ''; + display: block; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + } + + &:before { + @include vendor('transition', 'background-color #{_duration(bg)} ease-in-out'); + @include vendor('transition-delay', '#{_duration(intro)}'); + background-image: linear-gradient(to top, #{_palette(bg-overlay)}, #{_palette(bg-overlay)}), + url('../../images/overlay.png'); + background-size: auto, + 256px 256px; + background-position: center, + center; + background-repeat: no-repeat, + repeat; + z-index: 2; + } + + &:after { + @include vendor('transform', 'scale(1.125)'); + @include vendor('transition', ( + 'transform #{_duration(article)} ease-in-out', + 'filter #{_duration(article)} ease-in-out' + )); + background-image: url('../../images/bg.jpg'); + background-position: center; + background-size: cover; + background-repeat: no-repeat; + z-index: 1; + } + + body.is-article-visible & { + &:after { + @include vendor('transform', 'scale(1.0825)'); + @include vendor('filter', 'blur(0.2rem)'); + } + } + + body.is-preload & { + &:before { + background-color: _palette(bg-alt); + } + } + } \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/layout/_footer.scss b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/layout/_footer.scss new file mode 100644 index 00000000..e1eda7a4 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/layout/_footer.scss @@ -0,0 +1,37 @@ +/// +/// Dimension by HTML5 UP +/// html5up.net | @ajlkn +/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) +/// + +/* Footer */ + + #footer { + @include vendor('transition', ( + 'transform #{_duration(article)} ease-in-out', + 'filter #{_duration(article)} ease-in-out', + 'opacity #{_duration(article)} ease-in-out', + )); + width: 100%; + max-width: 100%; + margin-top: 2rem; + text-align: center; + + .copyright { + letter-spacing: _font(letter-spacing); + font-size: 0.6rem; + opacity: 0.75; + margin-bottom: 0; + text-transform: uppercase; + } + + body.is-article-visible & { + @include vendor('transform', 'scale(0.95)'); + @include vendor('filter', 'blur(0.1rem)'); + opacity: 0; + } + + body.is-preload & { + opacity: 0; + } + } \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/layout/_header.scss b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/layout/_header.scss new file mode 100644 index 00000000..fcfec0a0 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/layout/_header.scss @@ -0,0 +1,261 @@ +/// +/// Dimension by HTML5 UP +/// html5up.net | @ajlkn +/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) +/// + +/* Header */ + + #header { + @include vendor('display', 'flex'); + @include vendor('flex-direction', 'column'); + @include vendor('align-items', 'center'); + @include vendor('transition', ( + 'transform #{_duration(article)} ease-in-out', + 'filter #{_duration(article)} ease-in-out', + 'opacity #{_duration(article)} ease-in-out', + )); + background-image: -moz-radial-gradient(rgba(0,0,0,0.25) 25%, rgba(0,0,0,0) 55%); + background-image: -webkit-radial-gradient(rgba(0,0,0,0.25) 25%, rgba(0,0,0,0) 55%); + background-image: -ms-radial-gradient(rgba(0,0,0,0.25) 25%, rgba(0,0,0,0) 55%); + background-image: radial-gradient(rgba(0,0,0,0.25) 25%, rgba(0,0,0,0) 55%); + max-width: 100%; + text-align: center; + + > * { + @include vendor('transition', 'opacity #{_duration(article)} ease-in-out'); + position: relative; + margin-top: 3.5rem; + + &:before { + content: ''; + display: block; + position: absolute; + top: calc(-3.5rem - 1px); + left: calc(50% - #{_size(border-width) * 1}); + width: _size(border-width); + height: calc(3.5rem + 1px); + background: _palette(border); + } + } + + > :first-child { + margin-top: 0; + + &:before { + display: none; + } + } + + .logo { + width: 5.5rem; + height: 5.5rem; + line-height: 5.5rem; + border: solid _size(border-width) _palette(border); + border-radius: 100%; + + .icon { + &:before { + font-size: 2rem; + } + } + } + + .content { + border-style: solid; + border-color: _palette(border); + border-top-width: _size(border-width); + border-bottom-width: _size(border-width); + max-width: 100%; + + .inner { + @include vendor('transition', ( + 'max-height #{_duration(intro)} ease', + 'padding #{_duration(intro)} ease', + 'opacity #{_duration(article)} ease-in-out' + )); + @include vendor('transition-delay', '0.25s'); + padding: 3rem 2rem; + max-height: 40rem; + overflow: hidden; + + > :last-child { + margin-bottom: 0; + } + } + + p { + text-transform: uppercase; + letter-spacing: _font(letter-spacing); + font-size: 0.8rem; + line-height: 2; + } + } + + nav { + ul { + @include vendor('display', 'flex'); + margin-bottom: 0; + list-style: none; + padding-left: 0; + border: solid _size(border-width) _palette(border); + border-radius: _size(border-radius); + + li { + padding-left: 0; + border-left: solid _size(border-width) _palette(border); + + &:first-child { + border-left: 0; + } + + a { + display: block; + min-width: 7.5rem; + height: 2.75rem; + line-height: 2.75rem; + padding: 0 1.25rem 0 (1.25rem + _font(letter-spacing)); + text-transform: uppercase; + letter-spacing: _font(letter-spacing); + font-size: 0.8rem; + border-bottom: 0; + + &:hover { + background-color: _palette(border-bg); + } + + &:active { + background-color: _palette(border-bg-alt); + } + } + } + } + + &.use-middle { + &:after { + content: ''; + display: block; + position: absolute; + top: 0; + left: calc(50% - #{_size(border-width) * 1}); + width: _size(border-width); + height: 100%; + background: _palette(border); + } + + ul { + li { + &.is-middle { + border-left: 0; + } + } + } + } + } + + body.is-article-visible & { + @include vendor('transform', 'scale(0.95)'); + @include vendor('filter', 'blur(0.1rem)'); + opacity: 0; + } + + body.is-preload & { + > * { + opacity: 0; + } + + @include vendor('filter', 'blur(0.125rem)'); + + .content { + .inner { + max-height: 0; + padding-top: 0; + padding-bottom: 0; + opacity: 0; + } + } + } + + @include breakpoint('<=medium') { + .content { + p { + br { + display: none; + } + } + } + } + + @include breakpoint('<=small') { + > * { + margin-top: 2rem; + + &:before { + top: calc(-2rem - 1px); + height: calc(2rem + 1px); + } + } + + .logo { + width: 4.75rem; + height: 4.75rem; + line-height: 4.75rem; + + .icon { + &:before { + font-size: 1.75rem; + } + } + } + + .content { + .inner { + padding: 2.5rem 1rem; + } + + p { + line-height: 1.875; + } + } + } + + @include breakpoint('<=xsmall') { + padding: 1.5rem 0; + + .content { + .inner { + padding: 2.5rem 0; + } + } + + nav { + ul { + @include vendor('flex-direction', 'column'); + min-width: 10rem; + max-width: 100%; + + li { + border-left: 0; + border-top: solid _size(border-width) _palette(border); + + &:first-child { + border-top: 0; + } + + a { + height: 3rem; + line-height: 3rem; + min-width: 0; + width: 100%; + } + } + } + + &.use-middle { + &:after { + display: none; + } + } + } + } + } \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/layout/_main.scss b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/layout/_main.scss new file mode 100644 index 00000000..e41e702f --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/layout/_main.scss @@ -0,0 +1,102 @@ +/// +/// Dimension by HTML5 UP +/// html5up.net | @ajlkn +/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) +/// + +/* Main */ + + #main { + @include vendor('flex-grow', '1'); + @include vendor('flex-shrink', '1'); + @include vendor('display', 'flex'); + @include vendor('align-items', 'center'); + @include vendor('justify-content', 'center'); + @include vendor('flex-direction', 'column'); + position: relative; + max-width: 100%; + z-index: 3; + + article { + @include vendor('transform', 'translateY(0.25rem)'); + @include vendor('transition', ( + 'opacity #{_duration(article)} ease-in-out', + 'transform #{_duration(article)} ease-in-out' + )); + @include padding(2.5rem, 2.5rem, (2rem, 0, 1rem, 0)); + position: relative; + width: 40rem; + max-width: 100%; + background-color: transparentize(_palette(bg), 0.15); + border-radius: _size(border-radius); + opacity: 0; + + &.active { + @include vendor('transform', 'translateY(0)'); + opacity: 1; + } + + .close { + display: block; + position: absolute; + top: 0; + right: 0; + width: 4rem; + height: 4rem; + cursor: pointer; + text-indent: 4rem; + overflow: hidden; + white-space: nowrap; + + &:before { + @include vendor('transition', 'background-color #{_duration(transition)} ease-in-out'); + content: ''; + display: block; + position: absolute; + top: 0.75rem; + left: 0.75rem; + width: 2.5rem; + height: 2.5rem; + border-radius: 100%; + background-position: center; + background-image: svg-url(''); + background-size: 20px 20px; + background-repeat: no-repeat; + } + + &:hover { + &:before { + background-color: _palette(border-bg); + } + } + + &:active { + &:before { + background-color: _palette(border-bg-alt); + } + } + } + } + + @include breakpoint('<=small') { + article { + @include padding(2rem, 2rem, (1.5rem, 0, 0.5rem, 0)); + + .close { + &:before { + top: 0.875rem; + left: 0.875rem; + width: 2.25rem; + height: 2.25rem; + background-size: 14px 14px; + } + } + } + } + + @include breakpoint('<=xsmall') { + article { + @include padding(2rem, 1.5rem, (1rem, 0, 0.5rem, 0)); + } + } + } \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/layout/_wrapper.scss b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/layout/_wrapper.scss new file mode 100644 index 00000000..352ceea7 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/layout/_wrapper.scss @@ -0,0 +1,36 @@ +/// +/// Dimension by HTML5 UP +/// html5up.net | @ajlkn +/// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) +/// + +/* Wrapper */ + + #wrapper { + @include vendor('display', 'flex'); + @include vendor('flex-direction', 'column'); + @include vendor('align-items', 'center'); + @include vendor('justify-content', 'space-between'); + position: relative; + min-height: 100vh; + width: 100%; + padding: 4rem 2rem; + z-index: 3; + + &:before { + content: ''; + display: block; + } + + @include breakpoint('<=xlarge') { + padding: 3rem 2rem; + } + + @include breakpoint('<=small') { + padding: 2rem 1rem; + } + + @include breakpoint('<=xsmall') { + padding: 1rem; + } + } \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/libs/_breakpoints.scss b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/libs/_breakpoints.scss new file mode 100644 index 00000000..c5301d85 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/libs/_breakpoints.scss @@ -0,0 +1,223 @@ +// breakpoints.scss v1.0 | @ajlkn | MIT licensed */ + +// Vars. + + /// Breakpoints. + /// @var {list} + $breakpoints: () !global; + +// Mixins. + + /// Sets breakpoints. + /// @param {map} $x Breakpoints. + @mixin breakpoints($x: ()) { + $breakpoints: $x !global; + } + + /// Wraps @content in a @media block targeting a specific orientation. + /// @param {string} $orientation Orientation. + @mixin orientation($orientation) { + @media screen and (orientation: #{$orientation}) { + @content; + } + } + + /// Wraps @content in a @media block using a given query. + /// @param {string} $query Query. + @mixin breakpoint($query: null) { + + $breakpoint: null; + $op: null; + $media: null; + + // Determine operator, breakpoint. + + // Greater than or equal. + @if (str-slice($query, 0, 2) == '>=') { + + $op: 'gte'; + $breakpoint: str-slice($query, 3); + + } + + // Less than or equal. + @elseif (str-slice($query, 0, 2) == '<=') { + + $op: 'lte'; + $breakpoint: str-slice($query, 3); + + } + + // Greater than. + @elseif (str-slice($query, 0, 1) == '>') { + + $op: 'gt'; + $breakpoint: str-slice($query, 2); + + } + + // Less than. + @elseif (str-slice($query, 0, 1) == '<') { + + $op: 'lt'; + $breakpoint: str-slice($query, 2); + + } + + // Not. + @elseif (str-slice($query, 0, 1) == '!') { + + $op: 'not'; + $breakpoint: str-slice($query, 2); + + } + + // Equal. + @else { + + $op: 'eq'; + $breakpoint: $query; + + } + + // Build media. + @if ($breakpoint and map-has-key($breakpoints, $breakpoint)) { + + $a: map-get($breakpoints, $breakpoint); + + // Range. + @if (type-of($a) == 'list') { + + $x: nth($a, 1); + $y: nth($a, 2); + + // Max only. + @if ($x == null) { + + // Greater than or equal (>= 0 / anything) + @if ($op == 'gte') { + $media: 'screen'; + } + + // Less than or equal (<= y) + @elseif ($op == 'lte') { + $media: 'screen and (max-width: ' + $y + ')'; + } + + // Greater than (> y) + @elseif ($op == 'gt') { + $media: 'screen and (min-width: ' + ($y + 1) + ')'; + } + + // Less than (< 0 / invalid) + @elseif ($op == 'lt') { + $media: 'screen and (max-width: -1px)'; + } + + // Not (> y) + @elseif ($op == 'not') { + $media: 'screen and (min-width: ' + ($y + 1) + ')'; + } + + // Equal (<= y) + @else { + $media: 'screen and (max-width: ' + $y + ')'; + } + + } + + // Min only. + @else if ($y == null) { + + // Greater than or equal (>= x) + @if ($op == 'gte') { + $media: 'screen and (min-width: ' + $x + ')'; + } + + // Less than or equal (<= inf / anything) + @elseif ($op == 'lte') { + $media: 'screen'; + } + + // Greater than (> inf / invalid) + @elseif ($op == 'gt') { + $media: 'screen and (max-width: -1px)'; + } + + // Less than (< x) + @elseif ($op == 'lt') { + $media: 'screen and (max-width: ' + ($x - 1) + ')'; + } + + // Not (< x) + @elseif ($op == 'not') { + $media: 'screen and (max-width: ' + ($x - 1) + ')'; + } + + // Equal (>= x) + @else { + $media: 'screen and (min-width: ' + $x + ')'; + } + + } + + // Min and max. + @else { + + // Greater than or equal (>= x) + @if ($op == 'gte') { + $media: 'screen and (min-width: ' + $x + ')'; + } + + // Less than or equal (<= y) + @elseif ($op == 'lte') { + $media: 'screen and (max-width: ' + $y + ')'; + } + + // Greater than (> y) + @elseif ($op == 'gt') { + $media: 'screen and (min-width: ' + ($y + 1) + ')'; + } + + // Less than (< x) + @elseif ($op == 'lt') { + $media: 'screen and (max-width: ' + ($x - 1) + ')'; + } + + // Not (< x and > y) + @elseif ($op == 'not') { + $media: 'screen and (max-width: ' + ($x - 1) + '), screen and (min-width: ' + ($y + 1) + ')'; + } + + // Equal (>= x and <= y) + @else { + $media: 'screen and (min-width: ' + $x + ') and (max-width: ' + $y + ')'; + } + + } + + } + + // String. + @else { + + // Missing a media type? Prefix with "screen". + @if (str-slice($a, 0, 1) == '(') { + $media: 'screen and ' + $a; + } + + // Otherwise, use as-is. + @else { + $media: $a; + } + + } + + } + + // Output. + @media #{$media} { + @content; + } + + } \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/libs/_functions.scss b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/libs/_functions.scss new file mode 100644 index 00000000..b367524a --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/libs/_functions.scss @@ -0,0 +1,90 @@ +/// Removes a specific item from a list. +/// @author Hugo Giraudel +/// @param {list} $list List. +/// @param {integer} $index Index. +/// @return {list} Updated list. +@function remove-nth($list, $index) { + + $result: null; + + @if type-of($index) != number { + @warn "$index: #{quote($index)} is not a number for `remove-nth`."; + } + @else if $index == 0 { + @warn "List index 0 must be a non-zero integer for `remove-nth`."; + } + @else if abs($index) > length($list) { + @warn "List index is #{$index} but list is only #{length($list)} item long for `remove-nth`."; + } + @else { + + $result: (); + $index: if($index < 0, length($list) + $index + 1, $index); + + @for $i from 1 through length($list) { + + @if $i != $index { + $result: append($result, nth($list, $i)); + } + + } + + } + + @return $result; + +} + +/// Gets a value from a map. +/// @author Hugo Giraudel +/// @param {map} $map Map. +/// @param {string} $keys Key(s). +/// @return {string} Value. +@function val($map, $keys...) { + + @if nth($keys, 1) == null { + $keys: remove-nth($keys, 1); + } + + @each $key in $keys { + $map: map-get($map, $key); + } + + @return $map; + +} + +/// Gets a duration value. +/// @param {string} $keys Key(s). +/// @return {string} Value. +@function _duration($keys...) { + @return val($duration, $keys...); +} + +/// Gets a font value. +/// @param {string} $keys Key(s). +/// @return {string} Value. +@function _font($keys...) { + @return val($font, $keys...); +} + +/// Gets a misc value. +/// @param {string} $keys Key(s). +/// @return {string} Value. +@function _misc($keys...) { + @return val($misc, $keys...); +} + +/// Gets a palette value. +/// @param {string} $keys Key(s). +/// @return {string} Value. +@function _palette($keys...) { + @return val($palette, $keys...); +} + +/// Gets a size value. +/// @param {string} $keys Key(s). +/// @return {string} Value. +@function _size($keys...) { + @return val($size, $keys...); +} \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/libs/_mixins.scss b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/libs/_mixins.scss new file mode 100644 index 00000000..81874635 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/libs/_mixins.scss @@ -0,0 +1,78 @@ +/// Makes an element's :before pseudoelement a FontAwesome icon. +/// @param {string} $content Optional content value to use. +/// @param {string} $category Optional category to use. +/// @param {string} $where Optional pseudoelement to target (before or after). +@mixin icon($content: false, $category: regular, $where: before) { + + text-decoration: none; + + &:#{$where} { + + @if $content { + content: $content; + } + + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1; + text-transform: none !important; + + @if ($category == brands) { + font-family: 'Font Awesome 5 Brands'; + } + @elseif ($category == solid) { + font-family: 'Font Awesome 5 Free'; + font-weight: 900; + } + @else { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; + } + + } + +} + +/// Applies padding to an element, taking the current element-margin value into account. +/// @param {mixed} $tb Top/bottom padding. +/// @param {mixed} $lr Left/right padding. +/// @param {list} $pad Optional extra padding (in the following order top, right, bottom, left) +/// @param {bool} $important If true, adds !important. +@mixin padding($tb, $lr, $pad: (0,0,0,0), $important: null) { + + @if $important { + $important: '!important'; + } + + $x: 0.1em; + + @if unit(_size(element-margin)) == 'rem' { + $x: 0.1rem; + } + + padding: ($tb + nth($pad,1)) ($lr + nth($pad,2)) max($x, $tb - _size(element-margin) + nth($pad,3)) ($lr + nth($pad,4)) #{$important}; + +} + +/// Encodes a SVG data URL so IE doesn't choke (via codepen.io/jakob-e/pen/YXXBrp). +/// @param {string} $svg SVG data URL. +/// @return {string} Encoded SVG data URL. +@function svg-url($svg) { + + $svg: str-replace($svg, '"', '\''); + $svg: str-replace($svg, '%', '%25'); + $svg: str-replace($svg, '<', '%3C'); + $svg: str-replace($svg, '>', '%3E'); + $svg: str-replace($svg, '&', '%26'); + $svg: str-replace($svg, '#', '%23'); + $svg: str-replace($svg, '{', '%7B'); + $svg: str-replace($svg, '}', '%7D'); + $svg: str-replace($svg, ';', '%3B'); + + @return url("data:image/svg+xml;charset=utf8,#{$svg}"); + +} \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/libs/_vars.scss b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/libs/_vars.scss new file mode 100644 index 00000000..ba1d849c --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/libs/_vars.scss @@ -0,0 +1,43 @@ +// Misc. + $misc: ( + z-index-base: 10000 + ); + +// Duration. + $duration: ( + transition: 0.2s, + bg: 2.5s, + intro: 0.75s, + article: 0.325s + ); + +// Size. + $size: ( + border-radius: 4px, + border-width: 1px, + element-height: 2.75rem, + element-margin: 2rem + ); + +// Font. + $font: ( + family: ('Source Sans Pro', sans-serif), + family-fixed: ('Courier New', monospace), + weight: 300, + weight-bold: 600, + letter-spacing: 0.2rem, + letter-spacing-heading: 0.5rem + ); + +// Palette. + $palette: ( + bg: #1b1f22, + bg-alt: #000000, + bg-overlay: rgba(19,21,25,0.5), + fg: #ffffff, + fg-bold: #ffffff, + fg-light: rgba(255,255,255,0.5), + border: #ffffff, + border-bg: rgba(255,255,255,0.075), + border-bg-alt: rgba(255,255,255,0.175) + ); \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/libs/_vendor.scss b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/libs/_vendor.scss new file mode 100644 index 00000000..6599a3fe --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/libs/_vendor.scss @@ -0,0 +1,376 @@ +// vendor.scss v1.0 | @ajlkn | MIT licensed */ + +// Vars. + + /// Vendor prefixes. + /// @var {list} + $vendor-prefixes: ( + '-moz-', + '-webkit-', + '-ms-', + '' + ); + + /// Properties that should be vendorized. + /// Data via caniuse.com, github.com/postcss/autoprefixer, and developer.mozilla.org + /// @var {list} + $vendor-properties: ( + + // Animation. + 'animation', + 'animation-delay', + 'animation-direction', + 'animation-duration', + 'animation-fill-mode', + 'animation-iteration-count', + 'animation-name', + 'animation-play-state', + 'animation-timing-function', + + // Appearance. + 'appearance', + + // Backdrop filter. + 'backdrop-filter', + + // Background image options. + 'background-clip', + 'background-origin', + 'background-size', + + // Box sizing. + 'box-sizing', + + // Clip path. + 'clip-path', + + // Filter effects. + 'filter', + + // Flexbox. + 'align-content', + 'align-items', + 'align-self', + 'flex', + 'flex-basis', + 'flex-direction', + 'flex-flow', + 'flex-grow', + 'flex-shrink', + 'flex-wrap', + 'justify-content', + 'order', + + // Font feature. + 'font-feature-settings', + 'font-language-override', + 'font-variant-ligatures', + + // Font kerning. + 'font-kerning', + + // Fragmented borders and backgrounds. + 'box-decoration-break', + + // Grid layout. + 'grid-column', + 'grid-column-align', + 'grid-column-end', + 'grid-column-start', + 'grid-row', + 'grid-row-align', + 'grid-row-end', + 'grid-row-start', + 'grid-template-columns', + 'grid-template-rows', + + // Hyphens. + 'hyphens', + 'word-break', + + // Masks. + 'mask', + 'mask-border', + 'mask-border-outset', + 'mask-border-repeat', + 'mask-border-slice', + 'mask-border-source', + 'mask-border-width', + 'mask-clip', + 'mask-composite', + 'mask-image', + 'mask-origin', + 'mask-position', + 'mask-repeat', + 'mask-size', + + // Multicolumn. + 'break-after', + 'break-before', + 'break-inside', + 'column-count', + 'column-fill', + 'column-gap', + 'column-rule', + 'column-rule-color', + 'column-rule-style', + 'column-rule-width', + 'column-span', + 'column-width', + 'columns', + + // Object fit. + 'object-fit', + 'object-position', + + // Regions. + 'flow-from', + 'flow-into', + 'region-fragment', + + // Scroll snap points. + 'scroll-snap-coordinate', + 'scroll-snap-destination', + 'scroll-snap-points-x', + 'scroll-snap-points-y', + 'scroll-snap-type', + + // Shapes. + 'shape-image-threshold', + 'shape-margin', + 'shape-outside', + + // Tab size. + 'tab-size', + + // Text align last. + 'text-align-last', + + // Text decoration. + 'text-decoration-color', + 'text-decoration-line', + 'text-decoration-skip', + 'text-decoration-style', + + // Text emphasis. + 'text-emphasis', + 'text-emphasis-color', + 'text-emphasis-position', + 'text-emphasis-style', + + // Text size adjust. + 'text-size-adjust', + + // Text spacing. + 'text-spacing', + + // Transform. + 'transform', + 'transform-origin', + + // Transform 3D. + 'backface-visibility', + 'perspective', + 'perspective-origin', + 'transform-style', + + // Transition. + 'transition', + 'transition-delay', + 'transition-duration', + 'transition-property', + 'transition-timing-function', + + // Unicode bidi. + 'unicode-bidi', + + // User select. + 'user-select', + + // Writing mode. + 'writing-mode', + + ); + + /// Values that should be vendorized. + /// Data via caniuse.com, github.com/postcss/autoprefixer, and developer.mozilla.org + /// @var {list} + $vendor-values: ( + + // Cross fade. + 'cross-fade', + + // Element function. + 'element', + + // Filter function. + 'filter', + + // Flexbox. + 'flex', + 'inline-flex', + + // Grab cursors. + 'grab', + 'grabbing', + + // Gradients. + 'linear-gradient', + 'repeating-linear-gradient', + 'radial-gradient', + 'repeating-radial-gradient', + + // Grid layout. + 'grid', + 'inline-grid', + + // Image set. + 'image-set', + + // Intrinsic width. + 'max-content', + 'min-content', + 'fit-content', + 'fill', + 'fill-available', + 'stretch', + + // Sticky position. + 'sticky', + + // Transform. + 'transform', + + // Zoom cursors. + 'zoom-in', + 'zoom-out', + + ); + +// Functions. + + /// Removes a specific item from a list. + /// @author Hugo Giraudel + /// @param {list} $list List. + /// @param {integer} $index Index. + /// @return {list} Updated list. + @function remove-nth($list, $index) { + + $result: null; + + @if type-of($index) != number { + @warn "$index: #{quote($index)} is not a number for `remove-nth`."; + } + @else if $index == 0 { + @warn "List index 0 must be a non-zero integer for `remove-nth`."; + } + @else if abs($index) > length($list) { + @warn "List index is #{$index} but list is only #{length($list)} item long for `remove-nth`."; + } + @else { + + $result: (); + $index: if($index < 0, length($list) + $index + 1, $index); + + @for $i from 1 through length($list) { + + @if $i != $index { + $result: append($result, nth($list, $i)); + } + + } + + } + + @return $result; + + } + + /// Replaces a substring within another string. + /// @author Hugo Giraudel + /// @param {string} $string String. + /// @param {string} $search Substring. + /// @param {string} $replace Replacement. + /// @return {string} Updated string. + @function str-replace($string, $search, $replace: '') { + + $index: str-index($string, $search); + + @if $index { + @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace); + } + + @return $string; + + } + + /// Replaces a substring within each string in a list. + /// @param {list} $strings List of strings. + /// @param {string} $search Substring. + /// @param {string} $replace Replacement. + /// @return {list} Updated list of strings. + @function str-replace-all($strings, $search, $replace: '') { + + @each $string in $strings { + $strings: set-nth($strings, index($strings, $string), str-replace($string, $search, $replace)); + } + + @return $strings; + + } + +// Mixins. + + /// Wraps @content in vendorized keyframe blocks. + /// @param {string} $name Name. + @mixin keyframes($name) { + + @-moz-keyframes #{$name} { @content; } + @-webkit-keyframes #{$name} { @content; } + @-ms-keyframes #{$name} { @content; } + @keyframes #{$name} { @content; } + + } + + /// Vendorizes a declaration's property and/or value(s). + /// @param {string} $property Property. + /// @param {mixed} $value String/list of value(s). + @mixin vendor($property, $value) { + + // Determine if property should expand. + $expandProperty: index($vendor-properties, $property); + + // Determine if value should expand (and if so, add '-prefix-' placeholder). + $expandValue: false; + + @each $x in $value { + @each $y in $vendor-values { + @if $y == str-slice($x, 1, str-length($y)) { + + $value: set-nth($value, index($value, $x), '-prefix-' + $x); + $expandValue: true; + + } + } + } + + // Expand property? + @if $expandProperty { + @each $vendor in $vendor-prefixes { + #{$vendor}#{$property}: #{str-replace-all($value, '-prefix-', $vendor)}; + } + } + + // Expand just the value? + @elseif $expandValue { + @each $vendor in $vendor-prefixes { + #{$property}: #{str-replace-all($value, '-prefix-', $vendor)}; + } + } + + // Neither? Treat them as a normal declaration. + @else { + #{$property}: #{$value}; + } + + } \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/main.scss b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/main.scss new file mode 100644 index 00000000..f98ebef1 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/main.scss @@ -0,0 +1,50 @@ +@import 'libs/vars'; +@import 'libs/functions'; +@import 'libs/mixins'; +@import 'libs/vendor'; +@import 'libs/breakpoints'; +@import 'fontawesome-all.min.css'; +@import url('https://fonts.googleapis.com/css?family=Source+Sans+Pro:300italic,600italic,300,600'); + +/* + Dimension by HTML5 UP + html5up.net | @ajlkn + Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) +*/ + +// Breakpoints. + + @include breakpoints(( + xlarge: ( 1281px, 1680px ), + large: ( 981px, 1280px ), + medium: ( 737px, 980px ), + small: ( 481px, 736px ), + xsmall: ( 361px, 480px ), + xxsmall: ( null, 360px ) + )); + +// Base. + + @import 'base/reset'; + @import 'base/page'; + @import 'base/typography'; + +// Component. + + @import 'components/form'; + @import 'components/box'; + @import 'components/icon'; + @import 'components/image'; + @import 'components/list'; + @import 'components/actions'; + @import 'components/icons'; + @import 'components/table'; + @import 'components/button'; + +// Layout. + + @import 'layout/bg'; + @import 'layout/wrapper'; + @import 'layout/header'; + @import 'layout/main'; + @import 'layout/footer'; \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/noscript.scss b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/noscript.scss new file mode 100644 index 00000000..dbff8064 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/assets/sass/noscript.scss @@ -0,0 +1,50 @@ +@import 'libs/vars'; +@import 'libs/functions'; +@import 'libs/mixins'; +@import 'libs/vendor'; +@import 'libs/breakpoints'; + +/* + Dimension by HTML5 UP + html5up.net | @ajlkn + Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) +*/ + +/* BG */ + + #bg { + body.is-preload & { + &:before { + background-color: transparent; + } + } + } + +/* Header */ + + #header { + body.is-preload & { + > * { + opacity: 1; + } + + @include vendor('filter', 'none'); + + .content { + .inner { + max-height: none; + padding: 3rem 2rem; + opacity: 1; + } + } + } + } + +/* Main */ + + #main { + article { + opacity: 1; + margin: (_size(element-margin) * 2) 0 0 0; + } + } \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-brands-400.eot b/springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-brands-400.eot new file mode 100644 index 0000000000000000000000000000000000000000..e79f40f98a8be036d04d8b0def788bd02609b877 GIT binary patch literal 129352 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�W~j5AmI?=WrGa?KDn7M<7h_2n!0fpM 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%0DJ{JhTA8n9G7)DI5$ZQt7 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 literal 0 HcmV?d00001 diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-brands-400.svg b/springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-brands-400.svg new file mode 100644 index 00000000..ba0d850b --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-brands-400.svg @@ -0,0 +1,3442 @@ + + + + + +Created by FontForge 20190112 at Tue Jun 4 15:16:44 2019 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-brands-400.ttf b/springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-brands-400.ttf new file mode 100644 index 0000000000000000000000000000000000000000..217ffe9e4b273741dcd6434767c115ab3b6297f2 GIT binary patch literal 129048 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

<_iiqkI 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 Pbo|zim&HqhI9~NXnst?y literal 0 HcmV?d00001 diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-brands-400.woff b/springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-brands-400.woff new file mode 100644 index 0000000000000000000000000000000000000000..a2d80254c3324ed27090e4f5d23847f7c85694c6 GIT binary patch literal 87352 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

Xfe3df@HCHPEqQF4M3U za2HT@8JO(XlQLfK!ZqY`Fx?I8!2){OO4yN8K>^i-9(f0jm_Ow;-G$L_R(KwB{=V~oY z-$D=v%SIk}KM6bw6L>OmdLZEh%&Bi+%6TC&uPKNNfdl^q*s55HVB%RYN8gJ;`h-wim zL_BRlD8UBVaCav)N8gE16iOTDAcv|FV9Od=}Kl7JN#o-$zk=Ycm5+K!>7b9hO7 z-t^ME7~(1GH!$#runutTIw~v0P;J~si3Y4UBJ>a7E|Gi?RUzA{!KQwMP~pTi4m zyt?;(LwwelPFMYB7mU{!{!LoweF8%F*#T}->D8ev!EbGUB@QLX6|T&LS?9^!sM8O~ KTmHXqf8puCx%H#~ literal 0 HcmV?d00001 diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-brands-400.woff2 b/springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-brands-400.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..e27b0bfaf805d30fa467a0332b7c61ac95ba616e GIT binary patch literal 74508 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 z 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

-Hg5pn*k=^Wv=7`1700%n19iHtTuE1SnnkkNNw`ejCYwaA5@4H7J>ioS(~3~VT~(^N%(N)B zusQ6j7VbUBghyLDJ1527<7>z6RpZY;Q7wNLh^N9Zz=ng5Pk$~eQP8M*L9H~;sfpNF zp&x1i&Qz}igtxI;U}btn3VjYK5*_o*`m15=;=9pQ^4y_b+<1}*g(!F#TEC7s6gn56 zbKPqdIm1qVe13_EP8`jCcG!7Lv42|tV7$eGoF@oxNQn~_{U?prk>P9YFbCU5-&rZw?rFK*)^n8j2Us#Y+ z=-bqyM(P!trDPHwO?(&@gJjXSQH=EOi*n0*sVoT&%VC_OVc<+gK4x}$TATf z;qKVk_n~B_ZX08x>afO{*)PiVNwVM+0?9T}qA77#pDzwKOFz6}BKG6+WyYjQ{&>Ip zFn}?wIn}Uxx)n4>SNG+TQ7qbbio+7OAUv84o^@9GCXKR6MCKmpN(66jKD2ni@tF<5 z&Q8Wt!-{X$i#6s_{k#oVmX3%joGxWh%wtw+3F6~NOep+6cxHokj((Mk$`GUH=6Q}c zXO-xPs0=Onpp}8QeAKBOp;M!4PbJ9y1R=&t=P>Ak8( zS)T>tW9Qgj6Lu-w(wv;LEE{<3>=>cAK_#g`MQnA~tjS%zMpk)cx#$)$F) z(631+ee;2D#X3-glHbqa{KvC{HqY8Fk-Y6);;QRvGy9uEHuSp|w?VPwo3G6DCNa+s zvRa0gVQ75cFQ;guz)6wH5FR~1PeXyao)QRX%ABvE>H78*251-n6&YM~Lz$I6b&2*m zMSQ-=caYb#LYug9fayEcR+7d-io1W0aDQFa6#U+e1-JtQOufN z6pR${@tLjRl3N_={s%{|4|7f(_+5Ql%Z}@KcCPU=Th%f4`%)> z!6a1RTSnk@N#?WIo3HhvQ&OeuwPlW;z3X1J(ok%s7=pU9+A1s#aQuS#;#d}wm#j|f zrT2D_mI{M?$JyjvI9d_FW`5st(9L6O!d8UKLx+Q&yL@6+bxDGys%lMgv_z|=_k8(P zUj;_JK`Kj%uGChdA^@d?CJ+RwGQBcy(|>q>q4Q?F=Kel^rY&=rOq&r)7LSZw4t(mdH)PHR$cE&sQ+>Iq^nTlXMrGgF16x;>74B*M? zp`*T!KOQeE&1|mon&K}gOC!3{)~8c05PCk9CS2JDFDvQ@vCFyk5C=1VDXPMe{fsw) zYmOt)iY#zEJ|w-HJ3S;r{pnK3MSj5*TN$Jp5Z}}u*j&Qo^eOPwPY1w1uxwZNd)xgp zqgdPn$v*JyTL@xWf4hLo(&uimEEVa7W4i*jE~{T)!)%1CV2joNX(3t~@#AdQY$sUr z8;BEoGiPF~M50JH-78w0g0iw3$ecO<6>b!pP&Rf$(PrpXLaV#69AhIAXFp=Pi$h{? zBIPfWLlEvIeC}_jDiF*YCTcJvv3fT}-DGkI#zKYaM!<;fP3*KOrI@x=*q~EBrIkhT z2AaN}N%zLTd{!=LpErHer~Nj>LI?XD7u$yhpQV=E zj-cv`YaAC2ct?#q=v+MNW-1V`z6K$Dqnrlca%cw;(};M+MZ&%u2GM;w59aVn=V735 zIjj+Q-o1a0G3bY3={Re@a#M?md;^PBmp#Y?o{GdN&SGqDh>D&aT$G988)*71xJsoq zW{_g)+(cSoN8B{=>);Ra29jCH~@?RVTFb^6Q1 zRsu8RpV-y4-$z;bMWeiQ#71%h75iDc4{Tp_V3&0F=i9$lH;4M}XHf8|9`}W*#I>>E z$tF5(-uG=Ej^c=hP>%dW33m-A?>MpxNW)Q|&-~5FU-v0?y-=i<%9E4jR3RCrxk}qY zb;xDrk~tXOh?8~n z)`p6aO0xL}qFnm%d@aPqkFPp{KFK^yNi?~@KXM`{id~~&wxXOacSt))@MuvR_cI~? za3TPXoyJOEoD6An;rA3JGTinF&eov@R+4C8(a)vNq_=ULH;|dkY7@#={yfx79uOu@ ztqYWJ1x|TNNoT+>tqj?t?zM>yZvMJ2UcuwB$gFgKP38Cf@2b@7NBHApCM1b$n=2N6HG{+skIdWe|);vYp`z zb7R)$)&$OZpYmO35<)uQ5FEsDSoD697+{4pb-`HP9SvBre}Vkwx15(OTI$o;ZE{TJ z1GB-Jm(TRtEYdg^!k+rv|Ce-@fGV~~wXQp%9G{oqW6m8acd3L>>*niqcyCUsGU0ei z)N`L0Ilkb94&$ByHjPxe`l{8wt~YJ;q^71Mr$E|rPS*Hnygh=`XsR*zEh2#-(bE?2 zv5dWSQD~W+m#lL0z^Z3WXLa`szfd9eTy*5L3Moe>d@#I6T(@`$upQ<`=J!vAR{KWqE8jrYaOfz1EeUpNaz{wK$N&5(V+T|b+u<6@j^V9fU0n$HS+ zwf#8OJH;8;{*CqIH%Fb{d?TxWusS!sdI{j0gM94*kWUtXD`Zwnc75qq;v9;ee`vX4 zX#*8EL``Jj{wWB~R?4~FX%8{9C=|OnCMGPKgi7S*aa+4e5tyP9Q9{w{$yBm9w6i0J z63PUN@U9uuu_KzHWcNKD!t;k=IX%(g+URJbanEj7e3t&%ArpsBmnW#H0pfqOKJpTW z%u?B3U#4r(L|r2rS&2T9)E^1a35X&YnGZ>+704Fh4mZRTEsi z$ClHPZ0Z~_nZX@;g0)NS60A!LSCnMxmb$-+Y&jQU`RS(tJ6GA7OvoJR6yvcHo+>8kzx@Qc@l=4Xh87v&@il|NEkMLkLlQ+UONMGL61 z-;O`kdw8ct8Pj7RIRjA~f7`ZLFaQ^^n^*)vuMh?U1gKI_|cO>MNsdb4`x$dr3V6x%E{1nH0P+ z2=Th8_~L!|^;eYJAu1R`FK|j#7e)9K2*{tD;-jC{RD*6Zy~bh+Layeh3Vr9syr^j> zRSW1S@?42rX*&gjL<66)a_0uCb_2*u$GiPk$Vz2MaPGgV@vl10VZMuXr%uh8^NkXj$lIDz|^nXQisbQjOMvbd{*) zITSQ2_g4kDHBbCKi}mijh)CRDCpOMi-qHw~N*jxP482pnXY(((q7n;o=!ky4^eO$3 zPWq;Wg}Lz}OhS_JX}V8#tK8(UgH&L5$W51RK$OD9D1^nB`!!$}+I8ei+F=iHJT^Vn z<@&S#XS2VJ?K}T}*NF#^u>a>0KFcnfewNBX-ktSMO7?b!$i6K-|B-xQQxmKNi&$9f zO54h}lFGhHnfk2gsOZdSJxlVrEJ+o_r)YL#!ia%ckkjpToJ;`B%*`*-Q@?7<+b z#V;r58=tGMZBF<=O(ecH&=y-{iwxAof^Wu(7_}Y?;aoF~rnLqBL~?pvs8vlFfl;Iu z3Q?q}ao6$VyBOOU2V`IsrkehlvePxCL|Ky1J>_G!U#5Ge%Y8Tavir`!?FkpSw9RZX z%gsB@;4)t+;j%j&`B-j!9o|dn&1JX#JEv1)17{@Sm~w|oVit)6WZ+dl)9r1Mw(XvT zA@hp;#)?SOK1vBbT-cAX`!R9Fd9-d$Q5n#bG;S)Avb2dv{RH|vkIpcSapvMC2_s&i z@3?TNW`$`$w_hvZAMh`#VWQ1V)p-K!7{a@RH#poNIDXu!mAu6L;9UzmMHytWo2QDR z1oTv6jwV#-O)wPQd!X!fJ>f>8pf1W=b(kg+qDN$ra{x&|w!iz7Y^)n+ZJ6O961Q2$ zAa+9L^uG|cJvRj-KO%Tn@{Fh7o@U^V*B5KSQ>MHZyq87X<;vgTM7Htxr2c@7>9fbN z>(=uj(IsUzG6w@1c>m-b1ZTxeZZBdwd@@HB$HmoESS50M!M?vgI2V01fBdvzEoZ7j zPN@TR{6#i9GErmAKzi9*{6aO;9&(v`Bw8walt#9^n?oc`mE099P3HWR;znE+1^qN=m#h%IKAF8B8IIaoP6u z{NZ<;B;MAgsj2tN6D~7YLKa~r9x!d5V*Gy?LVo_aw6x}?T<~S}cvGd%=edO36)mSh z`OWde4>`-Wx-3gc-UeP?Rgq0{qg=5)e^X70{7kGZ-p|Wj;rLUOpFAij@8J6Z(V+4w zl5tQ4d9rJRJR_WwGQtezuuxM>NQfr>pmUu;&iWr5TE=qm3Gn3=G1y){?%Ymqj!z_> zzi27rXmaPQIBJ|{yNAaLrhi1*L?*X?1??J?Z#a?-R;Yl#crskOECXu1vTS@=ciJ~1JvG}K4elsD{gz*`tra?b^akzqL%B#qD88eGFu3~ zjMoa8Xsmphcuf&}1FsPZP1alxF|ZJ$Oa|d>A}t|WwhR(uvu2|^6{gfEX{M`5q(#kU zl__;f4Oh9S5p_TJCImZtmZs_2(4p)Q@`%Z)FCpl_FqMTZ#v{lmjr%}^UA`jZ5quZV z2%#toH{W$>c=%m6{7(4IKIR|linWTWvm4`nkWElEww%#?}-BUO$>>OmIWt+M)WrasawW_5A@nSm#*qrC;s* zg|J$;(2_g|$lW_Okkp5kMnUf%>>&%MH=}&)SyWm`e&^_=ygSR9DHPm}{N%}>2X;8H zXkAS`1vWrkI&Mogwk=DTNOgG2?yeUK&QMgh56?6R!PyV1sag!E=$#8(`acSULpebY zzpYxvn|JQ{r?P3^#)5;_e4CJ6wA_WaqOZ{?Bns!|23`6#?ug6$5btHHzdgwb8lqA@ z8qduWeLphm+ofEugQ&U4{Au@BhFDkXRDZw0H_tv+yXMHTXK-}8K_PD;|^5!*wa8Ge$v6;@$52Oo1(7Rk>a_|kvgcjK21z)vN-8D-hY$B_7P zvsPuOP@^fB>V_z>%CY+9hk6`CnB*$gArzODD|!wk7-0}*BpRs*+!JVR&*_rbZ$zu- zo^E=&Yp&x*oQgU^DI?>$C>_eaH3vbT7mKE3!oOi(bhvWzKf~GuKQlAp}aki zNWUTF019>f`ff28JdUM{{(cbZT&5j2a+_E*rEHYID`QEm5+nrkPH@QuVS{yt-@8bF zRIp=DeM_%BE;m;nH>1EpdeLz6;c%BWI3pw2>z0g&7leOBMbwfx-tnp4V4s`w@Ufkt zI{Bi>Ew7kkbw7^OYDau7co#N#ksJuiM$hf4=A*_@tLjuvq{P{rV6`^EN>$Ff)uTYS zG;Ua`ik3A%+N52rPYX+ntI4(+t78v!H=8-`5_b;!ImzYu!R$wpM{G6?-@bf^-Sm6$ zXiEIBgoc)_L6c|ujn7!0kE10y^Kf;L!As&Qs`|Mw-eNHZ`Ga80%VaQwm_iJDRkjhW zhKCUwkJbCddw5i5k;W7_LdD}V1ws7r( zC-p4h?Cfu;R+1VbLlh@|w{m+#s?Md074L*|?L1JrdbXggEx9iyvLUK>*Ilc;FtV@V za)WQX9Vrg^JC?W(qVXK-x zcq5`ywGsHtyb&!wQ72lM>&J5c&RR_wvyAFbnv6FI6VOnsfCFB=-A<_g1`Y!@E_Lmn z0>X16@2qA1-orz=@&0cuNVQ%&wO_W(H`4D7QBd_HC-n5L!SYEY{FTAe5=l&6Na$nB zMDJ2I&Xg;csraeUv-B0HIUYRsUv>j3wv^2zI|1z=Y-4aj9CoNp4&mRiQ3inv)RW*3 zigqZ9@Dfwcsi|Pxczt`$g?i4m3G{^ohFcI`sB1vo*bxJZ&g zUCfhUl5+5RXU6g34-k$?{Bry<;x@-OtEUXyk;(I?8lTm9IJ*75*Nlp9nrNjp=c%LMjXYX1Nx@H7SV_T`W#7CB; zzN)&a#^ooKzFP)-KIs*)X2sNmwRvt4IsWTrP-9p5SB;GyEu6k9=$FfJbRQBBLH$c1O8f98!x*~?{Yqjz3x0V*F5?uF$-PaGxUQ7R zzmH`s3C&%5Y}Jr8=}*C$jfCp8NX;KYUj81Axq1_!`^*%LR3u&JNa49DeOmYqif(h) zv~W#Th&pVpLOEWSvm&N^tyvhao$V3kF`{3*OXYbK)kZ3y>0zs*SEMQdf;$m^Xv z@xNcuQqtqIP$2@(EFfDR?k$M5#%T@O7!@OaS zy9j0oG$PeR_{*l5_lJB?X@P?hDcr=S*eH)gcdsqzZdbF~Dl-a2sL(s;KV*h@s(GOG z!Bqjx);WIYx=W`)MfPs?t7 zZR$)L$8HbQx(}1(=_78hY-LGAL{?k9tvAT8{<>O%SC@gp*XUv1`E|8+LsoilWMDff zcrGCK1x@x~XKrVBV`1w>09qeMF6BB6Vr7OvRU!`R5m0RE7+MtAnKdb>lGr{r!|T}8 z;TRp`wfv_eu2t5s! zxRlRzODk}6GiJQYg_R;mLp2pZgpaMn808HPf}>uCCbkpA$``Ky(b!Tl*EMkWGN6Q2!$62^dE&PaxP3jwKe?F! z%c~=8nhi&fACZ2Y;Yvu3x22?maYb5#;7Qxqr@XlZR1A)*1beVsqh~VL)=B1vrkFXM zAR$Wv0XVbfq-P(EZb?;yL^nWJj_@ihEX_{?s!n8iQI>0roEyLyOVF9Esp%xZ87av_ z09NEQz#y_w>6*21Kn3FS3X8XSWq7~z&hUEW6YuRG4xj4AGH1UgXK|z4Iot@qcN8d! zCrv7rO)k>Tm|0U+&EK#|)!Y)xAGL17DAgLRMETzcQ`cF|xMp<*vOZhb)2qpOu}u9_ zywzEwJ`6gXyg%7Zzn+VVu(^4{J%%C6`hHK>DeFRG`}$%->w-1VulT0XvSNiL;VK9g zNMDAcO<0Us4Wv#L)NG>k_?#Yqn6fs=tZ>1SS z^m%!DTJkSd=srR@oQzR~O&QEbP9}T+^dbHNWN=u^Q(s!t5w1RzvW>iqK0IT-%n^^QX_kQkL3Slbmc=l9VXiq3(b||$4(GzE9-Va$z zF^@K3)$E(8sc2S@Nzc0IrChQ8HZ>!E>hXXH9<^cr_oSkVlVno$jISHezK7khZ`l7v z!;4_Qe_d^@fr*XMqRMWSdE~SV@OD)?xcV7a9v|_yZw5u#HW=QHkwgEZKh4(SMjtV6)1 zgGu%2X0gB?dBR)N((S)BU{>R~=R4F;GnDDZaVTnK^Hhe6M@};YLV2=KxJf7*rtX%Q zEs>!y8EIkC21xEC0^1GFG5KIzsYa8Q(b-cR$!hmhw%iOW?)gz$ar&av5fw2YX~SR^`*(J--KgVWdLtRZWsiFC#&W8gY~sKVW{-YQ7pD+R_3h zt_mJyFgTth7;5t`b$GEM^NG%22p(mz{92mf6N7h#9rNL6%|T{G&9~3b!*|>9DMZ~L zcp?5r9MPJ-m6_SnkC~l#M@!M5o6!jPb`|eG5WjqxG^7qJ9FcJ-pirAKr_>X~uq7x_ zR(9j`LHq{%wc};JQXCsAX$h+_{8-h?J`(zVlZfF%DVn+H4(q%aIvgEDlOgpKggs9` zFyhl~&(VkmD#QfYS<*}Q2C>1b751q=2h~~ei#}Gf$&5-0nWTJL6==1?o|d7)`Vb?! z8Z8q<&$aYpjRu9naFfGTZ-1va&hD*h)zdq@S|n+o^2a!qbqdRkD0#kVZbApOQ!A8) zkl5c?%hO*F%Z+~c&p;9TBm@pNUZejnL zY+5>BV(1<~`$N|j2?D&WC!UGh%LcK9jB$6<5?Jrtx1)UI!t3Q?X(9gcH@u8D3Qzx; znVzw+8n|GG&})yzMr689hKw!f+Z&NfQJ8d2GlYM^57CO(5OYGzt3$> z0FBQJw$Z)Rb@T52ZB`C4cx8cdDm6EaK}eW#vfxQ`hNeQ3==}_g?C~*?WukXGCpw7qQdV zXLaYD>O$7H6>S^+5AOHL4y(z-Il({~!^)oe?D4K(-SR5muefmYf?ear8O2)}uz<<5 zm<7@~3E``xeY?r-+vlseu;R_D*^E0GzbnMC-<8Xj&kLqtLg#!7&UJBxS*CM)LwY&+%QsNj&cuwBO`jA-Rj(i}&v{s;<8?7|SOUQDd%S z+`i}3YCaG#f58T)U(?xS#BO|QxjRrelae)soLO**kq#esAPnIXR@gbDy7HdQnnw(_ z!@I{)YQTo7;i96UqT*qi*HG`S%l~#6nyPTWc8Un~UsJR9eC<5gTkx#a@y*q-iH()k zbVahCJT)k;rYau%@fysh2vP*}t_KEhOwLyyq`p%e-?bvpOO4pWTe}xFXV!ZeW@q2# zt)=r9lmxnG>LOCb{zXHB#hQqkTCIN4I=wa}si7gsUO(MxYit60?i8t0;qHykFA=s~ zi##TJ_ip;?{Y6D!=>=w%lh4gjF|p0MEiv+*w)TozS{}}9DUGOJ8oLN!OA zr**9lVK(>e$f8cJy5ppeIYU9_c#Du@Jdj-LkdPVfk@Kn3S#kGpya>V9N3npp0%hF6 z5LInBaR=+d86RuUI?&y1)Q=d8{H3=flS5{loJo@?{NKF*!Dv=JWYyEDS`~psjl#$$ z3Wzf5UI<58l1WC$UaINUz)k#D_>aZc9_PM22aGPEFGnu(~Hs?6ve8G#>@&{5lZky*R0^n|7QE{+{n za2KVl$t~dVbp;!>j{pi3l{{kTKQ{^>Vee{~qwnfq=;VL`R@K4oS02`3;vxQle~vAl z?OBkEz(R|l*jY>i5oAzS&y4|&^ic?7*s#9alvok zi2-(dRbXzbB6sIA1MGRa`3`vQBGFg&G5T^bj{tDRfR4QgR?7gkI3DWi9svzsJXSX+SoB9-<+Wq8h;6j*Tc z8hM0e{78C|Pp80!DoVCG${DKHIi@CX?A%?!ez^3kZQrH)8dJey1hbC!HW-lE^E@s` z9tXPRBfYXp=VPBf$5)w?62&ft%VXXQw4Bz2Peo||*qgtY$sleUPUWVYew5cb0B}d} z)f|y)j%%Jxkoe^Miy=vbZ{pBc<&CkM*aO@@Iy!o@>Zfkg*Dk6&mL~)`=v==nB;4cR z1?I|W)9a$LJcA7-zP|6Z7%s;bm!|$RHAzseax%guA2QiQh3i9e=N}i?TSwMdvZhm` zfUth}!ez%t)Jb!Y72sDd#FAf=))?udNX+awdXWD<6F;52xXpSiwcE^2kuFmHFQSi1 zM7ER9RSm^32RvMhj~+Ahz|fq7AzDpQen8-1BT?zc^iq0xD!86vqPW@Y!v z_ZkrCwl`v(1A)0Lc}M1lTKRhvL59~kM|8W0MxxASd669H_7C$Px5&Ki+P6<@!GRCX zce=;wc|*tKrv#VzhCB3J{meOc-6UV8O-4NXWj$r${ZhI{T|-kfRG!dnTn23F|NJ_t zgCbuoDdg1T~@eRl-kHd^6g%U83_4vMPHeW(V=#lT$vE)mU9xI4KH zMS>fp^J8gw)8yLRKxoqFpuv`1KAzY9T!V{;P4RMU@#xlkRdL9T<6!+~{)NLNY=9!y zzA#p$NtVbOjZEBFWfH0mRxGW&=xL0Pu-hXL%ye<>+l&BZdVBl6CLlc|Hw08(Fy8F4 z?NKFkFU>BTHUIC($2UEYYfi?Uz6oBhMq>94d0>XY>?w>b zKY$NINLHlo&8+2CyqlXNGu0sY%3zf%mJ_OTGg;iFAxpWeOgj>&b_MjdbYwhG&!_mK zvFx>EY{cVEEbsU6M0#x&5AR$)5GX=Uv85ROzwZ_+L+Co@fY@j+j8GnuK^SA>`>7R4LLhFdBS+oGNIY9FJqgzQ! z8ugoWT<((4C0tzRG-C;t^Gp4`ihDEmTIUE%xtmh3++XTLO<|?KsQQ7&W(9DW-h>&wP+u(BER_>Vc8-xG z#ds_}W&t|dR*-~liZ7d)BFCh6+}L}Y=c{q*<`gdEloV?jKHh4EJF94AR9y0`o}bO8 zEg6{^>08YvX!C?NaB4iaXk-+2CMW4#xlX=2m@W>j2p|`f6_7#Q#-JUbOS!|9P|bDE zdo207fAji+!N#p0^h;E)|d$u&m|eiqefC8^N#jWt2V&f{169p$Nxm$;XaW z$dN#mfg}t_%o3B?wXZnYhSM9#^^z&cakJ}`Yt`_-9sQ18l@c&$?{bd!ij6@zoK;At zi>)`H)>XhhG}?SeeHg0Sta2@ExNvb#R_H5|q0hw2hQR4lg;9#4JA2RdwSs^3tf4cS zvIEAI-wEWweys%em~roBZIq!mNteNf;eC@_>ka1sAl{{iI^-J{Jn;KA`yVkxI07_W z{1S*V=5;pM0RAk4e0rjRL7g8@X?%Lc{tPjSf&@U0{0R2`>hfmbYKZBZOi>67;BtS1 z{6|-Qpzn1b`57taISD%#9bWEaiqyLb{wu~1J(FnA_~`OnszBX`nL2lIwH&A&vVN?+ zJ#>RX+?tU@Cdjg0hUeC&o~gcq@pTkP@RUk`Tm?c8C`$@VeId@%uFZD#=%esxPh+*D0dXvO+Y6z41VUMUqXX`pDSck^PN!|G{)usAsunFYE|P^mgBz z>^r@fcxnwv*dy{ZUHWgyrOj^;uZyQM8xEblIZEV(SP;8DN4FZvd4}`H|6}m;O7FbP zzf+~sVLIxLN29mMt7{A=>4)Q+)phl?{{3La>rE7@5QSAe$c3Mt)tZ^e49_S zJUZr$z*3PI3xR~84K%yza^SRoS@WiUD1ZQs?wnTE6spD;n?icpF?|@Az+c^5>S8fqP z)&f*7L;R)iUHdT-Q183BC5YZJ#|r|)InA54sN)*AmFnbuu9d&`X1PLK3z9sqh@Rj%KW```sl5 zv9lF$e!JO;8$j*DbYABtaVOj_4B5YE;UpgKph5qbx%NC~7kBbJrdq6mI|k`%c=mK} z5_>b?!X90Kz3-{ZhS>+6^T5M412b@@|4cnaug)|SiyyDJJ6;L- z4Mfe!%{AzA^ENzBZvcgLhw}DtH*+rz6?;%|UfGfh%;v@ahuZ~iC2cI-^REj=2j&(& z_+Y|*lL7WJHv>z>kC3i--sgF9C2c>$7nC0d*RrBPub^gig|t{bG}lu=;_Npqr#u(Ua#^L_lQhVx-`!Ya)1@giTCnhH9@(Q z5Bc*S8A$Cpti2Y){br%P^@^SJ-hAfeKVx`9XUdxb2y5s`Pu1Qbq(qE2M-KPB$~;0J zVY;|?P9=i*IMc5*F2r>oaZ_|>uzoiUeA}2qnW(LR+7`us+R6Wa`&k`dP-0@`--rm( z<+yj#)a==+2_e?x29Pg}!~6#BFO;o$&l}B6Qbt?Z~qtw!Gax-e;zQ zI_fw=sjjFzjX)_iB_qiVYCxHuGRK4KL5p($i&yMW$;% zW%`nZ5ubeeEr&tPKM8@40)lLj*`E{qcLhA~4(JVp=Sew95@sq*^Wh@G)(k)isanc6 z9cBI<=yYQEo_R2TGrH@SVAz}ylEfyGvYKSo5JM)v>u`@wTh;25T&YfKs)~zmoMz892UjY{GsBZ+5)2#aG^a&G z7}K2beN{R_c)M{o+QemFbZ(=+dOFYr--hE(%=Edm0vBs=@+*}r&EH3s$o+*xI~;K0 zyA_9CUWoOOMdnL6XDV$l@74wNRGJgR@v@aT#d!P9AbwHz<9-&s`hHyQzu4M$lo zzlEreD~{J=0wr8eQu`_C%KCiAj>0UpOqjjq#FJ@Pn}0y|Io$;MaQD zI26UfmF)~(QiV_Rm$6yqwx#7w#wqNYle6-(gn+KCjYH==x-U1e1by~pFaI4jL;&ws zot;a&y0+BSF72Ea;mFqMlJvSi^>K;LOO+T)`Dgx%uXxx-$I)R3!GnUH8AQdpD0AMz zjvknib);*Uv*5wmTH79!d;b?z1V^|jMsm7h(7{QZo9(jlgfo-(U;u1{bAM|XqesqK#SPLWY#w( zlC4k%v`#h65eyzvTKr^o`PeBshR8aXasIiAGczJKEZy0*tlguU7cez*9F9{C(mrG+ z6~jPy-|J=Pt1U0fKSz~BIGbuLQI?jVmPAr_vlFu}NfAq?Dc_aKCyel+!_WBqi5*`o zA%34XDHN2gQXHJ2K=yFUP@xZ(`6Y^-W}_8AOc?cXipdM2uXg0=VK7AM~Xk<%dyfe_N%gZxsCsjk#P+YejmGvnyFxo?m;Xk2N5&Ouke zE@0_$b6+EJ(YRs0Ir(F|#PlL6BX3W+UGS~MKO=X~nu0X&rTg`T3ypoWe<|+hJv?br zF!o8VE-jLHo-3$?A5v+kHiv^P$)5eT4L4o>QA$Cs|ycAGG%T3W4L zrOL7d{B*5k7^|H{>B~7W*ST$#x^c#_@4n0Yp|eH9PVid3dd3)}a;*Q`IYQrhI%#sN z0(Xl;SZ{=gT-^MNQaP7fk7Mp(glVO3voMU;iC>MH};Iwp?tXBucD6~O)Yjaa$VS<_j zjn-9Nn%8<$Jkdh3`lEz<>#$?bpSMy?L8_|f3&`E=)aVqFwdbi*2vtkei_|a#LGA~` zp(<-P+Ocov%oDpmhOr?*|3ywUX88sV!NRD?30yboKyBP>U zyspYFDN!?d`cNL3Z|U0H`qy2OdL45k|DCJFb=pYduecdy;uB|Kx5|uT6^3rO3-)0Z zXaVHE1W}Got}vl-(Yfy95j{Q5|0bP?0u&k7g|4Pi(l>r;M$n{+=7ZKxH$g%`0C1w^ z>P(YPjA69~2iKy-5Y(E%8FXrWqI{RMJhgPs+PA6_4rgj&%PezLc!Q}pElJ;gGOTP_ z7WkH&Vv;j0MkO@$psWT9S^gWf^Mc_}nMQ`#CuBo>?&?G$oeJa6aB>v+W(8zZIh|xd zU1#wkwYoN&lx_Wgc#_%BA^3fDd8sMVk6}eEp{_Cq`O`d^M)|J)e?0?A4m!kEvb-XH ziHDu^77I6YiG6e2SDQ|HhnEH}ObPp{sNsoD7^QM(y+s733PEDx&ZPohF!6?$hSmhA zg|y!Xc2iKxJ8AnfT!u2Uvklj|yR1$}YeRPhSVIQ*`O<_F4kzYU<%&Z=P_8Y?(}Mbk z&>;$&&?X9PYjzn)=D56)G5=;}(Y)B^iCc!O?gr=w`wMZ-hfm+07+g=@|J0vRHZM$U zEy^{mV6XadIMvYH@*!e$Gq0LiySfy&o(L+Md7CQRJ*hQYCl(4oaNgXlDeo?hc;=aw zdMxH|p~oVtE^K!&NHBM{Z@9&r^dP(^MWcKd_cWmr%>X0I1fwFGCvp<%OUQ0dvCpcd zd8omSTX^{6RCNRRGI~KE;(mtFz9^FTOXI=4xg5>bTDdX)HXnh2*qsEZDqv@ZfH89G8mHT3b@nT3S=dv20xwi_7LeX?m%Qzx8Q$SjC^j z*qqV8$d{kOX3r1&bSpBqh8Zo*a`G^Jgv=$6(1*#2fAmQkD>uwB=H0v0uHlSu1Ms^{ zpNWuC0?cB>&=Nt;46lHB5&Tpi0rcs-g_TkwpV7QL6$29=lw_$Z#wMd zd$eE1e;p0ueVh$WW4YY*0`WK==i%w~%aV(|Q?LCE!;fiaaxab(T|BH-b*k8@ z2&#>1CE4AiH$v5|(0U&^oN7c6eHDk@Mq={pgx}I_)yfMP`Or7@|AF27C61yLzWt0N+mraY*YBJFfXeyu^0S00glQT{o$2g4i2~vW6fz90rq~xWE8@%#CaM;=$@jym?jJax8Kuk z_iph*O52|)?swr9q0lkT3B?MWLN^p?tD?8)r9!jt=`rZVN5ljAkaZ|W(9TrN zR1DIC3e{}g?BWtaB#OcEjc$X2K{r)jXSl8YAE_Q&*WU&7jXra|iza*5&>@-Xd9IJH zvX`keUalledR`CX-jXCrA#XJmp@ z_`NKMFWSj-MCsBX+4tbH_o8o^$nD{$x3AyQd~@4|ZM$8G6#z+D)G+W0_9O)Xfob&V zF@vk_l+$2EcyQZ>@u9WbHymdAZGT;VvKx`tJB%N=nL7#n0)_LO7H#%MIYo-Zn(9IH zJm+k11KLx5Jb#~S6iAz8(400I?5a6XJ)hDmt;=1#6>pNu>biv zh)G8T!*ML@5ZU5!7cLiNWNupKkLu#|5s5?}hQ^=9eEzLbfU$TmsLVR z{5vvOA4TK18fhsyZeI(NEQlhGS3EhTr-QSE7?Nb5rF^p)2?k0E2u+|v;?)GVe%ict z$3duB!C4#v;?%VIUs~Oc;c`OiFl2!`m|x?sN%nXwOLWO^e{T+{$(n z&D>-0@zLxj@K0v?ilIYSHn{gD)o3+Cwxt~IRGtl_0x;MvXA`>VToyMu7rfCeAs$3u zNNm?R4i)N^z6N+phO)&WZemoyjOT^$e62CuGlL3iT)xP7poXhaNBL|$xS4d2Rqr)F z1PqY~bLrIRWbV=?29P!_ofz3Hb}M!yv4JVE3ZLA>YIz@Eda%!UkV7l~o1B?x_(8Pu zeMUTlBm+qgvMvkniG=?f@fs}+?mm%FEfP%_CcuIPQe+M8JC=4Vm_Z3?sL6>)v5@Gw zY1{P`%KW%LcUYt;yOtS(WC7KXb&Vzbo>$`B6DJN-G>}K&v&KAWn>NjaO0{wx^6ScMnv$Whl*SMpW5)#emCyf4aZWtCv_F*}B2(!j)kV%+K z;2V|2EJR3w)!;;soC98ds*k^!!Byqy*=+q@Ss-5|FV(ZJSByg!3HKU4( z*h!RjvXs29q30gU=$4Yg2*yU=V@!wdEySXQbe1W&5ql)H20j%tyDyjfzGMd($k z54~bRhQ77xWzmRTXR|!?kFy_p3QO(-S26wu$EQykg>(fzU=rG$id-$n%*Z- zF5UWc%R4g)+q3}Uf8TpkV7iqDXzIEb>!_?hsDv5YV;}^%a1z#EQQyjWsN}%=o)%vR z5a8dL0BE6bD8jH-&BdyP^PLbdgr_J1oywy6o5M?Z^TMDTQgSS-L>yWwqjT=rI_m>0NK}xe{U_D{7Wm8mGx|ZwSafc?f*sr zVyov42#CKbpmNCOtnU{8YJcd1GWAuIDGUDF6rzDd9NFzA1JY{1b_b_U3vQ|IWgU4D z0AUwg>THCD1GxC_1N!MXXMS$mQ219FHrFup{^^G9@;$q~##AcjW&Xl%zrj#g7!;BRyPv~gkv=N1VI~<}ztB<* z#w!Ef2Z%49cp22dViX14y8iBOp1?zd=Zbi&KPJpxn!q}7DE-sp>eNA zw*KYF6WI^%U@E|l29U@#b`l$)igut>+M3my znh3jgq(0mdg(8UQ$MTtQrj)6vPRFs6XA|yFj}jnsBJ3IoBVxI|O>|A^8|gCtU)U-G zxq>KR@9l{QkGT3Gp4p&ID^-N$08@OZa|UYr<==8LoI@?LoG?Xcn!17cxh5gu4i5|~ zT)_7>^AVP@ztMpRt{p+L>m=`(kLZt>Za<$JKK)SS^p>7Rf9sTjvL>{SjvDS*T!y%b zVIr^hiHQe_p*25h?^8rk%7e5xF>PA|Ygy^FX^H@nMhXN8sKJ+arW{eyCd@_QDNZgK zvpe_C?#g)b2vIbpJvCbq6;);^qY%8JM_H+J!917w1Ag0bS|_g^0Y@mX>}Qm0Yj#Zm zD7mHy)eMDe!WRsNYC=1ul5pX?{p^OSqkdlc8>b*Z@$?R(0~`JxZ67Rzy=R#0$vTJ43A zxf;^?s4Q~XUeuS-m#x3vUt*~KKgz)|sqvm@k6QphAuUW4RhFEb)laT;%~!NtC;t3L z$@ucyGwYEX_V=MR+iG?C2kD+J@xNwCLbj>4*|TyYRr%T0a-|AHEO2by2W2h@AkY4A zb1d*)Wbn7(vNim-M#6(X7s|7g$j zqCnF^UFhA_YF2PfGt3(9)r~xJApx?B)(0}r{lLb2g}j1XtQ&peEzs6+Mw9UUcl>f0 zRXlTR>1d}#b|zV$!4^s?-8ceZaYBm!ez1ze&)1?+^x7j*?c{Pw8eq>}NsZUQG7BW& zFk28ugaNVN?><=F5$MC9R`QQ!pLkr>*h)@6n;#GQ&BLQrNLHdhASIgUJ4D314`FTR zKz4Dpik~UwkB{$9fZ6*+=^(e?l3p`AEwfN zl^24MkCCcR(*-9BQfYA&a_<6bM3L_N!GuQ*=^;jzarq)nU@);&oIKB#9x9oj?Th6A zKs&D3fM*I-z|5o@73cU5PN3U9Z`zJ=x8=5!Hs6ygiI*q53y^ z2Sd1m>wVONr-ITx`RGc`-a+Oy!Fe#L=Y-*DpPKJIOna8|R&N@bKc2 z_*<-CJjhuE=T|7puD>KOH3K7TDuci9U1msuO373Nd_!?EVvrz#9wVzv0DL%@e{2Y& ziK?hgEFgpF37UxG+qx(q5g$n)IRZz>+eD5$NT>&Wa4-v@4h8iz?35E)0L^OvAJ;0P zlxUUc{DVt^Ec~(T1ThvbQVh5y$lU}4hDJp>g*J*+h`c%2AC5CdrJ@z<)|e`0M!LGy z@}}V{^YbO_`F@ah8J2x&?NHRO39wFSzk-cVKrKR zT;%*;x4=ichuKQ9p;`Au>jcQ&oFJqEpdesxqyBowjc(pBoW_Gz)P z)tMj40GkjrNyPrV=>d(Yz#nK6Nq_z`_vDHK7mveS23)-;?#($zMJCk#Rd|5w4uP7P z9M|BHM5g1BkSpcmEdT*|J|?gDmbi71-!O<2fCf&wfN7(^HYA^mvYXTEmnf*MK7<|t zXhD7ltxoaQI~87YKE(}Adir6vzk8KW-xDGZjqJB`?MouWIgAHYnx*^9wG+Z#wEFs1zKHQ2V>Yj?sqt{> zwX9icwe9SwXKd_ zYcGSx=?J^T5;Ah*UQW)kMR472c=i2Inu$0V;=O3SzceeKOmn=T27)sb>-o8}l~6N_ z6^*j`7~+_eDnwoM@HB-RY}UP8{RDgJ)YzO*YnfQ40}>pTq7MFCWFt{3W?YLS_W>&_ zc4`NQ23`!ErCcK0BxlHMud2hu{8@!uC(*{Ra0>^26^Avw(#RO{O0ZzzHUcWU2LK9k zhsR>vYfvNr$2^fP8-^!YoM}^7-sm0vpZVP(?mv~nmbq9$U?#Yb`eOi)s2X2Rp;%7F z0a<7VmihWe8*PZ=p1%#~#FKZ_n8Xu|lq|>U;E1aDWIMHydNjUjK7(;=$gwmov;|{* zuv;7ez}9?^xnGF$X89=s@6-*O`+t(1DH?ZeEw^?@HLFwL<^Hep8ERv`d0gdU#^=A5 z-m0JfAe`sh_E@qD8DZUv3_kO4x5gyKIZCSxZGi73341Z^EpcoFW=a&!RV?XtXr(j- z9h1)_970~z*c!rku5(!+4495pmvlIe>bq>zsqGLT_koU1K<^`wG~=d)fI+)-es$g0 zJk3vkwLqxQ~%>Wr|^2gBuEOaKxO1zJN3f}ADOY+9l8u)d`Pv%F)5 z{5xf1VHir}67u$o8F5J_)r_Voa0bz*KU5WhoYRs(lJuW{?U=>i1LVc~ksjf69 zxG|zwP;_G>v1%L|;~8!V=1R2_Sbb3rz^6OR&vo++zdD|u*mWJrQY^L3N@L7;Se!1% zokj4qcoW`*5k_H;lkOT?&snHU^7-`Zq@2C!`bKCuKaHf~R>1gPsdLx+1}nQM0P5=2ceB#~<0h z=b#5!eXv)A8r2wtjVgijcGKps-ox(i55SulWqCwHGbxnAIOp}oPUO^0_AFnM{}KQ9 zD5-0?Ip1W=8y;eZ&CaIk)wIUJ_-Ok%?c#Et8?SRIx@mQs37QdaKJtjBDc2!98C2*2 zoICbp(uptr*_~UE&8r>p;C}|$nuC6&M=4=e;~XgjpVEne(b*dT4AD-D48X{9Bh-r? z?nG?Av2Y}>_x9kpYM`M)R1Kk?|NC|?b6;O%-*7Rl27R}R_w+`X4;=e@Vlp&733-GI z=E0ge=A;85lMP}5><9jHCTKL(Z4_wLAe#D;hw|w864ZoaWk?V!u93oj(o24nRdVyo z=oP5SM#NvWSF(;_^XbMB|6Y*Jct1psiEFku7OHo}v3{|sK1MP^l1S!djC@ND`CT<1 zxr4SmKx(}maWM4#X;5cv#|?aTy)D5lP3;TkO@5}}#g8?f3^1y$vt zf5f6XVXUTBMC}9gLhk&Z;IX4%!PTZuatKy3fdwsqoa3#W@beIeqVju6Wlk}NkE{3k zQmY#(6S_Iszfsj)E1)UBY@i8_64KpH!ZVd|2)6VBu*VgOI@&3PIoZSLb_B4n>TN;F z-d*MWp+3Gn-vosKML@d0IE~AgC5$R11=?X`Y#P{-4UM!A!I4&}PQ4zBI4u@*spiI+rwbC24Gp_zMSzcn?6OUk`oa~LWDAfjx!bEbO>z( zUPc}6r%eDn*7I@UkA2MZnrZx9zvX!Ny4G4>X*%ZtKyTqK_|F1H&&vx9I@hq{T+oh& z^AHKm^=TS1G=5a^%uHB3P-__CwLeXZBHV<@pqw0JR+WWrnWEZ*UTJPCkMh~-8O2dl&1--qCd~oI&uKce8 z9P>u!0zXxpg;qWtHdxc3r?r~CF2LVsgL-Jx)SP9Cw~7=qMt`_20rr=m3q0G}C8y+l z%Yv>wgGtOh-MB45*MA<}z-GtgOrT-S?Pal<7_hHdD?I9RM98-O;%~{&UlT{@@|h|j zxhIQHmN2?ECKTh_N=)^H)6B{WEqZtd`up1CwQogos;P;z3M^2bYD)KAAiHeYD^i#w zT+U1_|KuphmFS~WmVt9yx$AhNM{_nGb?yEZ45uZ$ZNqx?@LZ$$Msj^x?PH0y;|6V1 zf2w}8N;lHWO^S-8s(#RN#lEII!zsBcz}s9=@vD8(zGuT%#5UJEZ>U-TC-+%q`1Hbs z3@DUZTDKG&^T`iS7Yu(#?Yp%OIXpebV$Fg z>!=~JGESLE6?ztVQWkQ0vw)MQv;5U!&_<*=NPz!S0*ZPFJi{^6!+8UWdFr3hqo|j) zplEancAv4Md=#V*f0VOv=c41U!iI8`1h9EVYjOK?Jv9GoM!(-RioS;|4=YXU9hMdt zl9sgTWRMX>l*O)*?`FKCgHh>pzT!1@aCcj$+j9Zt4Li;K)lp6?Y2`{1!!6bg?bEBi zw#RGSQ_@n)j%7+>ptL>i3tjCq4b#;hC4jOetXp%r=3GEmYznhc8b0s&w$B z43FDf*8O;~lm?mvTiJJ@{R*U)GUPB-O0JmU6OTYM;$#ZQ+A=r@RX)XZqlQotOso%$ zkT_U;YbCMnXx7j?&A|CS5}%~dZ7B)>+~j!}(a)^%mbS}(o}$U4j3sH}a@wgsFSoUp zGykMH)+DvR{O6aqOixdP*~3ednWkdCef7^@hs_{C>R5BeVP@l-tT#OlRdy6b*s~pu zk<}*jqXsH*g76@=E6`zp4D53T&Fp=Zy$SfQJ&T71i-9b>eF^x(@k=D#XNflh)$COr znJb-r)syuPdL0HmO4_kbcYO1*8`$hMf0w)9sNt3F4x~SA-H(es5UjZ+@9#IwO0x4Z zgYJp*&ij7hFr62z^Qd>aDZc5nlh*rTukfAoFZiDT%Dl#?D8cjG)xMqggDO8kI_Iq|?5?SfM) zOMdzzb<9VkAJvl@?-7x~XRP$C%jm*=1^X5*{BLqUy}c(~cOWQ@gZlB}acKAuTaqLX zWJ@9v(`adK9_bA&II0W-Dyf06_;$@g>XaE{^gH)$U1!h@JY8sOHw21f=F=Txgjlh; z7}w?$rb)q1p`yvR7qq-QNvnTRs}ByRu{)^xz;HDZhu*X zTOBMb<(2yQua*YZyr>oS|8i4uR}$xHdRq0>7bEfqt#dcEVZFW4h!D@0osSAbCHGAi)}6|2>&x zNHlU8HuNS6(uU1>NUwhe2~$$HpLQLDSu~7Azrq8adPvm#b*mL<5^jtNf@geG`<+kn z=Xi~qTJ4{eH4@y^j9-{PWFJ3MYMq7g*8V=_)rC*VN84EaaQ(xo-Z;V<@HKp{!s~Ji z(|MJ@aP)fi=c@U7ZqN&o5l><A_~MJB5V>?f-iha0y}_V#@3Icrp`0DMjJP zqYlEGXZj?(Pt0$bX(0h|;%c^QPY>ej2%`&r9-GC?PJmMgcEp99uwfknR+gB`W)fs^5q~FCB&N)0vD*^f5Y7*=_!hcbD(a#wm30>P zTha*2w^p9FTID0|97R}?DO)AWDBNu(H9HO14(jT7eSBpyK0KV%Hv#n?LjhkrSE(bI zBREGCG~aO?7cu~2^10pjD^L3n4g8W)(7CD+>hDy%Z{DgS7QOzmGq@uSOW^CvL0!LGaeWrQCyTy?T58_kjboyV=>_ z-Ms^%k620vqB{{q_HU#-=8>fm`r(utH&eoxBlreCOkm??*Q@T$wzp12^mp`{d0fvE zn=~0kj+2;Mc0MRu-H_0QGDtT&d}$A&ou@6sJZ3E;XWdEkP(d+A-=RR(;v<;j7=*;< zLDy0Y<>(`F;3~MJtB0NfYc@N<+9EKh8;Voi)sSwjYfabD^VC2jCc+4(W}e=&iYB7W zDH0)riclg?9n71=)XZ=kM7m5|F*yZ=sfIllJJ9TgwkXKxK3AN^ID=tybm}#o9XP=| zkVQx1C{l7%QN!>sMx~PoUkFLppEkM`?j)GF*Lg+Q5f@&o3U6G6_o zQ=-f#l1gi%^e#o|XLnE39My`bBJ3&18E;>YRj&sGNy)vH`cJyjC@li@aqZt6F z^76_9D}*aXwx=cL+47?4%!^f>AXAWOc8&G=f%r&QrgFYu^WAxO7;t_qGj(CDzFRdpw3(r{Sp8DJ<|P zTzjQ6MRBx_I2L{Ri(TmUXJFvsn6$94xYYJd_pgH^4TqXiB{493-t5%f^!Gs*B%ZPB z0v?x5FX8*2`Qw&_kFuXTTsjV9B;f~nFHf`tHCEj1qsGJ_t2h^?RE5`OXD+~}lnn&f zbP+ml4&(&if(Jt*H^Owec>}Ta*EJ~rJ;W=Eda#)+r7GHpa@j}P5l`%i07HnW7olvwn_aZk{rNRd2J)}p6FMju%9vqML(!){yX5_k!Q`tO;J=+ke3 z*IjtjUWP=ko_)I$&wBNt%mqD~l3Ct=J1k%zPn>%*kHF&GKqVUHBm6D>5y*Cdd^g;~^@-_|S>fAut?n zwCmPS2?YL9asbpNcQ0A6fD#@G`F7ZlwTO>A*c)+^3Dr%=(peC;5E4a^%m~LJMTS*G zu?a^N5p$5MnqhO|x1>&)p8pE0__-L^_)zyfP|{?A8-~c$M-#WPkb#-(Xhu+%&^uEY z7-?RS8wA7v0mqtQs)tXLIdx;k?0k7z^Zrc}x2&P%>xcILaX}tM`4o|1FfQPh@Y-%9 z)Au<+V{Fv$GP4xk3z+rM?lZj8!tEIn#@P8v#9;F-RcUxtvsh;rm5o9bNuhQ`BtjV^oLVF}gufTt!<(-arMN6* ztILjUttqn>yc(@mV#2VQOJ7ppt5r`pmm%2v#!=Y#++=O6zNGI)n?++VYSrkJ=7A$a z!LzmpZFiFc+9xMZOI}5mJhV-e$ zu-c1DVy}8V@sPEorRJwV&Oc=SI%~p;R-Ny)wn|!#3t!7c#8Ol<0%^g(EYZ)rvq?Uf zMZIJGwd2-Xii?wWEx5Mh&x@Hk?-Sz5Qp5&P&OLAZq(}DQF%ZaMW(N}W-~k6!*-yZ@hk?fu8~5uG;ME9{2*aOI&fO(A9t3d!Rw3XX=!g(-qhNTncYG|ilXyI#0o7D}484$%;T+(2 zP0FAG67WRE4CpQ3SE?kOhpS{#_7o6aDz2uAeJfu|K+@k9JYqrAhW*K{)^Jr`M8QJN zmI8tkR8>;RlL7<|-9%`}_8#CY4}rMX)^0JKVu8mjkh2-W;4DtTI98GOnZM%#3U0$; zhd7C_$MR+Atpfr&_)##8Mg@p2ML5zOjcCQOcV*jM?vA}#h);B%w*W( z99D}N9f)qT1jHT!GAjXnPp@iqnk#~EG<>3duDULrW@)Veq-bi5vV9qC5UzX+RVs`)fnvX5(q$4mO$)8ai#WqiUT*rV$vV%uo74PMUqm%z+a!ksNZ}W z!zx0DeGjjx)t~S@lM@#A?D9xsPF$u(X;zUo_T5u^SoL20H`Ol18ZSG9t6V5f)lc63 zj|03`ws0B21O(J(hGvO>?m^?rYOK2Qx%FE8_dM?y0Ba80PW&DlpYfKSgbO@_GifT1 zg4Ex6-tn@Tu_SR{H|*Pe-SswjuDY}Z8IefX#D250`vpc<4~bmO^2S)8wJIvp(O%{`?Wb|uQIHZ9SnN&w+g zJP&Va^oV>e=oz|UlwXAFRi@b7RkR+|tFP14_s3LoHRIfq0A5JqdEQ|TlT}TDz@2hF zqlzS}h^PLqmK^?R7jb$Y${rh`NfKV;2;J=-dYh-mrZlZ6%PUJXaf^6^&^yb8m3hcb zZrm5kD8*}Wxw{meui;y{Z1cE~sM|Lp$pOu^V8Se4<1D4N1!`K9<^}yNAP|IeW#O{a z0=%J|B{ZSkoOL*V zhE+68Wa<+KdvKHY6|h)0NjdD`cBUOji)eBn(~X?<15?^fiK;8;QYVx-CE5z{5FWxM zU`VbDoS}N4kRT^Z39@;}84ZQ?Rli)mvb2*=Q7EWAyxnN^v;@GiZ0`Xd-}JTPV&d1( zOB7hbmB1^;l1D?5q~oDreX6UX5=>w$JUlE@Nrcw`{eT(7HPC0He!jd5%OI(Q8Ou~U zes5JXYHNS1K_F6V={JX`ouZ)uA`P*?vUD}Q!Efgm*a*ljC|~+D)^YU4zB;tHh4F5q zTkkHiZ2J`=6gvs#<${q*#7fFRM2PpQg-8Nw!+fMj{0_MMT`flPM1@Sy!c8BS>@awx z%h{c~dH8rD(NK83aZqdx z0JzbXyIo34ErT2XbK_t8>$t}bIueiRlEUi?Xwp)=IT4e`ES%evhjTHT$AQ&^l@Sa^ z`2{PVjw)6@JsGkN)9KJ9;$B9D9GT8!sycQ=)9I|09UTmZ{$rsbUw9^YQ6g?_R20^> z0)^I0uqGyzguWYv_RZ9VT^L*Zjuthv$8J9#|jH6n)sg|>x z#Za(SOsQLrotf$vn6iiaUDS3ByXU_qO1)m}R{z?$9`if%1+9*dOl!vyyGpNSxDCq` z(agW+dP+5Ma_ovNQt2iKfx16){n#vMEmy&i%ujK*wAwAHEWCHo-gQpXwvGk!#WC)` z#{gkAo1DCG?d0o&_H1{-?wl}z`7kok{qvXWW(bJ)u|4ZJ?ky98@;4Ah?X-RTys~?v zZAJ*L2>i@Cc<b^&&Vgdc@~#tr z@C@%9KVbmkCFK%O7KV{y7!x85%m}fR$H3|soE(ZD*fwk6*-=1-fUKu>{@=Zz&28Rr zn-Tu1_DQpkn(yvSA-N->bE~AYMG(~IiV-kZyi|^hE*AHIf{E!5+q|b;!TI6&Ph2)S z!&R_tAny@a=Pa+ULISlddmiouuM%=X`N*@8cFp^X2Rn z&li+yA7qOqtQwr%Ps||k-6FYYE`Cf#@Dx?FB%cUnnWw5$4D@oL!*H)q_m9nDBmhk3 zp5$&wChEawki=?4%)+XkQt#S`FY2pHYOf zAG!I=^G*RnDu@CTk0YcMP%oU;NBi_;0 z^9c>e7Bu7Jx~h82dM~5`Mf*rrDwjb!68Ccsu2%+$MKnALM5BgDtS%s-sqh6F_3(5@ zV@8QN5W?j|-pK9$-aqFSK5~TWTUHhdcHNaZ8sNyir*A{y=^o34u*jAzJ++@|{KOX&{IYShIMfXh%&$=TdD8%>+FO=c z4NL|hq;}1#RKHyr&k+cwuT30^fWdt7OpTW$!Og>Hbq5A0oig%x<^0Yvj+73jr5>YH zaNVn#>M6Weh8s(2b3=%21f<8yY{sgTy{3Ij5WmHrWuL)S!zjNnuVU}%F4ekD8Q@Tz z_b;w{cCke~Csjj{?CD9NrpW?W*A~4Oj}6>3I0Rr~UVjZ%RX4hOkiZYfn~SVz`$2{QtCn zzj~$AC8fluSyS!W0udrEc++>laJli2V5E&# zPO$CiYkGQ0!E;?TPK)U1=D&180X!FpaZMAPauG*A^t(JJ=WQ5!I{y8K#KC+l@ugzens_>4=8duGtf_jkrdkj+>#2dUTW=Mw} z*m#JaB0X7N6rAIiKQx7R9{6H?aRgy?boRB5LsRXljadeykZWAc_KEC)2Jb{k7b52% zLD-1c!q(Dphzq8cic4+oRoSJ>)t~=U{}q5BF{Y|aXf#I%`C8|G%#uOyl8?GSg%eDl zeZ^wE+!tron5t8yvYnFmdx;C?&TQRDnbW#nG@2&nfzooa?cu8eYVVz!DNY)=fM3*8 z>4zu^DimGa`K_ByDH^oqR8!m9Jy+(+OENl&!onKapI(_X!GJ7+Y{$nhz71+MBcZoh z$KnC_apR3cQ82tnjL3arah5k?@?HcoNy;_Whv$$Gu=%Pyv^WD6Lrh$pzW81|=vm1U zvJ9gu)A&-d*!Hf&md>j1x_ULSBd=qkGp818UhR09xj+ifvY&Q8ol(v1P4Q+J9R5_4```$NSi%?!+bi&)?I94NfFuV4Xtm0=RAxuSe z2wXB_7{>o&vi8Nfa<;$_AKb|C@6b4AE}8SK&i8HlcOP{}ssN4y9%Yhm_$`V6Hu>KP z@;;C}p!=H)z_@Rc|J#)|BQBieTb4ZRofMM+vE4fyt@tv^J9iprR&3-_1QV^()~I%& z_;9=d5#ZOY!+Lv2QvrXIk^k^vgH*TZcn#mehR;}VT{3{6nAf|9YlRd!3dcIgnlvpt ziLW7-paT@&ABj1jFbK*p$@d71i3$*RSP}lry1|g%l&?a%1@eUj$E*|!gN8vcd#QjW zf?(n7`R9zZMe=aUT&a_4^&6q)qCi8QCX=TZfZ|OFOCb~RhYaJiFSCX<&3tt~gh4Zo zO~}%`+<#Gz(gwsWwY4qcAx9~Sjs@ULTZ36#J63}IK(^J|K=0<1DvBlFam`!X9hd`N{$8V7{X zy5Il!1DIxp`WJ^83Z%=aD4S;3W<^*m)&Mm&JZ!H1HTY+1mBG0eDUfa)oDHxt#_GFF zxOL8X=<)68!YAG!j;>au-g>6v>PbqD!^MK)~ z7j9)`vv;Y%7ZMg%3&C7nn5={kY)G4~+64ejb*f~n1R?(yahhYBxkad@#7O6G6b6a( zBB5Tm;%&d7@{xgpH~q#6=M9&7zu$NAi2)hX;LOmZh6eEYKvDpZ)^o>E@p%60YNlDj7yScONx{j$i6EYHFKe>bihY3~Q$V_#=}KGhnO z>TKV#P1NDMSh4@!HPc1A~ya%7y)kCH8mPWJn}5J060 zTVtawAVs>x%!fOI{%wBv>D(x*CP!8F3g-9gOGt)(gQ8ziE_5UIys{vL8JXoWUzGpc zIaFtFVSj`Mzi%(W-EaKg&&OQU82JC+gQ1J<&Yl1KqS^$-+c=BEBWQ)*5Kt@}OcJ1VsiJ^^&47h~+AvKnbDq5vRdK3D?Y zHt<@(UvgIGy3Q{?R7xxJ=-dqMDK-~p|Aq(UT|ak?pM{eRrLe|t@CTIB4#U-2rS$&( z1;njWsIj5X?#Qit`PY@-h>?5@*SRJ*ChqcMYxT8j94_+5sxaL7kFS=St=UA*@GH8| z2TxB{11I5?mrxzABwZ*TRvpd|k zai^_uMWd*3)PzPYEu0-TyKpJtj&}|y5P5`Fj@xWW3#*&?AO86em4gzfsW>6tAJdvd zu<=<#NOqH-$6rDmoi*OsCxXdz#q7;0XSlcLJsndzV1oh~ruI{dHBolMUu(U>8j}ct z-x$6L+-~@rMrCiG${6*ZIr7cRMXYICo$BBz=V*POTDR0sx89o+G0&Wi0w#t5+ z=W94F;6lt}%(_n^`>*%M>r>t&^6~bEbgJY{z;w4=>ErRt4N%we$tKTncPYWjF~2H? zw|KJwnx#d>MUgZDaVLd98Juf&XtcLi3Y=a7-~~;yXA3op$7|2;S+`eX{8Y!{-Er}c zL(9U~P0wTDY$=;?CiCZMF9^lYZ1J3uT;CDOLYb6vg~#{9Ar3UmO|W=Pu4bnS7=-+E zp~66d53bB@Rw3BmHL%3|yyTY^r4kPh4pDGLugR>ue&VINEz9w7@?t@t%!5lO7wDbr zfOY>~W(^eQ6skEYsaX`Nu4O-}mkw5J(lH`krC zFp4BXarUtuzBfgJ%O&m=C$W1?Qsd1G?z?p=w1|@YC`Wd8le8FdK@CRm3virAX$w_` zkV7z9Kq7sVlMY?IB1Sv;!*$z2=O(KxGF)uQRJwm}^r1&p3jj&zb zyUGC8K%A50rKRlPLzT*Vt>(lXSFLo#=OYHy1>HtQ=)-USOsIw%35LDL;gP~kLou4% z6@;t*5KQ9e5f2WsqB5|(I941LKi-?iQVh?ciwrT-r@)5jerVQ))$W=*$G@=-fbV7i z?LU3c_V$D28+D{G)7=uP5_Py}e1-9?>-8FNj=y|RwH_f7x zpED{%=E`p8SVZOt_Az*-B6eY=$ed~U9FyT@N{q7=;jZ8$z|$0|zR-y;8I_zHvt!_{ zD8l6y(+#AH|8l}CJW(3UPJnaR92W+%okP7mZOzvP2Ch+0czEOsJVQcluv;RR7+1SC z0J4;08e1GY(bHpyJX_OrjQk3&>0;fCCLhy!@)NF}-kP*^z$d{a!FRwp@ad}w{Df<# zf&^|KfaSoG{c=td%X#(d>EUGZ-bz*zdX&6!FPYP!WHoWfd->7PH%rgQ-jT`2npii% zUn_BLEAgEm!-GzC@Ij%F)IijYK}&)Wc-pp7Rx=-!*>#)~mHoU}?|O0l>J2A2V-;WH z=bec|o}X#JzgCRpoY=6sUcA27i?`qXR97alkK@qFYieKTZ*PzXUIUAL0nxWdwx_VC zNaDMA!0Q3>sR5_2`kIoKq-Z+fx})4R>mHSS(epf`TS4Op?4g?A{Kf)j(Of~&E&S7E zrTBZ*d%SenQ|_%K!CWveNxfv_GOTbvGW?r3@c`EE5FM9D2AO$VI@$|^s!~|1mV|~K zz_d(P-!*38mF&O&UMqf*yka@nHZy*6MQv(-+h;98QxM&E4R&D)$0LVWV|y-SwU_gR)i1;qDp<6poIqt zgu)}02c_xH_PC8;5+u`e86lqx(SpK(71^LB36ghniId~)Ued}iOi%z28!T4SVMB)# z9_SQ{574=^GEM0?cip&jvu-$*$QYhX!ZjNMR8S-y?&65^Hr*<~VVbUmAR&^NDZvCO zDB#!?w!?%{Ometd*I@&nwYPmnC9h{{vQ}e4sA_qQt`W6A*5nP9(?i|ebd7?*Y^)Kc z$vyu=EOrB8jsH$6+&L>C0<%X(+a|fB^AYfc@>x#EE|#LE2BqLx-U8L}m$AlTp3gZc zG)ADpa?#vgM+jY0ygq2!X*V)klHr6K8(&j>>6>m_mA#F~=cie*slQ*n?zO$!>Qnmq z&f(wUQMApYGVoOf%PX>U1elAvPdT~0-@c(k491srL`0b+(4^*N$OsGAIgj+N+4J=+ zEj{wUhHTSr-sAQ5C~-`~cR%&U4}7dVk&%D=Ga;Co7AOjcBXVdoEQJwcnA(J(X%EKm zQRme=&JGM;0R5OnsR6y_{h)tOt)KG7s^qF}*nQ7iBMUu#ucj7`z>R0`k*mKu)3G*% z5h|2UV87c3yWRC#Z!o&7K4NTaL&i{KDx|@vJGUO6c+G`BuQ@>?zHep7$ZgOm_2=&{ zPF4gJ=fGu;s5{K^NTow68AvK3C+5W>7$Zi6^4A4bQT!f(MD)qR$Ib9L2Ek*||G6B#UHas_2OiW;|f*gyU${90AD=>mDGv|?=TMpwS zMvQk#=ClDoQ9{Fj6ar*`oDBBVd?J7gv{*jO&vYT~62^Z30kmACM3A`CLQ|^40LWri z*8o!pk!>t_kbth1qX>dLb6YJEGXCUq0ZPQ9BVv%})pLeEIwyYn)+Md2)Z&fUODpPX z^p+qzxFJRQe(p#-czdnp`Aw0*(ClkjfKWA$K+Zr9&bUYl_Bi|T91z|yLAG@N@!?xG z4)hKfhYljdk>!ppZH=Vm?gIm#4w|vO;-(HgCnaCaQM|B*$Zj_UrNaikZ9-ZZHw}Bw z|D3B0%(LLiAV2y55m(tNLdVHi3t)=%TQum*4f}f!%2vNXfs*q!OgWDXgL^c z)E`RIPqHV|PI9AO-?&YmW;PFEdm2N}GCHdIyxHC$;XI|-Xe@qdaBb0Qu}Kau0tWW& zq+^S$ll}dMjNM0vMTvfiQ~oC!W0xmPn$m4SL(J`#LFKHI&L?eS87Yq+r|e-A6f&Ux zGZloJw{TWBCY+8??cVz7BoQgGSkpXeVr1f!>O|fC0e;G$z63mvno>5*o_{CUjD72O zL>qY41qLTCBiqbkdQVx=%i8GEl|=i(gmy`M_|F&e&?@8Pau? z|19hV%i-*&nN2eqSF~jL3X0J4+bXvfbH?FCAPu z*8yS2lq_q*Es&B1Lu8IBN102Z)b3NBLi~+v)VC4b4Znleup<}p#eqJA8bI-aE(Id z2n9_!gJj5u;d3h<1qk-gR0f+!+SC}M0*VkCs+B;D+d4X|sX@6|BMhO56&!o&wSdzO za696OY?3dA#%)F%kwnKYRKruu!rwr-Wski8(I{g6z9I_~eV-s3w{`*fPF$)(qJ{6CV!2(| zBHAsPWCy(X{Nqr1OLX~7^gRU;7*2-(qjm^)kAy&sh42M%=M4>QfYPy-HKabytS$LR zQs&J|Ig-C6Z~lBMpw!qw0Veo!RQg5w9n!-kHpX{s^1QD}&*T$2tJ@oQt2Vi=Xr#6# zD&G6KB}1q*=}rdd!ctSG#l}=dAW&}?cw85_<%H#i)l3)PyqO8xI&Icz4e?0t#@Gh; z-Je+yuJ=n!^vFr@*m>xsT6WBXd-?(}pLih0O%329H;VcW(>(-`^ZVTa>>6!};%6Pt z$>3OIPJk|cgyD=~A%yVa*D#;|{#KT=;5>;uF)<8)Lv<@wTt2fZ^m1dzTaWLTE`8&B z+3&X%D{95xi#~L|q1Al#)zQq$O`@x&^KsO<{glOd@EY-BQSGl)tqqDr-^0Ph{c`!S z2HW&#)C2L0Y<$ep!N%4h<{Qkptqti8DzZlC=^@o>+p3;WzYTEuw4f2(kosk@=XA4+ z)HcA{IEm$YKNZM!F%HSq>(;sS2s#`EcZ~Pu>A0)h(<*v?u8_ys!>3FcVwXFn$L~H_ zS><`UiAA^pUY;k%^~Y}D8s*CyvSwXXwsa!cH#0m%js7#>$i7ukt0oEGYHjqOoE+{d z%Z}SB^=j`n=+ib=qq+_Hq5+~CFP*luL6o#=fvUU=jr3}a@6^`MmUa7g<@x`*3l3-M z;jZ8GdAs&o-w}BFv-+J;Guf>%-|mr{zp*Zy$XqOOuCtv`VM`E$spzPUDyq^Y2&sna zGBan$JvXl?82(dV$2wNu&y$ldQ^Mc0V|c;QO*IP!p2vVrn;|N6S{LHCS&W&1ZNRT_ zT2hh6Gh%Bh7w|Z8-ov<~jS^msxh%F}&BL4{t_sUzzw#sOG)<9=f?R0D@f-)k`4}gx zgQ$eG9fdXRO-*(&ph+ma2$m7J62J&0KhOyg^q10*2Ehsmg4Ym^5d*(9l4Loa?=eEM zcS;-)hx@8$Oa<1-!Y#reRG}kjwShN>3`vbijlCJ$B_(xD!HOCph7WOz39KACtYKMk zPDI7?mJu^{Hs?l^Up>6#N`m>XyQZA5^ym|&*BMdO={5IFX64VJhq4YkhkPG1V_!lw zJ;4mN_>XxgT{>D?Cf$;>g_GW0Py&x4h)KfiUz&FbBn(2~gq4;Ya&C_1_Io157RWJ6 zOdd$|nt4TA%UzJ)-wbD)HU$|);N?DoYcTL$K5eyFWFY`d+@hkVuNbQp2KH07_dldC zSnHDr3!?bkC%ztO0bFI@cdUd)%q2`bwMv-T-F(W=vz6Stt}>J4E!n;2ExH;Y7XmPP zl}De)FP)X5zWFgKmaiNk9AOeWQaDmsOz-)Mo0SDcT{Q-LZwO2cn4hdJ3l#>x7n<2! zNQ6WKRe_phWmw`+JNWTJoW!Y8U7b~5JiD`bq?LzSVhSOGm5nVBgd-wqU+-Sx)^|)x zD(ub8DYz~;BAW2fUEdwd zK4w;#2Fq)@NA}0G9VQD7*@trw7Fze*>i<$I!c8z)MKX0jH7K@5dhcFzA1mXQRm*A1 z#L&O?^=fGhHipTSgYwg?0mX*B@Z3AsH>&2VGSxP%S-9KQU-)d{9SE7fN38_PeCu!a zEU$(bqNlmG+k~u72;_Nu*PFh0p$a9ApzmfP8DaJo%z}n-`^|5GRvaN0?ppmqWbu7Z zquMmriZz@HR>( zj81|zEmzI;TxWdJ@M+XVIPu*79cMm=Wa_!lilf|59;$ccy(rxATFBTaGhO%H4ddl| z3%Vc8JkHv4{QC_^?+03dKI%O&RF%!jMjj5?`&|Yf!E1L+d5KaVbJ9ikl+=+!Ep@l0 znrS&{w)F^9W1s|nA19s0=31OE15iOK@Oi_}Gjf#65`*?H`WlJPyRW3)W6rg`Rn=O9 zAQUzt{?pSCQ{@v_$JU~q-})j6>Yx9{8`lqCK*6J~aUD#~@R)lwY@eK%z4gfVPcm$t zpEn2O2Me|0hFpL|06t{6K_E#ZP@6&xM7W{ch)7D-pDMLv>I~5Q{5&#|s&Nj6a@_P9 zIQ3zs5kn<_PYz0{i@L#+_QPkzXk3Lqh7io^B0%zti_UCr4)n2kZD=ankG#qumN5TB zJ5+iWL-ZAd34TCe7P4>bQGqHUnohb1T%SlVdO_+c?#@79CdaZ zpg}@Co8!G=-A&q0Xeg|YaY;ks)U61)N!}W73K)hn@s$r5KLPQ4L zKu4svPc9KF%Lsl;#&?LKt9PK>3XSY(qB2md+JNq4z~1eoHUBJOew z2YVKc$Q6|DT4Tx*@tEQ=a&3{sI4|KOxJ4o$^uI;{IY$zPAcdtqOzu;WPy!;05i!QO z1SdxEtQ$9h@`?CZCl`}isWUAMJ$ZRbJv;?h0BK29WWJGaOAE%ctYm)>Ao%qt%M}1nI(%xD+ym#4Cet{4Z zhx(UovrVoflY$B4aW~91w!w%S(ZVZ9J2M|Ne>&h0&pbfTb!4|~l%mKvy#T zH~6tC3QBpAj$4`I$s^qnT!ky2$9G*(D;X4UYPdE0lTbSezC3uKV^b!ImdKO(>~FP8 zmr}^%A1^d?_cucbaN66cLO)K5x;9g*1*YDnnss?mqpq*0Kam8E$jQQ_BB4ll4m?au z?Axjji#_ep`a|jxe%Aq5?;I36eEO~l4)EI0pZ(|oCd1F{t+`v8t~h|FPM08Dp??r1O(Yo zRg;B;;Z;}-*w(C)02ZRQ6Uq6#FW4M?mE zA(o5Tf~_Ei6Q&{I3Rz+?5CGWdLM{`DSwu+3Bnpm;Tp~c(<0^YBf`s_eekh6MCXI4mOXbXnyz^9IrPlKwpY`(!aZR>+~LF6L$OZ;b!vG!DKU~cp6bSJdr4L~|zS|ZI^rzR;8OJD=G zfNCPTaW?z^X7Xg(gy5?QJ38XtVCh5iE&YGnU4eCZJG==@YCz4@{z+0tg>p%&Gsr73r{zbxALQY-bHFh2FE}od60`f!%K-kiMNjG0Hf*tSg~69^kq`Ejx^8@Qp(YFWPi(AVIt>^}=Yiy}c$A1~%iOt`MO5#~X z8woL%Jy3~z)`XptuxP_L2!s$t7akFBZ{hpBL-RoRGz9u?9cr$OFK6sgl}TaArC-pE zkh(y*ojU8jpI_g`ytZFUSuFMzV%UA@=De?5Y|V-$JO&63i2pqAPGGotCh!1!#!zrvKEA1nT~j5SEK!& z(n*5GtL;Y+{TOO7O$ zl&-M6Ub{z8KrABC`6k$oFFaMaP zg=4{Dh!EZm1+J&ea%h7mUPLLsslsquMp%FbYuq<^tiuB((nC zirDq8tkKRuuzI*&oxCB%nE^nuTU%wbTAN*b_cnYAW3UGb`-lGfMaAY@ed$a|x4ZDCqC^iahc}P?kb&E^BA#vrv@zkHN$aZLwdPOTj z297HSw@r=Ze?dlaZ=kOY9l)6fSnmp4p0=XRw`!yxTx=8Hw5dw;h<^6EPo9Z6%D%!b z;Pf%0ZbPPiYt6l8nb5E6UE#G5DJ_C2=H8SY(%`x5eBnX)8kym}+GJ}@4M(@+ZGpqW%-nyB3pPlyi=T90}z_ni!dGh0n$hQeE6v=&eD$UaR|u-VG_@{Z+y3+XAAdAJjs3 zKT7l@>!m?(9$AV4-%}2$2m%mY(&ly{$)%8<-TFbC@|0Y-cvq&#nH-`6nzDExZD!ih zBA}3VU>hdQqgBHN^_4G^DE&yekr}%&(dBo3AQ`}OYkZ5@i3Dp6zl~n7KD;?U+>D2o zU*HY!8j3N8Hj$Uw7k=C9rzq}xu-YuCkuQfG&qvLZ_{hv!YLm-aD$VJusKEH7i2evA zJaBZOAL|~Sq2So7l56+9@G;k@RzNigmjlmV*zV%nb+t{((NvW= zot8`5di^n1I9Yg$N3|8+UxhgM)y!2OWKFiN3z&=8se3j25&{;2#!)LTX<`_po@N}R zRbdwy5n)}*H_=yU(=u8p45%2Ypd~Hc-mlgQ=f}?kL`W1AZb4B28p`=ZFzyeF1#b3U z#PTt^U2K*&2S3czo$>sOILUE0Med)hSrlW4L-d`{--BQ>Pt6#|tfRu#<9q%tTOs+S z*)LL@l09s!HoeS*X=eJ<$aop`TT`*G4auu9zFTgc24`nGeFqV)*}|RAuBp6RA>^Wv&lUiJF23dEiqZV_9rZqb4eOKbGMAVei@tHCRmT(K z7fGbV)TGl0)l@UnQypMFw9JM5w~2n2Z(coM9B&9Ao>Py(xrsKP3rg{@b$lH8)_qYM z4H6~N%ue~Zc_!%j9a>)Zkfe)flC1=B`mhnJ#ACam0e6)(_7-EtMCSi0kfho_Gd5G_ zePW%@4 zEue>ld_X+@w(#GX{c)xCt$CS&^Rbo z(1@6G`HwS;VsZ`6DaF^M7-_K!e|bR+7TB|%rfU1j3hd)>liAriZnGcmz)cN)2KZB) z>p~gU?QX^U7@$%(Zp8tJL%%NxUxRo8MF}dYUV1X$$We@n&*R*z;E9yUXixmw4DUt- zyP(7@h=H4sk?9)P=a*e(u_MnK^^}ryZt)und>pBPV~wvJ=S+Ttr?vkcGZ0y=@8$~i z)PUN4iD)>IT3_)B;O1|{1(Xzb#T+=YxPGDuH+bDQgN#!XF{4QV5hF%lNcQ)&6XkdM>ZnaV= z`A?V14C5s|Y3U2aZOk7ct(_B{>SgygXR08+Va|>v!V9~v999$Jqs0?Bjg%o<}MPGI|J?Oz%jg-{Ibfi2E~rF zmwa%?0>(VrB<^@s7wxen0jeSr2E?L+qs<_I;CYkYl8=#{Qpbxbgu8#JzuG^;h8kU3w)A885+ZX2Xn*ArsS}?OY_-r4L(+(>VN{-;J%Jxi>E0d zc$ajY4D3dY5Cm;ZoHg1t z0FZ1oPv7tnA*HIhJ+}U@i2~SJdQ<|wVh88G^j=G7{Zk5+gM#iw-#gECEY)rIn>fhb zkNOwSd45HzrPuWn@SDoGx5&4}8H!Ko4;xWCIIktnBf#@1>#;u0pk zrw_uz?8t+36-8D)8elnG#BTWz&j&pei{I)1yRag3qXQh!ap1$hPjrV_CPj$ZLiDgx(Y@4KTv(&0aX0Mm}13=d>V*$S=O_@ce=h| zLI3iD4=z@z;1--3QaYE8Iu!XStRuH6u3i?fZ^EORvuZ2z=hl7a2Q&c$I9Dd zHycCW^s>+z1lSr}hr8(ENY4h)r91tXob_1Lc}yw!RXXN>$49mj_Up|KGGODV)Sp^) z(+VnS(>QPu$o#(b`q5!f;&t?p4e;4#=?qHmb!9q@It?lYM)5G%_t$RAnO{^DaK?*h z5)@dNNHS89>oUC7{VkOn*XpB}C_gP7&MpXq`Qq%=3aaDhm7Jh6*=LYIpBA^R#Y$d2 zfEZ?3d?L+)Q$&#a$$+WKITb8GyLY%J{^CXDz#g=e#$)Yf5V_eIKg#J;zu~?-Z!t%~oET zx-8!zmyX3GxF8;0@=yxnz0}iWD|cGV@BTvXf|ZvgS&fIZ76iy+4vyT9*K%s^6K}Lt zSy|^jSgp}VaqcvsTU#Lqhou2tG}lmyh714Iq@81Oe(ts}**cDGm*~8de1@kLrO|-? zd!!E+D2^pY#M4+VvSvLFyH2Y?wPUt11v)glL9N=fKg(fjH7ThyzqQQ={ayWa_gu5g z*|=jWA5GIsFJ%M=mM!y6II*I0iIc(!pDPWO(Z{;ia?jm&F+3fw&??;&D@W(DfuTJs zMSO2M8e#43#ar=I7~_xOc)m{DZ$bm{x8z;8l`sQtq&Ek;EviuPvvT!^R%-pp-X70U zy*iYnT^)*)V9`meq+w`y+SU;C{|E9!g=!`#LG0N@DjCYlaYMlqGrfk=v>JCsZIOfyxX$E zANtmLHy7ykbQcxWDGFDZD`Y0iJ%kOgnsR^6%nGyF{+S&hU@ta025G}73E-X{?=GB; z5lWIP6yoxPN0~b8|Lv+(EtW9k?$e=%5{!l?VjMfh(<-kxo)qQ9@+o z4!x^u^U@U?yIbMBuGCM)JaxUe476-5!mXX&)=nm=AlX^UD&C7!OrkxP6`>?H>4$~U zpp0~y4m_K+TJ5vn<>@=DWn>~VFe(baTp3$@0*8bL`}uz;)IuK0pJd{|?|vJ&?DKtt zDTS4U%${Jphp-@<1CADr)ek$N_eE~=F+a=wy5`3^s1rn1evk(@DH-~r^}cy^ZjFSP zGtE|7A}PK52^%Agk<7(GYSyfJWoFO{-H=JHSmv#QV%WU`@53Bq(Ph4OVWr=}5;z+9 z2VINMZL+hjquiH?!E~YR+6x6yL6%VxtUMwv>!Qae?m5dDa9*$S64PcQOgyYs+t*p; zEuzZm=ji1?jmKVFBPZFxq`KetS1MjTM>`Mzw<4$YqNP+R9)wzbUPj#n5uKSoFWz?) zwT!j$l1qs6gpm|nG_1~b%hFKMw2E=!ZmYetgYqVpDa!;&LDFVO6?8cb)mZK8r6x;t z9*gA{qVQuYIn^>nxO#Q$T|4dus=&O$hF{}o(v_yZHA^d`ZI|+sVnXKu&9PxOl8U4f z4CrwvScDoX{WqFgLoEc~vPvET?T80BWst*%7lFVOvK;{}x1tRfuM)y*FJJ=$4>lgC z`*K=Mq7sxfPA0qak7}afiuz>Z>Tp0xeDF=_#%ob2yT^!^ZYyUq#;IY) z{R`3+D9wL(S(Qw``amq;xqx>2k*w2yIQfHJjok<(S;%z_mBq&%u* z|88{YgwE)9pa@qTG&>x;K`^X!Y%)g(yFMmo<=Dw?@m{>?M1Xzy4GVCVL)s){V&f>7 z4k8b9w*|-sPZS}7N0Go^1zrwF`FJArGaxQ=lvWaD``E$tzH zEWd~6t8&C=Cf!t>Pft?j_hp$`Qi|}>Gqkr6Vn+kGW&!gr?NmU7xn&KJt4&3bjfch2 zp`F5-EH;ZcFA+DbYSaye6nO&Ga;vsbFQ}QZY)I7*ZlVuC27k*#4X&6FHBR1-JmCoc zQ&Oj68_RG5Y2l>tlCKU0(70h=*{H2Q?@Vn|D|@murZ-r(RAiHdt0UG!2|9X)L% z;Y3WNgsF0{@JoVOG$esTK#GP)@)Zg`CINx1 z3N$l|It00O*QdELOJFf9Tn=Yy>BEhEKAFRtTHLje9aIhH_<_(=3qA%h_gZ!Q!XD=e z>^8zMf@lVYt}m$V0A>^s?ASh&kU~pHZC#I!izR% z5YG2G>~N3`{qkpQ4#F+&<_34$rpuBMeyjQwyj|`OysUWw_qaEfqE&wkRBpL#)755k zoDBZZu)(5n#BMh=bJ`C=#eRkIQ|wsZA7qrq$~#7AlTnkg;kr{?p&NywyYE>SNN#13 z%kLL{7~b@|J;B!W6fBuxT}mvJEE!@NKtlQ}+ne%84sO7`AImQ>g2g~x9bL)7ppH8g z<9M!pq7l?|%Gh45zEIklQ3=xfA2d@+7aQD9)0gi3T|l-&-35Nqw5v{?dcLxrm&-qu zUw2Uk>k()DL-4yDe-9+&#;c3Lm<+T?Ua?5O-r031Q>*oBBNK4V`3Fb^n=9Fo@&MwH zaKDFr2_N@alBOkmoE%1pooz|+I~MfM?>HBqkK-emt49NQUM*@&_I1esPuPblly-8B z>RSd-Wu87 zn&8q~rx2KH^4l$8?DDXmG?E{>h+RCuQNU9(gyPW1aI*}d=F>2j{$KT>1y^9f4EB_= zJByd{S8`Z?B%IOaUy5JX97M#B3Ir7D+8N4Pt=oJFp&q(TZvs^>9zh(Di9BObwF!zr zbN~Iy#7aL@hArF#Vp`Y9s{U7v3BZs7H-c8}w|<^R2`?yX!&sk=zHY##PAHSDY3StU z|JB_8U(6pR0>2ef{I|m(G$SJ9sAF!Qu^PqfVHUS|$WVeNv0`+r%)sT`BUpSf(dyk} zl3??eAiot~npv*xP4YpZW%hT3?!lRa#8s|4l*I?+^)%Jw-RS4T%Z$DhMvmHwG2;1` zfH*l@?IiyK!zd}crpq`ke-pY6IrrmTh2vLNY3pWG|HUrn+1pp{!{{o8d&we}P`Rx_jq97);vG({+7XPXlM?BP@#$aQh+(<@O&!(4ROSN4Jz6~A-y*LwPMBb?p zn_#c%`kC%iH~uAcW${IwT`2avb{=L@i|I7kxfu7+Uv7QStRNka3Kxgy}jx}(Ph#j|rI?wJ% zhokmvnZUT1rep{k1yYyAkHH6F8T+2Cy<|8x0*Q%=^Uc}|S=B83vOb8j7h^-($iS$i zY9V^R_E+^GBt-vgBdktZ)B4A14Te0`joxe3@ab?xa&@gDNHjDTBcLICUq^ICe3Bhg z(j3|~e3A4?FYmor-PeKoV@*sZCj^A!dtIgWB;XP|nBS9b6_GRfTwm=DQHVTe2W|=MfPvAn&6m<` z3d7>6gtG%q1L2d=qyOfge9ZJ>w@SfnaI(F+Sf8 zUL2A$-_Hzn7lmENs^8PoRk*8z^m;UFBwxtlHS!dB3jC6ZeSUtzntPKj?1)W7D4P-e zEN_^2?)I-Nsw~T(^M-4DwqO|`sH8CedaP-p+0_SHlN&q=Q}2y?R%kE_-Z9#iw~9#( z6yO8{Ek)Bsy@PKMerSkp9rlEb%zW|kZ#-7U_$igLo>%4SxIaNh$lF@B?b~R!xCj;O zvq(Ga?2E~P)2Otch9#rxdHDp%2y`{*qEKq3e?%tSJLQ)o}I3tcag{lPx=SJo7Wp(RQt6)M(-P5ZZ)FU2kgn? z)ZmNMRl?PXlpST&*Q!T|1c0a2`cglWs5l^5cAYH9R_>XyKoW z{|U?`c46wuRz zqpss7>eK}|wq-Maw|{;5Hu5-7?zie3o1jl_`;QjmO1X62h%hkl=2A5Q4a-!rr25zC z=5VNnQrR(OmDF@)SX=BjQmH&)U64_GZ&wlkPuQc!#XVaNjN^SKu zaZOjRADcDn%eo<(9VP=^emY5r*Tz4CM!`Jx3e1)G^@Q|}4LP>zxN(uT^}B7WH-i42 zPQ5t9<*T72r#BVOE*wL7vd4_`)9E2Spvg=kTaY2kiExs$h}~YF`RKjuy&3asr{Ku! zXI));WiN+7avT!PM)(d4SrbqnsQoD5CgsGKx$fr4(DErg`4P`@VWKC^1r;!Ya5`uQ{@ zAuR0&;&|EQh~h^TH6pgg8EkG#a&2@8hR+~vn_wB6?c?G-`(w6C4HPDliF4F(l-WvNS6Q;5k z>0o~A>#O;3H-wfiNKs{>dHjuNchy+n{&Lw6v1qwkO8>0SZStYND=XsblFW!>s>a$t zzH*hRbp%r{#XhM)PgG_%jkV~eteS2q59rnwNZTxlG$q+B0q?mK0 zqA6PRxrAf-(Q>S4w#EA;QkLcw8VzHy;a1J>e*D>> zRo3p!^3oOFip5peg5t}b`}V7sycqeqhJ|C4ZURV?TCUSfl1*7-XF3q$=J`Gf7OL2Z zY1Czk4Rw`eYquv0ajnnzz87sA!R71nh^T8{BStkKuVLex)pH#^S5RM;xrrTSErS7N zOQSS6s~s`Hum)Z$(d2mx4i{^nnj(mNQqy0HPLTspAQMD#B@}D&9?OY)h7r=I*PruP zs05utPucCuXYq()6h{~YAaE7WtTi(NXa_OE&15<0e+yN9!Uk(ypWB!X_maj(p d-T9X1=!z(Y$#zf57cR#3bUT)uo$L(<^FPjCQy~BV literal 0 HcmV?d00001 diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-regular-400.eot b/springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-regular-400.eot new file mode 100644 index 0000000000000000000000000000000000000000..d62be2fad885f750abe96337567aeec99e5adec7 GIT binary patch literal 34388 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 + + + + +Created by FontForge 20190112 at Tue Jun 4 15:16:44 2019 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-regular-400.ttf b/springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-regular-400.ttf new file mode 100644 index 0000000000000000000000000000000000000000..eb3cb5ef66108375fa9405584df000de398d3244 GIT binary patch literal 34092 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 literal 0 HcmV?d00001 diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-regular-400.woff2 b/springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-regular-400.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b9344a742ff2089c6bf862dcb92700cbed31cf0b GIT binary patch literal 13580 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 S)`hUC=>}_BlnnbyiU9!eaGWRr literal 0 HcmV?d00001 diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-solid-900.eot b/springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-solid-900.eot new file mode 100644 index 0000000000000000000000000000000000000000..c77baa8d46ab45aff98845588c807e81b73c9d91 GIT binary patch literal 192116 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

EFA9fIE%m5HyEmWrq*L@`PS)m?s1zo^|eW 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 fd>p@0o#BB0sD + + + + +Created by FontForge 20190112 at Tue Jun 4 15:16:44 2019 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-solid-900.ttf b/springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-solid-900.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c6c3dd4d40e6935dbda5f4fc671956c41b768a09 GIT binary patch literal 191832 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 JlKu;TE2wOj%Q1qdB^k`WJpqvW9V}9KNYfOicm{ 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 R-Q)Ro=L@j@Nd4~k{{Y?~eeVDO literal 0 HcmV?d00001 diff --git a/springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-solid-900.woff b/springboot-1903-fanjianghao/src/main/resources/static/assets/webfonts/fa-solid-900.woff new file mode 100644 index 0000000000000000000000000000000000000000..77c1786227f5377318cf4f52fff9f454874651b5 GIT binary patch literal 98020 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�Yw6(>3h3Ki)UqBdO#joC{%U+==re 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 DKZR3$ literal 0 HcmV?d00001 diff --git a/springboot-1903-fanjianghao/src/main/resources/static/css/demo.css b/springboot-1903-fanjianghao/src/main/resources/static/css/demo.css new file mode 100644 index 00000000..7f888246 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/css/demo.css @@ -0,0 +1,50 @@ +@charset "utf-8"; +html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent} +body{line-height:1} +ol, ul{list-style:none} +blockquote, q{quotes:none} +blockquote:before, blockquote:after, q:before, q:after{content:'';content:none} +:focus{outline:0} +ins{text-decoration:none} +del{text-decoration:line-through} +table{border-collapse:collapse;border-spacing:0} +a{text-decoration:none;color:#fff} +body{font-family:"Kreon";font-weight:300;color:#333;background:#fff;} + +#switcher{height:54px;z-index:99999;position:fixed;width:100%;top:0;background:#000;} +.center{width:100%;padding-top:0} +.center ul li{display:inline;float:left;position:relative} +.logoTop,.top2{margin-left:30px;margin-top:20px;color:#fff;font-weight:bold;font-family:"微软雅黑"} + +.top2{position:relative;margin-top:16px;font-size:12px;font-weight:normal;background-image:url(../i/2vm.png);background-repeat:no-repeat;background-position:3px center;height:20px;padding-left:25px;line-height:20px;border:1px solid #414141;padding-right:5px;border-radius:5px;} +.vm{position:absolute;top:20px;left:0px;background-color:#fff;height:170px;width:150px;display:none;padding:30px;} +.top2:hover .vm{display:block} +.logoTop a:hover{text-decoration:underline} + +li.remove_frame{margin-left:17px;float:right!important;margin-right:30px} +li.remove_frame a{background:url(../i/cross2.png) no-repeat 0 0;width:20px;height:21px;display:block;margin-top:18px;transition:all .3s ease-out 0s} +li.remove_frame a:hover{background-position:0 -21px} +#iframe{margin-top:0} +.icon-monitor, .icon-tablet, .icon-mobile-1, .icon-mobile-2, .icon-mobile-3{margin-right:7px;margin-top:20px;width:17px;height:16px;background:url(../i/mon-spr.png) no-repeat;} + +.icon-monitor{margin-left:10px;background-position:0 0;} +.icon-tablet{background-position:-24px 0} +.icon-mobile-1{background-position:-49px 0} +.icon-monitor:hover, .icon-monitor.active{background-position:0 -16px} +.icon-tablet:hover, .icon-tablet.active{background-position:-24px -16px} +.icon-mobile-1:hover, .icon-mobile-1.active{background-position:-49px -16px} +.icon-mobile-2{background-position:-71px 0} +.icon-mobile-3{background-position:-94px 0} +.icon-mobile-2:hover, .icon-mobile-2.active{background-position:-71px -16px} +.icon-mobile-3:hover, .icon-mobile-3.active{background-position:-94px -16px} + +#iframe-wrap{height:100%;overflow:visible;position:relative;top:54px;z-index:50} +.tablet-width{height:961px!important;margin:20px auto;padding:96px 50px 115px 49px;width:786px;background:url(../i/ipad-v.png) no-repeat 0 0} +.tablet-width iframe{height:960px!important} +.mobile-width{height:703px!important;margin:20px auto;padding:41px 95px 41px 75px;width:1041px;background:url(../i/ipad-h.png) no-repeat;} +.mobile-width iframe{height:703px!important} +.mobile-width-2{height:735px!important;margin:20px auto;padding:102px 25px 87px 25px;width:410px;background:url(../i/ip-v.png) no-repeat;} +.mobile-width-2 iframe{height:735px!important} +.mobile-width-3{height:317px!important;margin:20px auto;padding:43px 87px 23px 82px;width:605px;background:url(../i/ip-h.png) no-repeat;} +.mobile-width-3 iframe{height:317px!important} +#by{overflow-y:hidden} \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/css/font-awesome.4.7.0.css b/springboot-1903-fanjianghao/src/main/resources/static/css/font-awesome.4.7.0.css new file mode 100644 index 00000000..bd294a0a --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/css/font-awesome.4.7.0.css @@ -0,0 +1,3 @@ +/*-防止各大cdn公共库加载地址失效问题,此地址我们会时时监控,及调整-www.17sucai.com为您服务*/ +/*当前为字节跳动cdn公共库提供font-awesome-4.7.0 Css样式文件*/ +@import url("https://s2.pstatp.com/cdn/expire-1-M/font-awesome/4.7.0/css/font-awesome.min.css"); \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/css/style.css b/springboot-1903-fanjianghao/src/main/resources/static/css/style.css new file mode 100644 index 00000000..bda44812 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/css/style.css @@ -0,0 +1,446 @@ +/* reset */ + +html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, dl, dt, dd, ol, nav ul, nav li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} +article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { + display: block; +} +ol, ul { + list-style: none; + margin: 0px; + padding: 0px; +} +blockquote, q { + quotes: none; +} +blockquote:before, blockquote:after, q:before, q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +/* start editing from here */ + +a { + text-decoration: none; +} +.txt-rt { + text-align: right; +} +/* text align right */ + +.txt-lt { + text-align: left; +} +/* text align left */ + +.txt-center { + text-align: center; +} +/* text align center */ + +.float-rt { + float: right; +} +/* float right */ + +.float-lt { + float: left; +} +/* float left */ + +.clear { + clear: both; +} +/* clear float */ + +.pos-relative { + position: relative; +} +/* Position Relative */ + +.pos-absolute { + position: absolute; +} +/* Position Absolute */ + +.vertical-base { + vertical-align: baseline; +} +/* vertical align baseline */ + +.vertical-top { + vertical-align: top; +} +/* vertical align top */ + +nav.vertical ul li { + display: block; +} +/* vertical menu */ + +nav.horizontal ul li { + display: inline-block; +} +/* horizontal menu */ + +img { + max-width: 100%; +} +/*end reset*/ + +body { + font-family: 'Open Sans', sans-serif; + font-size: 100%; + background: #2196F3; +} +/*--header--*/ + +h1 { + font-size: 3.5em; + color: #fff; + letter-spacing: 3px; + text-align: center; + font-style: italic; + margin: 3vw 1vw; + font-family: 'Josefin Sans', sans-serif; +} +h1 span, h2 i { + color: #f7296f; +} +h2 { + color: #fff; + font-size: 22px; + font-weight: 500; + letter-spacing: 1px; + text-transform: capitalize; + margin-bottom: 1em; +} +/*--//header--*/ + +/*-- content --*/ + +.sub-main-w3 { + display: -webkit-flex; + display: -webkit-box; + display: -moz-flex; + display: -moz-box; + display: -ms-flexbox; + display: flex; + align-items: center; + -webkit-box-pack: center; + -moz-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; +} +.sub-main-w3 form { + max-width: 600px; + margin: 0 5vw; + background: rgba(10, 10, 10, 0.17); + padding: 3.5vw; + box-sizing: border-box; + display: -webkit-flex; + display: flex; + flex-wrap: wrap; + justify-content: center; + border-bottom: 8px solid #f7296f; + border-radius: 30px 30px 50px 50px; +} +.form-style-agile { + margin-bottom: 1.5em; + flex-basis: 100%; + -webkit-flex-basis: 100%; +} +.sub-main-w3 label { + font-size: 14px; + color: #fff; + display: inline-block; + font-weight: 500; + margin-bottom: 12px; + text-transform: capitalize; + letter-spacing: 1px; +} +.sub-main-w3 label i { + font-size: 15px; + margin-left: 5px; + color: #f7296f; + border-radius: 50%; + line-height: 1.9; + text-align: center; +} +.form-style-agile input[type="text"], .form-style-agile input[type="password"] { + width: 100%; + color: #000; + outline: none; + font-size: 14px; + letter-spacing: 1px; + padding: 15px 15px; + box-sizing: border-box; + border: none; + border: 1px solid #000; + background: #fff; +} +.sub-main-w3 input[type="submit"] { + color: #fff; + background: #f7296f; + border: none; + padding: 13px 0; + margin-top: 30px; + outline: none; + width: 36%; + font-size: 16px; + cursor: pointer; + letter-spacing: 2px; + -webkit-transition: 0.5s all; + -o-transition: 0.5s all; + -moz-transition: 0.5s all; + -ms-transition: 0.5s all; + transition: 0.5s all; + box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.49); +} +.sub-main-w3 input[type="submit"]:hover { + background: #000; + -webkit-transition: 0.5s all; + -o-transition: 0.5s all; + -moz-transition: 0.5s all; + -ms-transition: 0.5s all; + transition: 0.5s all; +} +.wthree-text { + width: 100%; +} +.wthree-text ul li:nth-child(1) { + float: left; +} +.wthree-text ul li:nth-child(2) { + float: right; +} +.wthree-text ul li { + display: inline-block; +} +.wthree-text ul li a { + color: #fff; + font-size: 14px; + letter-spacing: 1px; + font-weight: 500; +} +/*-- checkbox --*/ + +.wthree-text label { + font-size: 15px; + color: #fff; + cursor: pointer; + position: relative; +} +.wthree-text { + text-align: center; +} +input.checkbox { + background: #f7296f; + cursor: pointer; + width: 1.2em; + height: 1.2em; + vertical-align: text-bottom; +} +input.checkbox:before { + content: ""; + position: absolute; + width: 1.2em; + height: 1.2em; + background: inherit; + cursor: pointer; +} +input.checkbox:after { + content: ""; + position: absolute; + top: 4px; + left: 4px; + z-index: 1; + width: 1em; + height: 1em; + border: 1px solid #fff; + -webkit-transition: .4s ease-in-out; + -moz-transition: .4s ease-in-out; + -o-transition: .4s ease-in-out; + transition: .4s ease-in-out; +} +input.checkbox:checked:after { + -webkit-transform: rotate(-45deg); + -moz-transform: rotate(-45deg); + -o-transform: rotate(-45deg); + -ms-transform: rotate(-45deg); + transform: rotate(-45deg); + height: .5rem; + border-color: #fff; + border-top-color: transparent; + border-right-color: transparent; +} +.anim input.checkbox:checked:after { + -webkit-transform: rotate(-45deg); + -moz-transform: rotate(-45deg); + -o-transform: rotate(-45deg); + -ms-transform: rotate(-45deg); + transform: rotate(-45deg); + height: .5rem; + border-color: transparent; + border-right-color: transparent; + animation: .4s rippling .4s ease; + animation-fill-mode: forwards; +} + @keyframes rippling { + 50% { + border-left-color: #fff; +} + 100% { + border-bottom-color: #fff; + border-left-color: #fff; +} +} + +/*-- //checkbox --*/ + +/*--placeholder-color--*/ + +::-webkit-input-placeholder { + color: #000; +} + +:-moz-placeholder { + /* Firefox 18- */ + color: #000; +} + +::-moz-placeholder { + /* Firefox 19+ */ + color: #000; +} + +:-ms-input-placeholder { + color: #000; +} +/*-- //placeholder-color --*/ + +/*-- //content --*/ + +/*-- copyright --*/ + +.footer { + margin: 4vw .3vw 2vw; +} +.footer p { + font-size: 14px; + color: #fff; + letter-spacing: 2px; + text-align: center; + line-height: 1.8; +} +.footer p a { + color: #fff; + -webkit-transition: 0.5s all; + -o-transition: 0.5s all; + -moz-transition: 0.5s all; + -ms-transition: 0.5s all; + transition: 0.5s all; +} +.footer p a:hover { + color: #f7296f; + -webkit-transition: 0.5s all; + -o-transition: 0.5s all; + -moz-transition: 0.5s all; + -ms-transition: 0.5s all; + transition: 0.5s all; +} +/*-- //copyright --*/ + +/*-- bg effect --*/ + +#bg { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: -1; +} +#bg canvas { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +/*-- //bg effect --*/ + +/*--responsive--*/ + +@media(max-width:1920px) { +h1 { + font-size: 3.5vw; +} +} + +@media(max-width:1024px) { +h1 { + font-size: 4.5vw; +} +} + +@media(max-width:800px) { +h1 { + font-size: 2.6em; +} +} + +@media(max-width:480px) { +h1 { + font-size: 2.3em; + letter-spacing: 1px; +} +.sub-main-w3 form { + padding: 7.5vw; +} +.footer p { + letter-spacing: 1px; +} +} + +@media(max-width:414px) { +.form-style-agile input[type="text"], .form-style-agile input[type="password"] { + font-size: 13px; + padding: 13px 15px; +} +.wthree-text ul li:nth-child(1), .wthree-text ul li:nth-child(2) { + float: none; +} +.wthree-text ul li:nth-child(2) { + margin-top: 10px; +} +.sub-main-w3 input[type="submit"] { + width: 56%; +} +.wthree-text ul li { + display: block; +} +} + +@media(max-width:320px) { +h1 { + font-size: 1.8em; + margin: 5vw 1vw; +} +.sub-main-w3 form { + padding: 25px 14px; +} +} + +/*--//responsive--*/ diff --git a/springboot-1903-fanjianghao/src/main/resources/static/images/bg.jpg b/springboot-1903-fanjianghao/src/main/resources/static/images/bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..716d83ea538638903bfdab13e2c544d713cc109c GIT binary patch literal 86682 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�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 literal 0 HcmV?d00001 diff --git a/springboot-1903-fanjianghao/src/main/resources/static/images/default.jpg b/springboot-1903-fanjianghao/src/main/resources/static/images/default.jpg new file mode 100644 index 0000000000000000000000000000000000000000..eb08c8a23847f5be5f58e999876e9471441709d4 GIT binary patch literal 36824 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 literal 0 HcmV?d00001 diff --git a/springboot-1903-fanjianghao/src/main/resources/static/images/pic02.jpg b/springboot-1903-fanjianghao/src/main/resources/static/images/pic02.jpg new file mode 100644 index 0000000000000000000000000000000000000000..34ac5e86e229911266283d7f28b0508a0d53786a GIT binary patch literal 8904 zcmbVReQX=|dA{QvPe)aBj4T?OD#=@ zqH4*Bq9Ez%=m8Yr3@Ik7gIg5WGg4f*r0_ava$S2-vKGicZK=*oI@xhlqi7YU>zqQ_ z0B9$ikAy#epZK|{ zzNzAPaddK6oGLy&Hqke=C+s}D4{LI|Gb}o{Odj47mdUS*kM7Tk`$|Vf#pKR=;|IIC zyTw#$XLll*N_GFG*wfYB)7gc8sd#syFPZA==@oAtVf@;WkuUWfQ2KBF7C!9>-*oEP zXP@2q?7cfnN50(Iy?gg=@{FFIIPQo~JU2EuJQW|C*naB?%IL(wBZtN(50%D5^2Fh% zN=GO6gkfpZh2r@B{kI?dsnIGHiC@m$6O#u<@0jtacTZ@~jgNL77@a5`J#ugqw{O4o zWyJ3P{vmQBtm%93$RQ+U_-Und@Mv*#Z1R3(PZ(ErjvN~4lT%&FuHMA1-92)DI@R61 zd)Kag`}QimyY5Zjo4hxjy7i1t`)+stu3hr(9%XM&*S_xVbZT#U_uh1Gzq|`iQ+DmW z{oVV=CMJi+4vyaX-9z}@o8R5{e}1=b-;vSb$e;)yt2f=XcW)2zdv7YaH+}EE zUGlzr_jMx40#1RQ?^mRqNQK(f3IeSEl0p3yNd<_M^9J6FG$22hFf7$8l{u z-{#-cw#na4uC)7{>%QijaP#f>_sL*s`SAN6@^;~QU;lkB46iwD@u zIQJgMF3Q}J5a{4mvi%F}!$L8@4%8|UmCB0|n%#);3DunA>?B*`z3bjJzO_8fq=Sq? z_uC0h&jy*CtD4~Kc5Z{K;6%fv*Mnv~NZGySeP@|BS&ZC&h~cyN7;N*YA;k`5!P-!UjE0UKQ8W9 z={W0)x68*exwKC&T|Mq8L~C7M>-22iY7?tQB&Trpa<8c;v~x6ThQoF}=whZl>)bVp z`&hPKqR$CZ!G`Tp-mT%aFeBwpDM4B)l%@P#uW;8mJ?34%>%01O+DyVAIV(K)M7G2R zX)WlP5~<5}LdKPBfzd+s;HR3;wtA*a^Xt{JT%%5DvKozCah(ePRrgQEw#sq!SST$G zg*2sqrQd!lVq5m|Jj_1B$N2f0<e3sW@gz_6!g}0) zwXAX^QOA(7ZI25$BSqmPi~1kApmH02Lv!~l&piD7*Wb4C5mP_u$&0gj`&2km zv-$8~%*7ifKJ($2#b_g3L*S}!c>_@+T9*Qxkrh5ue^Bbx#n#Ariy2xDunu}OL>+eL z-E_?>6%2Zs`9L;%4F_h(PBtGAq;|Mrd2s{DTS+RIx_;SC3I!l>UB=mu-^8<4Sdv=) z?r*c4!BbzaBK~%wg9=s>enX7)Z2w+-;v0V}(+itrnocSg1f`*I7nGcoQRJ+DMbN+r zB!-SlTA>=7P5b=SaHPFZ&ZarNE`&%(uei)Q7E*7Or@XXz-&~NMVkE5<5C*b1Tcmnx zcYXV2hD=~RA)jNZY)Q(ONeW5?;W=o>$4%U9+w09niMjgaSSyp`bp5&yq|?1qCNSJa zd6l4%+akpNp8w6W$@2-NE8F9FDuYBGi;e<-nA$cJlcqS zUZsEjPe98({7EQkK78C`@38f^KvWU%Sx(uNuGZuFs^uCqqVrbO8jM!vRA2NIuuilE zrU2O>F7qMG`wTG;@xKcgax$>)5cQf2JAoi7oA&}F**tM1z-_>7AltgjM9@FTmMF*e zn0vjv?ytG&4Ua-U^fOamxgGUWDjf*09Wu+>UiE9-$4bjnyI=nxU*The;Q}$-h%V0? z`K}$6`6^5|n7p^vrg1SV32sq5^(AQRSM#^y;Ep;yiIQb!2$fQ8!BO0|$nv)=;6%m=d@7Mq%v+iKU zby{x|>k>X4+a~G1xjT8DeqA`)A6OJ7ef=!(J_EVr*aZOQuvAoE&NR`YL+CSr`AQao zs1i#CC=VD2fgst>X5CO5{rZ*il#7NYY?JOg1EsD85bYPJ%TW;tst4_aYI(01dbHR4 z7BqyaXO^unaS(%$m3is;JvTHckTUX&`u;$IW9!`z18*XzT6 zy?i?P*p3)0poNSaa8Dk))UAJ@=q71ZyT0#fkZhd@NL#K(@Ccl6LgJPhN%^hEFk%QO}ea*PsXR23o|FF=&YZ zy8gDe))hIU+wYh$RMjO)j_2ByMGXaHfLKMe4dx^Em4sUJQcycH;dU^bAO)4t1cDP0 z8gUgSw-VVFq1z`oGX~g`n!L_cz;!4mRI+I{?wwU2gD&y1!6$P*x?hOCM%D>IkWnnN zfvwMfcVZgm8pT@IanI?^d9iB;tnP}`c9g}Fo5B>= zA}19BlExN}UQ{?4a1kiFqE=W2DQo{^QgQKbU0EMTG4(;kTz03y|hO6!=7ty*(v!3WRs{hd;+Lh zv|4UI@GYH}_e8^Pw$_UB#Ocsg$dw|sS}M5iqY9NupkHbqcA;{^gf*irJl(Dg$y-a` zoiI=GZQJv&*2GHLRl2rW8yeY+m?P3E4MHA;)UX|-pIl)5mjLlA75!o@LeooYqW6Dj zxZz@8dW`a-o7AHTt{x&dhV55SKZ523?jtmbqz5otPY`#o%(2{tL+KSXJsSi#TINlP zGgLxTM16y|U9Skz3%s6`mEb9{Rh*Tn66*PLzDJdFG{;(fjh{@0YjNsiOmVm&j?at-bRM;xe!+ z8m{uR2VG@ZK|-#RKC3Pf@Bl@&gLc4MK?{}_%hQ(TvMYwAvYIbe(XVTY_Spk9Yddw> zV3^k)|JAQn9@3=YEiB&T4$`X(k!EEkfmM-R5H`#4x|Bhm+Wt){)Q5W3+asFI{;ykikjSC4=KUusy$EW29pUbizL2ejTJFp#q#94lvEprC#qk>1M4`rL|L&Kd`~zV z*wXUI_y7IJ)^{M<$GzVJ7}|Kx3ty#a)J;`DkS4dV4S$`Oyr9W(Sh}(qhHnkTeS!W9 z{)W7uF39FQtSprCUM!ptJJ@J&5c5L0z>LLs?^$x42aP{|F`7bO2J1~%Hq;y}n6ZXm z*U^t7J0I$XTa9{A_NUOo0q6J4$(&wE<~rfUIUyfe<0C>&1!O>C1<+H!*1_48z8@g= ztZxS9bo8_AKhG(^Ok=Yw6xoK4Wf#@N!?1p9U_oBcR{Zt-i2tOvpa9{UwGeR#!G`G> z#2TvxM`)_AdU6!b%5jPi;zjDB9&?}dl$Jw;8^{G&Idy|-mqwai z4DH7N$TgIetbjb!GfE~c`&S-PLeS4eT8+!?u#&hSg@7EAh~GP^15Pf;FrJ`^yb&Lq zN-#(<1#6J701ZSCx+)OFEn@%}Kn*r8xa9>u<{>*w#xHn+d5+cu5TFxnrj-ry;&m1< zsu)k&2HKYbUpbLuM+Copb!qqa<2eOMSd{Bc>*<#>xy|Vzd9&=6A*Grx&caR^{7^|7 zhWQ8|9lczXv5(+?@0MU1-ZL&{%y{f0nJ6g93yXB*@E@NRF^Ty}yMO|=W-x_WLg&S7 zn(zXWIWDn|JXQ2w)B$*!q z_V|Cvz77G(vIRe-4M~TA_Zc!iJ*G(e0||v)AU-rUXET}<%BG3_ObXn4Xv)wX$A9RS zm)5*z&>>iZM0(8B6~lScS54I4GP#FdaLbF13*7tF2=2WIz=_bdfI}$6ZV~zNMM*6v z7tm*6B2D=JAW;M0gwxZwEPhTPZSOU?7WRCg_+lPSlDE*c*X*~$o9u~;f9G##K7?MA zh6sCeBZ9J`DoT-VJgn>|q*(9)I*s5ZdP$~=%?z+hQt?eeT_gs=^>MDAxhX`51A@+i zKI$R?6$uQX0dln#Ib*s8MUVq5&x?-Kf@O;+9Eb>XDn!JYuxy;PK0^LgMR;%k`!j4X z#>XN`KvRMnJ@oYU95yWA%ZD`-;ixDcH*%Ub(y{e{U-w2(7trC@Rg~RL<><-EN&cSL z4s*U*tr&y+sli(l;2NJiLja?v))Ca|d_^by8iI}_7=tAGM53B$Am ze8Ym1kL9a}AOF=yzL}Rp+UOR9Ffb?kFKFtqOm=H-*bf0Bg^ecV?5nyszgCGoX7I1( z4OC?q4LiLaEUk zqI>e%VH038s0PR|N6ur$KaoWrT_13TpL9h}2)V&Zl2yqlxNPvR%O`y7X-ykCirtSD z3{Wq+Fveo)viNz+Ixemn_^6ku)i%!<^;^87n=q|cYDf$^3Wk_Wyy(MAZ4+6;cvLfD z@f&n}87P`Wu)iV$Sh-&km0NnYB1OQ0cB1@X1pt;I3`LJ1+ zph#$hVx-siMZ>eIJI4+f(YHYIAz9Ek4J3F|RWJO_^AlvRV0lhXj}j^6P#`!OMH=)) zt@dB?q3k&&+J_;4C=4kHcnff(+JPUyG!Y-db#je(AQc7TM3W(0qlJ7!28Rgxo4Tef z5`9H`Qbb=1wHkAxLnMN_XwI)0u|Zp$V-+;Mwq7wd!i+W)tW@pKy^>D%qe*S!?Gpj| z*k}h*@rZgl^*u(OlLo@AM#MBum+$nTh`kkl#cF*CxduIKM14my{!SWN%~fCvEG=C_ zcS_0}dQ{Tyk>!dLe!^`(0Y3@-`+91PfF`v@h6c-Py=38oGe?+K!(-b%}@Ou^IZsDqeL%lUA*zynQUbI7ZNU$Vlp$e4iesIhPiGbJAlUlFkJJQ83E%*pUjJr*p-%-q|PNN1ckj`&WSp)D_3E<&_v#@qx%LX6UHtBE?t9hJu+z?Z+kSJBu z5rFxM)0q)bf9Hzn$l=vlI|3P~%jl<_Df#_sxI)H?Az!xNhuu!h6g9D{hi|jPr@L+* zfYsB;fE+VC)8Q<(T3wzg?1;L;Y8C?k#DwhlV2c3_H5iw{;E!K~ZaUqnfvQV7K4QC* zB7_+zlzJA=}!F?5IpA-aJ6`p}G{bo)lwbI9&JAtQjk(Wfo(x z(|xKj7+64u1EMy=kM10EhC;S!2zd#qu|VF?Q%P~>M$nts39Mku!|&(wIZmQcf(CYPdKe5N}eQM8-g>8GD-DcTtetf;@N6)uB zzjI)xH?Y<8{LbFK!ItOOne$KH0_W)FTC*vCm%y{@%p7`EQ~M^~)Y|X&ni^|XKenxI z)hbg{Q_ZS|#-^rK)u#HoRrR%X@UQ8yRShkTO)d3nO!p5nyqbUej+Qo?EZraD{mnucae zJ?F4Dty*PiZf%+%B**6&2+PBU7;B~vVjpu0^KqS{e{x!|E|AxLEgW3_?UlpayNtN)iPF|k<0WLu9wO6vbz^B z4<>^Hlgl1j2oBc>rAmQrhvVVx00dVO3NnB1fBP4ieigoqt8{JE|GRsm2g>e#iWR_f z<9fLsdmQ`bi{-07DW^8pn}RcHsR^6rj@yotJ&~)6QiC$RlJpe{WpcMlERz~tG@)n2 z>1EMI+ZpoNClVyJRhc%Y)CtZtWRGT}E8GsjV|Ta`MFr{osq+Tcjv@Dwj`pO#l5YJ$ z(%u?$@i#`O^|tjwvoz>gm>i)3x4M=yE&j?sjlX3!x~AlBttIccK0a7sk-z4eQtu7@ zNks+1%S~{S^s6R^u^SW~WO;3Z()miPM~=Dm9)@{;loU$ciIO6Lau{6gCClmKlWPUO zS6?klM?8gOuZxZd<%%-#igKRddm;hTv@)9D>A!MDY~{xc9AI=WiyD$rh*NBwunF9< zwB~Jf>=GSr6udSuyMLT%AmQm51|V65cJt+QS*-FhLkU%4v&8F|<>uv#Q3wPFy8wcE zue30E;PtOsXE*$qy(0wT6+gVXp8NRV(nQ4%gEtP0>0}pm>Ol|u^iVTKQl#WTUV~p; zLL{u5SNOrx!VgN_?jpfp2qjAGS?$=?QiFZ(f1OrYWIW)gTS%b|R{pR~+TxJugjcctVvOf6KIx9hp4vi_b$B zD=g$4)sF>BvchDP$Bg6+Bf!wnd@F#Fv8F1H4aKV#HCj3r%hJO&+`;xzhd$mZULz*g z|71sJCNwg;b&eO8GsBAJq#xig zM%5G2Ap0}^j()0p!xNR6z!4B)U=Gm~P%#I_03n8?r{kMdfO4ck1wX{3QJ@J-Bq<`u zwuQslq$x|CR&pV)P~|U(Wipv;-TtMo&dgRwSCki(nKILiIAh9{iQlY`Hu6w8<(NSk zoaWAe5_5%6G8MhcqD&#_R(@q8`=&|mtcwx9Nh(Tg>4;!=2wTb04v*ttC_&nN?a_3D zP+5uumtL0KgkQAY>KVb_oYwVPW6RA({^n3~^8C_-&bQ%-7{hmpCMybPi8K{hVsWV?!!~rnfa_ zl)ol40}ND5$Pf@F)1b431BImzy#D3Vu|RBO(wJ*;CeQ0+nPwG}%rp~V2%?J@DM}oc zdB|#!&9u!@C7RBNT#jGz)QY^vDvz}|D=$ZYuM}`KX`D)CRTz{H zfGalb%~i1?g(mjY1T>^LRZ>zyl{XaUnz*lDG>)DuHz+gZSdYl(PYjsy zA}g*#d=T*d%O~)8#L*ssBseh^Ol?+!PuQFivr;G9>x&w-t2J!o@63#3M-*KNYZZPTD z3X5Rjreqn5yJDq$c4?wD=nrL8G?gB~fPpdE~P|q^T3MiEZAGr;Hn9_m1*@#QgE6+`P)(_ zh)t(MSH%klH&GR28fF_H4&NbzO>X-bHqoO}_u{AiL<7rhxr8D{UKABSiC8PI(&gg1> zf)hIIu96~NFgTQxH5`c5r`_B5|J^GLivPEmI9qA->-W)fKTNCap}4S!Bt`t+@*Fs*OiJMx99r~#ShUE zuVIY%9DidN*%Z}WiTa7tsQ);z^bPd_Z4{byzxbZ~3_6Xg!U9Df*SVn+-3-osCr|Km zcwEO1_owvqXHbwVJd!zoyTgZ~Zo@bYi-K!hjmWvynWas4Z)-|LV3Lml8zRPp&d?+ z<5Gos9Zj)kWM>48%uTSV!Woq_!n!e(7$QQMl)$=|&2tL!Z_1*FoEmWJaN|^1%EU$$ zF1;%Rnv=5RCED5`th5G?X?F7BvJi)+3=sFy{J%r#@|4uCJj`q6fEo=kRnjy z8@bHiQ2{J+PJZ({{`5KQ&N&63kteKqU{!viHdFO2QNwvZ913Ss;n^Z!Y_i7Yas9+} zS~>a3tD1tPPaMy#l^p}Nz!(4+rA^{e1AdV`gZzOJd2nq!O~@8_A0dz$2&`~cC^&-+ zF9%Fv^rM1Yk8_AHXnfY!1dCWB zG*@1R7!w<5QWo0~X)!J~5d$JPD={|E*3Es*4ibcJ@yJRzW>*h7H= zX9_9HFA3y1RlM z8q>5~1RQLIx`M9g=J#OGnraftpbM#x-vjE?EI}DhinA^~kpwIps;XrRHmE8)p)XpY zPB#z&-!Wm=ccmn2H7>Yx-S#jAB}G*o*U_EPz2FxyV{SyT9_r~cAfyRmLneT#=w>Ke z`GBIdQS?XKLRo?t0m0d-pr8;a&dW~_tUdX6u7c^&c~IIwlgk6 ziQdK8y37poN>eJuj2bAgy-|Y(PgA5gVfY0MMWRtKHA_#yNHBukL2+%Q_VbY@Fm@S2 zaUOU&^!W%<8?rhCMa7KJ!*I22R?{i9McZy5^-T}}s{<~wsVox(g6O&?U#-|1z6rCf zeEJ>#d+&phe=F-kx+9LnLIIhe8`8xe85)EVI;;OkYCsmqgpjRA8`(231hRe8D8HVS zr3zh&vXuIttXk^>lL)Wo%*gzX+w~};R=aFfV#g_Jdn)hdY9~deK!eC8?5&5%JNykJ zsv(&F*tzdWuy*neSVG#E0#r~=mqNNu8FKOT2=t}4(50~|TgO1sNzm0|TNnnRD$cJx zSe$!%%xk}_ysdq;0DS72^0MmP_PIBFyVeKWP3_1()WDv_ z&XP=IH_3sT84Lv9+*=tst$Lp1K#mv$%yWmqu zyul7=Sa&Ny-i*_g_N50=6MhWO(J|74;I0-4$e=Ebw;)qn^HBtx97|2icKHZ)%coxYtlAD1S)Sej#Pf=-&2i#ng!gZ!sP*4$}LCG1@ zDCIIZ!pp{4T1&Z>@Tc`%LzSCko0#Gj90jFMk#Fn`*;|8yR%6;o-pqWKWWf)h5g|y3 zGe842kHERDhfL6W2@oTd22`_o0qXr#PIFe9C`K*;>8Nn5GXtsbW@L}}`=Kq?e4An-LMUWM_NDnG`R zr8UUdr(yK~U05FqCCV5YGC5^G%!j&Sm3I3qB=Rcpz6m}BrFCPtDS2K)?~Ov!(y0BR zOW#1gxcMFY131ud`ME_^Z4Quv-vM7%RCI_cgpV1nyADo3eZ}A%|v6;a|Bv3PM~0K#-i+nhOXJ zqb?Mv{BV0c23r&Z=}_p?;c*xSL4tBRZe%PMId_zpUYcgi%Ar(cCm%KYZpJR*PxT8wOer2h0sTX7F@1Y-^aSj5wp#y=+HB7j3(3j9#TR`jxG zd78+VTW}hWuJIIu9l8}t$y_+IQrLLh=17P0fr%HkmXJ$2JRWa}+6&TKLAO3ixr!5N zwSA6%Gn3y%%)%sPJxqQ!tgsxTr2#GKvoa^-)+~${`6NLBytb$xxPhA>ny0B>;)lM? zpNc0WaKK6@P?PJ-bcPp+-#|F;8J#cBHF-uM{egX4Q{6Z-SaY-mn>T(A0YcoYzLg_* z+A__~<6muPF}aP4_bLu#h=fQf^I0QgE5judjPHHt88OH9NQ`N}+U#B?eOOml{d9Xt zsRJ+dw5Ot3a=&D)H94!v)1MBRql0jg8g8o0thCBw(8i2VG0=bspbE7m=uwjYh86q) zq6BKVXzs|TzMscXkX=Nus>Kr^!vqqYUprrX6(IR)(}nZpR}s7>TW7?(VfH=mRqzPQ zbu3`Y3ow*B@DfcK7r{G1Imw?H7xu$QTGp`3kL*25Zd4wY~dbJ*aBa3{v#-@=&h;HCz+bO{Sh;e4Z-3A z5P)h6`5!DNF3+TdtBeW5&=6yn_8X#)_1wf+Og0g~$ROK#$ZuJrlg@vr*cHygF z@QuoExDW6}*9UBGrZ>}>8GNt%V{mL1bcaXYm=XiBeQ*J!?PAYyzlFi~7Lc=^sC_0^WZ-p5ow9ou>_n&c9O*rsiddQq{!>Bc+ zfX-#N&T1G6N3}&0l*L9T2lvTPSvi5L8n^)kzWn5y$Ft=IC=lhpeD?)t#kuNp=ZmLC z5iICfC|ZC?TtUm0HDW*edvT4V?fl)F8j%NEuo5$tY2zZc0HzlhKVl^ob-R#(KDM^f#M#ms0T zp{7!oqt;)X=nP+$cx%2TL#ctb(!*)_72TE!eY#(2vnj|MOh$mEwl-X+)iT;^Wr?$(-sZP-F0R!7W52x$_?_ z@GYwKagFXJNbk3H%K}mb77zobU8it}h6Zk4E|yPlqQN%L$siZr*C8EEXJVJ+_=VE0 z`f<5T{bBvk3c52KzGx@H)%;L<XyG-Nm?*{~A3lesB1wg+Fu8 z3_pFnmW*M&a%67rLH>l1K(?J3wk!MKdwHr)ow#M@@x@KB1&QkpcZ znOEQ!N*o}?BA;C!uPhZ(8VH9lZYj)=CcqHIWvL8JG)XWYi?EB}C&(bYd6?u6eU?P- z@JmEf-Ur>9PJ~d)09(K&Vhc%650L_3#cH^dwk_Zm(2K#_%X5(7rEALU(rcYx9M#AK zXuxMxYrg?wPg`<>5Cw0c(t?{NG| zF-@VJCq=@S6ttp}hGNn(Nt7Rw8$;lG?1amkfv;p>{6&SOHJzM5|DS-CwdJ!EWQ%*5 z9Y(F%iSjzgP2x52_foCcZ_V3b=mYt0p83&y1c^|gz`ihfaNrM;KiiRY#^cSMQ*r( z@5mLw7iutILBqOIe3i(KzE(Jostg*IG7CNV$nEmS=bO;1l|)wm*X-AazWDn92R^5J z&Qt6>@Dc_N&))jvsxI_fWbgo&F816C0CR+@1#M{{6$dxNh8m*BJhU)gIV438u7G4p zC0x3exZeqw zq^t-G4EEtm!w3uXU;%!?;}iBc%CvqnOdd7Rj&G_@|Eqk5^sCSZ_-wfuSjso7@g4Y0 z`40IW{Ri?rsw3~ckQ;_3oEO^zyO=jFx_~m&oGn-GMG)xOQG^f;$uzFP-YuMK z#1|_D{|I3Tef)WgSP#^I5WjF*zBvZo*P?1c{s_i+#R}K3vuNuCSo$(8Gm)uC0GHeB zc{FyrH~9a;kz%>3$YY7JAcDsp+qQD#_XtJ+7Ws8n_O zs2LJ3lic_{LBOm}#EYBZK4?h+1PxM<_^kQX>p)|b8Kz%wiUkKGTi_@($eqmptmeM_ z-~F;2u_(JACtm7?Zne0mdx@^-&2xl8U=AD+g^y1UJjYh}po^h=0n1Oc$ z4Qf}7u7j=)Cqswx!Ye2=P!2+Q*o6ju8os@z+(>eKl?dOCq=!k!^~d?)$}*^=4wPZjh2pU744p;Bx_yf=N5O5umpbL$Y!D$TEO=n?^ zOTt1;He}F4B{7WY9-@NO{$q93E?24jFrkk_;CNf%wnv$yUjq}eJ(wm(u~1hEj9N;; zmw|0*y81M5GjvaF=By@_t=wMZE;hrcAp#y{zB~0hAtc$*7*$uk$^kc_u50@J5aQ{c K{yvxPUi-g 0 && config.circle.layer > 0){ + fctx1.clearRect(0, 0, wWidth, wHeight); + for (var i=0, len = circles.length; i wWidth + radius){ + x = -radius; + } else if (x < -radius){ + x = wWidth + radius + } else { + x += sin*speed; + } + + if (y > wHeight + radius){ + y = -radius; + } else if (y < -radius){ + y = wHeight + radius; + } else { + y -= cos*speed; + } + + item.x = x; + item.y = y; + drawCircle(x, y, radius, item.color, item.alpha); + } + } + + if (config.line.amount > 0 && config.line.layer > 0){ + fctx2.clearRect(0, 0, wWidth, wHeight); + for (var j=0, len = lines.length; j wWidth + width * sin){ + x = -width * sin; + } else if (x < -width * sin){ + x = wWidth + width * sin; + } else { + x += sin*speed; + } + + if (y > wHeight + width * cos){ + y = -width * cos; + } else if (y < -width * cos){ + y = wHeight + width * cos; + } else { + y -= cos*speed; + } + + item.x = x; + item.y = y; + drawLine(x, y, width, item.color, item.alpha); + } + } + + timer = requestAnimationFrame(animate); + }; + + var createItem = function(){ + circles = []; + lines = []; + + if (config.circle.amount > 0 && config.circle.layer > 0){ + for (var i=0; i 0 && config.line.layer > 0){ + for (var m=0; m<\/script>"); \ No newline at end of file diff --git a/springboot-1903-fanjianghao/src/main/resources/static/js/jquery-1.8.0.js b/springboot-1903-fanjianghao/src/main/resources/static/js/jquery-1.8.0.js new file mode 100644 index 00000000..29cf1334 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/js/jquery-1.8.0.js @@ -0,0 +1,9229 @@ +/*! + * jQuery JavaScript Library v1.8.0 + * http://jquery.com/ + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * + * Copyright 2012 jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: Thu Aug 09 2012 16:24:48 GMT-0400 (Eastern Daylight Time) + * + * Downloads By http://www.veryhuo.com + */ +(function( window, undefined ) { +var + // A central reference to the root jQuery(document) + rootjQuery, + + // The deferred used on DOM ready + readyList, + + // Use the correct document accordingly with window argument (sandbox) + document = window.document, + location = window.location, + navigator = window.navigator, + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$, + + // Save a reference to some core methods + core_push = Array.prototype.push, + core_slice = Array.prototype.slice, + core_indexOf = Array.prototype.indexOf, + core_toString = Object.prototype.toString, + core_hasOwn = Object.prototype.hasOwnProperty, + core_trim = String.prototype.trim, + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + // The jQuery object is actually just the init constructor 'enhanced' + return new jQuery.fn.init( selector, context, rootjQuery ); + }, + + // Used for matching numbers + core_pnum = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source, + + // Used for detecting and trimming whitespace + core_rnotwhite = /\S/, + core_rspace = /\s+/, + + // IE doesn't match non-breaking spaces with \s + rtrim = core_rnotwhite.test("\xA0") ? (/^[\s\xA0]+|[\s\xA0]+$/g) : /^\s+|\s+$/g, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + rquickExpr = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, + + // Match a standalone tag + rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, + + // JSON RegExp + rvalidchars = /^[\],:{}\s]*$/, + rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, + rvalidescape = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g, + rvalidtokens = /"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([\da-z])/gi, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return ( letter + "" ).toUpperCase(); + }, + + // The ready event handler and self cleanup method + DOMContentLoaded = function() { + if ( document.addEventListener ) { + document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + jQuery.ready(); + } else if ( document.readyState === "complete" ) { + // we're here because readyState === "complete" in oldIE + // which is good enough for us to call the dom ready! + document.detachEvent( "onreadystatechange", DOMContentLoaded ); + jQuery.ready(); + } + }, + + // [[Class]] -> type pairs + class2type = {}; + +jQuery.fn = jQuery.prototype = { + constructor: jQuery, + init: function( selector, context, rootjQuery ) { + var match, elem, ret, doc; + + // Handle $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Handle $(DOMElement) + if ( selector.nodeType ) { + this.context = this[0] = selector; + this.length = 1; + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) { + context = context instanceof jQuery ? context[0] : context; + doc = ( context && context.nodeType ? context.ownerDocument || context : document ); + + // scripts is true for back-compat + selector = jQuery.parseHTML( match[1], doc, true ); + if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) { + this.attr.call( selector, context, true ); + } + + return jQuery.merge( this, selector ); + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[2] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id !== match[2] ) { + return rootjQuery.find( selector ); + } + + // Otherwise, we inject the element directly into the jQuery object + this.length = 1; + this[0] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || rootjQuery ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return rootjQuery.ready( selector ); + } + + if ( selector.selector !== undefined ) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }, + + // Start with an empty selector + selector: "", + + // The current version of jQuery being used + jquery: "1.8.0", + + // The default length of a jQuery object is 0 + length: 0, + + // The number of elements contained in the matched element set + size: function() { + return this.length; + }, + + toArray: function() { + return core_slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num == null ? + + // Return a 'clean' array + this.toArray() : + + // Return just the object + ( num < 0 ? this[ this.length + num ] : this[ num ] ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems, name, selector ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + ret.context = this.context; + + if ( name === "find" ) { + ret.selector = this.selector + ( this.selector ? " " : "" ) + selector; + } else if ( name ) { + ret.selector = this.selector + "." + name + "(" + selector + ")"; + } + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + // (You can seed the arguments with an array of args, but this is + // only used internally.) + each: function( callback, args ) { + return jQuery.each( this, callback, args ); + }, + + ready: function( fn ) { + // Add the callback + jQuery.ready.promise().done( fn ); + + return this; + }, + + eq: function( i ) { + i = +i; + return i === -1 ? + this.slice( i ) : + this.slice( i, i + 1 ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + slice: function() { + return this.pushStack( core_slice.apply( this, arguments ), + "slice", core_slice.call(arguments).join(",") ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map(this, function( elem, i ) { + return callback.call( elem, i, elem ); + })); + }, + + end: function() { + return this.prevObject || this.constructor(null); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: core_push, + sort: [].sort, + splice: [].splice +}; + +// Give the init function the jQuery prototype for later instantiation +jQuery.fn.init.prototype = jQuery.fn; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + target = arguments[1] || {}; + // skip the boolean and the target + i = 2; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction(target) ) { + target = {}; + } + + // extend jQuery itself if only one argument is passed + if ( length === i ) { + target = this; + --i; + } + + for ( ; i < length; i++ ) { + // Only deal with non-null/undefined values + if ( (options = arguments[ i ]) != null ) { + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray(src) ? src : []; + + } else { + clone = src && jQuery.isPlainObject(src) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend({ + noConflict: function( deep ) { + if ( window.$ === jQuery ) { + window.$ = _$; + } + + if ( deep && window.jQuery === jQuery ) { + window.jQuery = _jQuery; + } + + return jQuery; + }, + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( !document.body ) { + return setTimeout( jQuery.ready, 1 ); + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + + // Trigger any bound ready events + if ( jQuery.fn.trigger ) { + jQuery( document ).trigger("ready").off("ready"); + } + }, + + // See test/unit/core.js for details concerning isFunction. + // Since version 1.3, DOM methods and functions like alert + // aren't supported. They return false on IE (#2968). + isFunction: function( obj ) { + return jQuery.type(obj) === "function"; + }, + + isArray: Array.isArray || function( obj ) { + return jQuery.type(obj) === "array"; + }, + + isWindow: function( obj ) { + return obj != null && obj == obj.window; + }, + + isNumeric: function( obj ) { + return !isNaN( parseFloat(obj) ) && isFinite( obj ); + }, + + type: function( obj ) { + return obj == null ? + String( obj ) : + class2type[ core_toString.call(obj) ] || "object"; + }, + + isPlainObject: function( obj ) { + // Must be an Object. + // Because of IE, we also have to check the presence of the constructor property. + // Make sure that DOM nodes and window objects don't pass through, as well + if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { + return false; + } + + try { + // Not own constructor property must be Object + if ( obj.constructor && + !core_hasOwn.call(obj, "constructor") && + !core_hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { + return false; + } + } catch ( e ) { + // IE8,9 Will throw exceptions on certain host objects #9897 + return false; + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + + var key; + for ( key in obj ) {} + + return key === undefined || core_hasOwn.call( obj, key ); + }, + + isEmptyObject: function( obj ) { + var name; + for ( name in obj ) { + return false; + } + return true; + }, + + error: function( msg ) { + throw new Error( msg ); + }, + + // data: string of html + // context (optional): If specified, the fragment will be created in this context, defaults to document + // scripts (optional): If true, will include scripts passed in the html string + parseHTML: function( data, context, scripts ) { + var parsed; + if ( !data || typeof data !== "string" ) { + return null; + } + if ( typeof context === "boolean" ) { + scripts = context; + context = 0; + } + context = context || document; + + // Single tag + if ( (parsed = rsingleTag.exec( data )) ) { + return [ context.createElement( parsed[1] ) ]; + } + + parsed = jQuery.buildFragment( [ data ], context, scripts ? null : [] ); + return jQuery.merge( [], + (parsed.cacheable ? jQuery.clone( parsed.fragment ) : parsed.fragment).childNodes ); + }, + + parseJSON: function( data ) { + if ( !data || typeof data !== "string") { + return null; + } + + // Make sure leading/trailing whitespace is removed (IE can't handle it) + data = jQuery.trim( data ); + + // Attempt to parse using the native JSON parser first + if ( window.JSON && window.JSON.parse ) { + return window.JSON.parse( data ); + } + + // Make sure the incoming data is actual JSON + // Logic borrowed from http://json.org/json2.js + if ( rvalidchars.test( data.replace( rvalidescape, "@" ) + .replace( rvalidtokens, "]" ) + .replace( rvalidbraces, "")) ) { + + return ( new Function( "return " + data ) )(); + + } + jQuery.error( "Invalid JSON: " + data ); + }, + + // Cross-browser xml parsing + parseXML: function( data ) { + var xml, tmp; + if ( !data || typeof data !== "string" ) { + return null; + } + try { + if ( window.DOMParser ) { // Standard + tmp = new DOMParser(); + xml = tmp.parseFromString( data , "text/xml" ); + } else { // IE + xml = new ActiveXObject( "Microsoft.XMLDOM" ); + xml.async = "false"; + xml.loadXML( data ); + } + } catch( e ) { + xml = undefined; + } + if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; + }, + + noop: function() {}, + + // Evaluates a script in a global context + // Workarounds based on findings by Jim Driscoll + // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context + globalEval: function( data ) { + if ( data && core_rnotwhite.test( data ) ) { + // We use execScript on Internet Explorer + // We use an anonymous function so that context is window + // rather than jQuery in Firefox + ( window.execScript || function( data ) { + window[ "eval" ].call( window, data ); + } )( data ); + } + }, + + // Convert dashed to camelCase; used by the css and data modules + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase(); + }, + + // args is for internal usage only + each: function( obj, callback, args ) { + var name, + i = 0, + length = obj.length, + isObj = length === undefined || jQuery.isFunction( obj ); + + if ( args ) { + if ( isObj ) { + for ( name in obj ) { + if ( callback.apply( obj[ name ], args ) === false ) { + break; + } + } + } else { + for ( ; i < length; ) { + if ( callback.apply( obj[ i++ ], args ) === false ) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if ( isObj ) { + for ( name in obj ) { + if ( callback.call( obj[ name ], name, obj[ name ] ) === false ) { + break; + } + } + } else { + for ( ; i < length; ) { + if ( callback.call( obj[ i ], i, obj[ i++ ] ) === false ) { + break; + } + } + } + } + + return obj; + }, + + // Use native String.trim function wherever possible + trim: core_trim ? + function( text ) { + return text == null ? + "" : + core_trim.call( text ); + } : + + // Otherwise use our own trimming functionality + function( text ) { + return text == null ? + "" : + text.toString().replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var type, + ret = results || []; + + if ( arr != null ) { + // The window, strings (and functions) also have 'length' + // Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930 + type = jQuery.type( arr ); + + if ( arr.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( arr ) ) { + core_push.call( ret, arr ); + } else { + jQuery.merge( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + var len; + + if ( arr ) { + if ( core_indexOf ) { + return core_indexOf.call( arr, elem, i ); + } + + len = arr.length; + i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0; + + for ( ; i < len; i++ ) { + // Skip accessing in sparse arrays + if ( i in arr && arr[ i ] === elem ) { + return i; + } + } + } + + return -1; + }, + + merge: function( first, second ) { + var l = second.length, + i = first.length, + j = 0; + + if ( typeof l === "number" ) { + for ( ; j < l; j++ ) { + first[ i++ ] = second[ j ]; + } + + } else { + while ( second[j] !== undefined ) { + first[ i++ ] = second[ j++ ]; + } + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, inv ) { + var retVal, + ret = [], + i = 0, + length = elems.length; + inv = !!inv; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + retVal = !!callback( elems[ i ], i ); + if ( inv !== retVal ) { + ret.push( elems[ i ] ); + } + } + + return ret; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var value, key, + ret = [], + i = 0, + length = elems.length, + // jquery objects are treated as arrays + isArray = elems instanceof jQuery || length !== undefined && typeof length === "number" && ( ( length > 0 && elems[ 0 ] && elems[ length -1 ] ) || length === 0 || jQuery.isArray( elems ) ) ; + + // Go through the array, translating each of the items to their + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + + // Go through every key on the object, + } else { + for ( key in elems ) { + value = callback( elems[ key ], key, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + } + + // Flatten any nested arrays + return ret.concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = core_slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context, args.concat( core_slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++; + + return proxy; + }, + + // Multifunctional method to get and set values of a collection + // The value/s can optionally be executed if it's a function + access: function( elems, fn, key, value, chainable, emptyGet, pass ) { + var exec, + bulk = key == null, + i = 0, + length = elems.length; + + // Sets many values + if ( key && typeof key === "object" ) { + for ( i in key ) { + jQuery.access( elems, fn, i, key[i], 1, emptyGet, value ); + } + chainable = 1; + + // Sets one value + } else if ( value !== undefined ) { + // Optionally, function values get executed if exec is true + exec = pass === undefined && jQuery.isFunction( value ); + + if ( bulk ) { + // Bulk operations only iterate when executing function values + if ( exec ) { + exec = fn; + fn = function( elem, key, value ) { + return exec.call( jQuery( elem ), value ); + }; + + // Otherwise they run against the entire set + } else { + fn.call( elems, value ); + fn = null; + } + } + + if ( fn ) { + for (; i < length; i++ ) { + fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass ); + } + } + + chainable = 1; + } + + return chainable ? + elems : + + // Gets + bulk ? + fn.call( elems ) : + length ? fn( elems[0], key ) : emptyGet; + }, + + now: function() { + return ( new Date() ).getTime(); + } +}); + +jQuery.ready.promise = function( obj ) { + if ( !readyList ) { + + readyList = jQuery.Deferred(); + + // Catch cases where $(document).ready() is called after the + // browser event has already occurred. + if ( document.readyState === "complete" || ( document.readyState !== "loading" && document.addEventListener ) ) { + // Handle it asynchronously to allow scripts the opportunity to delay ready + setTimeout( jQuery.ready, 1 ); + + // Standards-based browsers support DOMContentLoaded + } else if ( document.addEventListener ) { + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", jQuery.ready, false ); + + // If IE event model is used + } else { + // Ensure firing before onload, maybe late but safe also for iframes + document.attachEvent( "onreadystatechange", DOMContentLoaded ); + + // A fallback to window.onload, that will always work + window.attachEvent( "onload", jQuery.ready ); + + // If IE and not a frame + // continually check to see if the document is ready + var top = false; + + try { + top = window.frameElement == null && document.documentElement; + } catch(e) {} + + if ( top && top.doScroll ) { + (function doScrollCheck() { + if ( !jQuery.isReady ) { + + try { + // Use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + top.doScroll("left"); + } catch(e) { + return setTimeout( doScrollCheck, 50 ); + } + + // and execute any waiting functions + jQuery.ready(); + } + })(); + } + } + } + return readyList.promise( obj ); +}; + +// Populate the class2type map +jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +}); + +// All jQuery objects should point back to these +rootjQuery = jQuery(document); +// String to Object options format cache +var optionsCache = {}; + +// Convert String-formatted options into Object-formatted ones and store in cache +function createOptions( options ) { + var object = optionsCache[ options ] = {}; + jQuery.each( options.split( core_rspace ), function( _, flag ) { + object[ flag ] = true; + }); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + ( optionsCache[ options ] || createOptions( options ) ) : + jQuery.extend( {}, options ); + + var // Last fire value (for non-forgettable lists) + memory, + // Flag to know if list was already fired + fired, + // Flag to know if list is currently firing + firing, + // First callback to fire (used internally by add and fireWith) + firingStart, + // End of the loop when firing + firingLength, + // Index of currently firing callback (modified by remove if needed) + firingIndex, + // Actual callback list + list = [], + // Stack of fire calls for repeatable lists + stack = !options.once && [], + // Fire callbacks + fire = function( data ) { + memory = options.memory && data; + fired = true; + firingIndex = firingStart || 0; + firingStart = 0; + firingLength = list.length; + firing = true; + for ( ; list && firingIndex < firingLength; firingIndex++ ) { + if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) { + memory = false; // To prevent further calls using add + break; + } + } + firing = false; + if ( list ) { + if ( stack ) { + if ( stack.length ) { + fire( stack.shift() ); + } + } else if ( memory ) { + list = []; + } else { + self.disable(); + } + } + }, + // Actual Callbacks object + self = { + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + // First, we save the current length + var start = list.length; + (function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( jQuery.isFunction( arg ) && ( !options.unique || !self.has( arg ) ) ) { + list.push( arg ); + } else if ( arg && arg.length ) { + // Inspect recursively + add( arg ); + } + }); + })( arguments ); + // Do we need to add the callbacks to the + // current firing batch? + if ( firing ) { + firingLength = list.length; + // With memory, if we're not firing then + // we should call right away + } else if ( memory ) { + firingStart = start; + fire( memory ); + } + } + return this; + }, + // Remove a callback from the list + remove: function() { + if ( list ) { + jQuery.each( arguments, function( _, arg ) { + var index; + while( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + // Handle firing indexes + if ( firing ) { + if ( index <= firingLength ) { + firingLength--; + } + if ( index <= firingIndex ) { + firingIndex--; + } + } + } + }); + } + return this; + }, + // Control if a given callback is in the list + has: function( fn ) { + return jQuery.inArray( fn, list ) > -1; + }, + // Remove all callbacks from the list + empty: function() { + list = []; + return this; + }, + // Have the list do nothing anymore + disable: function() { + list = stack = memory = undefined; + return this; + }, + // Is it disabled? + disabled: function() { + return !list; + }, + // Lock the list in its current state + lock: function() { + stack = undefined; + if ( !memory ) { + self.disable(); + } + return this; + }, + // Is it locked? + locked: function() { + return !stack; + }, + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + if ( list && ( !fired || stack ) ) { + if ( firing ) { + stack.push( args ); + } else { + fire( args ); + } + } + return this; + }, + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; +jQuery.extend({ + + Deferred: function( func ) { + var tuples = [ + // action, add listener, listener list, final state + [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], + [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ], + [ "notify", "progress", jQuery.Callbacks("memory") ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + then: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + return jQuery.Deferred(function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + var action = tuple[ 0 ], + fn = fns[ i ]; + // deferred[ done | fail | progress ] for forwarding actions to newDefer + deferred[ tuple[1] ]( jQuery.isFunction( fn ) ? + function() { + var returned = fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .done( newDefer.resolve ) + .fail( newDefer.reject ) + .progress( newDefer.notify ); + } else { + newDefer[ action + "With" ]( this === deferred ? newDefer : this, [ returned ] ); + } + } : + newDefer[ action ] + ); + }); + fns = null; + }).promise(); + }, + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return typeof obj === "object" ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Keep pipe for back-compat + promise.pipe = promise.then; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 3 ]; + + // promise[ done | fail | progress ] = list.add + promise[ tuple[1] ] = list.add; + + // Handle state + if ( stateString ) { + list.add(function() { + // state = [ resolved | rejected ] + state = stateString; + + // [ reject_list | resolve_list ].disable; progress_list.lock + }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); + } + + // deferred[ resolve | reject | notify ] = list.fire + deferred[ tuple[0] ] = list.fire; + deferred[ tuple[0] + "With" ] = list.fireWith; + }); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( subordinate /* , ..., subordinateN */ ) { + var i = 0, + resolveValues = core_slice.call( arguments ), + length = resolveValues.length, + + // the count of uncompleted subordinates + remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, + + // the master Deferred. If resolveValues consist of only a single Deferred, just use that. + deferred = remaining === 1 ? subordinate : jQuery.Deferred(), + + // Update function for both resolve and progress values + updateFunc = function( i, contexts, values ) { + return function( value ) { + contexts[ i ] = this; + values[ i ] = arguments.length > 1 ? core_slice.call( arguments ) : value; + if( values === progressValues ) { + deferred.notifyWith( contexts, values ); + } else if ( !( --remaining ) ) { + deferred.resolveWith( contexts, values ); + } + }; + }, + + progressValues, progressContexts, resolveContexts; + + // add listeners to Deferred subordinates; treat others as resolved + if ( length > 1 ) { + progressValues = new Array( length ); + progressContexts = new Array( length ); + resolveContexts = new Array( length ); + for ( ; i < length; i++ ) { + if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { + resolveValues[ i ].promise() + .done( updateFunc( i, resolveContexts, resolveValues ) ) + .fail( deferred.reject ) + .progress( updateFunc( i, progressContexts, progressValues ) ); + } else { + --remaining; + } + } + } + + // if we're not waiting on anything, resolve the master + if ( !remaining ) { + deferred.resolveWith( resolveContexts, resolveValues ); + } + + return deferred.promise(); + } +}); +jQuery.support = (function() { + + var support, + all, + a, + select, + opt, + input, + fragment, + eventName, + i, + isSupported, + clickFn, + div = document.createElement("div"); + + // Preliminary tests + div.setAttribute( "className", "t" ); + div.innerHTML = "
a"; + + all = div.getElementsByTagName("*"); + a = div.getElementsByTagName("a")[ 0 ]; + a.style.cssText = "top:1px;float:left;opacity:.5"; + + // Can't get basic test support + if ( !all || !all.length || !a ) { + return {}; + } + + // First batch of supports tests + select = document.createElement("select"); + opt = select.appendChild( document.createElement("option") ); + input = div.getElementsByTagName("input")[ 0 ]; + + support = { + // IE strips leading whitespace when .innerHTML is used + leadingWhitespace: ( div.firstChild.nodeType === 3 ), + + // Make sure that tbody elements aren't automatically inserted + // IE will insert them into empty tables + tbody: !div.getElementsByTagName("tbody").length, + + // Make sure that link elements get serialized correctly by innerHTML + // This requires a wrapper element in IE + htmlSerialize: !!div.getElementsByTagName("link").length, + + // Get the style information from getAttribute + // (IE uses .cssText instead) + style: /top/.test( a.getAttribute("style") ), + + // Make sure that URLs aren't manipulated + // (IE normalizes it by default) + hrefNormalized: ( a.getAttribute("href") === "/a" ), + + // Make sure that element opacity exists + // (IE uses filter instead) + // Use a regex to work around a WebKit issue. See #5145 + opacity: /^0.5/.test( a.style.opacity ), + + // Verify style float existence + // (IE uses styleFloat instead of cssFloat) + cssFloat: !!a.style.cssFloat, + + // Make sure that if no value is specified for a checkbox + // that it defaults to "on". + // (WebKit defaults to "" instead) + checkOn: ( input.value === "on" ), + + // Make sure that a selected-by-default option has a working selected property. + // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) + optSelected: opt.selected, + + // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7) + getSetAttribute: div.className !== "t", + + // Tests for enctype support on a form(#6743) + enctype: !!document.createElement("form").enctype, + + // Makes sure cloning an html5 element does not cause problems + // Where outerHTML is undefined, this still works + html5Clone: document.createElement("nav").cloneNode( true ).outerHTML !== "<:nav>", + + // jQuery.support.boxModel DEPRECATED in 1.8 since we don't support Quirks Mode + boxModel: ( document.compatMode === "CSS1Compat" ), + + // Will be defined later + submitBubbles: true, + changeBubbles: true, + focusinBubbles: false, + deleteExpando: true, + noCloneEvent: true, + inlineBlockNeedsLayout: false, + shrinkWrapBlocks: false, + reliableMarginRight: true, + boxSizingReliable: true, + pixelPosition: false + }; + + // Make sure checked status is properly cloned + input.checked = true; + support.noCloneChecked = input.cloneNode( true ).checked; + + // Make sure that the options inside disabled selects aren't marked as disabled + // (WebKit marks them as disabled) + select.disabled = true; + support.optDisabled = !opt.disabled; + + // Test to see if it's possible to delete an expando from an element + // Fails in Internet Explorer + try { + delete div.test; + } catch( e ) { + support.deleteExpando = false; + } + + if ( !div.addEventListener && div.attachEvent && div.fireEvent ) { + div.attachEvent( "onclick", clickFn = function() { + // Cloning a node shouldn't copy over any + // bound event handlers (IE does this) + support.noCloneEvent = false; + }); + div.cloneNode( true ).fireEvent("onclick"); + div.detachEvent( "onclick", clickFn ); + } + + // Check if a radio maintains its value + // after being appended to the DOM + input = document.createElement("input"); + input.value = "t"; + input.setAttribute( "type", "radio" ); + support.radioValue = input.value === "t"; + + input.setAttribute( "checked", "checked" ); + + // #11217 - WebKit loses check when the name is after the checked attribute + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + fragment = document.createDocumentFragment(); + fragment.appendChild( div.lastChild ); + + // WebKit doesn't clone checked state correctly in fragments + support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Check if a disconnected checkbox will retain its checked + // value of true after appended to the DOM (IE6/7) + support.appendChecked = input.checked; + + fragment.removeChild( input ); + fragment.appendChild( div ); + + // Technique from Juriy Zaytsev + // http://perfectionkills.com/detecting-event-support-without-browser-sniffing/ + // We only care about the case where non-standard event systems + // are used, namely in IE. Short-circuiting here helps us to + // avoid an eval call (in setAttribute) which can cause CSP + // to go haywire. See: https://developer.mozilla.org/en/Security/CSP + if ( div.attachEvent ) { + for ( i in { + submit: true, + change: true, + focusin: true + }) { + eventName = "on" + i; + isSupported = ( eventName in div ); + if ( !isSupported ) { + div.setAttribute( eventName, "return;" ); + isSupported = ( typeof div[ eventName ] === "function" ); + } + support[ i + "Bubbles" ] = isSupported; + } + } + + // Run tests that need a body at doc ready + jQuery(function() { + var container, div, tds, marginDiv, + divReset = "padding:0;margin:0;border:0;display:block;overflow:hidden;", + body = document.getElementsByTagName("body")[0]; + + if ( !body ) { + // Return for frameset docs that don't have a body + return; + } + + container = document.createElement("div"); + container.style.cssText = "visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px"; + body.insertBefore( container, body.firstChild ); + + // Construct the test element + div = document.createElement("div"); + container.appendChild( div ); + + // Check if table cells still have offsetWidth/Height when they are set + // to display:none and there are still other visible table cells in a + // table row; if so, offsetWidth/Height are not reliable for use when + // determining if an element has been hidden directly using + // display:none (it is still safe to use offsets if a parent element is + // hidden; don safety goggles and see bug #4512 for more information). + // (only IE 8 fails this test) + div.innerHTML = "
t
"; + tds = div.getElementsByTagName("td"); + tds[ 0 ].style.cssText = "padding:0;margin:0;border:0;display:none"; + isSupported = ( tds[ 0 ].offsetHeight === 0 ); + + tds[ 0 ].style.display = ""; + tds[ 1 ].style.display = "none"; + + // Check if empty table cells still have offsetWidth/Height + // (IE <= 8 fail this test) + support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 ); + + // Check box-sizing and margin behavior + div.innerHTML = ""; + div.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;"; + support.boxSizing = ( div.offsetWidth === 4 ); + support.doesNotIncludeMarginInBodyOffset = ( body.offsetTop !== 1 ); + + // NOTE: To any future maintainer, window.getComputedStyle was used here + // instead of getComputedStyle because it gave a better gzip size. + // The difference between window.getComputedStyle and getComputedStyle is + // 7 bytes + if ( window.getComputedStyle ) { + support.pixelPosition = ( window.getComputedStyle( div, null ) || {} ).top !== "1%"; + support.boxSizingReliable = ( window.getComputedStyle( div, null ) || { width: "4px" } ).width === "4px"; + + // Check if div with explicit width and no margin-right incorrectly + // gets computed margin-right based on width of container. For more + // info see bug #3333 + // Fails in WebKit before Feb 2011 nightlies + // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right + marginDiv = document.createElement("div"); + marginDiv.style.cssText = div.style.cssText = divReset; + marginDiv.style.marginRight = marginDiv.style.width = "0"; + div.style.width = "1px"; + div.appendChild( marginDiv ); + support.reliableMarginRight = + !parseFloat( ( window.getComputedStyle( marginDiv, null ) || {} ).marginRight ); + } + + if ( typeof div.style.zoom !== "undefined" ) { + // Check if natively block-level elements act like inline-block + // elements when setting their display to 'inline' and giving + // them layout + // (IE < 8 does this) + div.innerHTML = ""; + div.style.cssText = divReset + "width:1px;padding:1px;display:inline;zoom:1"; + support.inlineBlockNeedsLayout = ( div.offsetWidth === 3 ); + + // Check if elements with layout shrink-wrap their children + // (IE 6 does this) + div.style.display = "block"; + div.style.overflow = "visible"; + div.innerHTML = "

"; + div.firstChild.style.width = "5px"; + support.shrinkWrapBlocks = ( div.offsetWidth !== 3 ); + + container.style.zoom = 1; + } + + // Null elements to avoid leaks in IE + body.removeChild( container ); + container = div = tds = marginDiv = null; + }); + + // Null elements to avoid leaks in IE + fragment.removeChild( div ); + all = a = select = opt = input = fragment = div = null; + + return support; +})(); +var rbrace = /^(?:\{.*\}|\[.*\])$/, + rmultiDash = /([A-Z])/g; + +jQuery.extend({ + cache: {}, + + deletedIds: [], + + // Please use with caution + uuid: 0, + + // Unique for each copy of jQuery on the page + // Non-digits removed to match rinlinejQuery + expando: "jQuery" + ( jQuery.fn.jquery + Math.random() ).replace( /\D/g, "" ), + + // The following elements throw uncatchable exceptions if you + // attempt to add expando properties to them. + noData: { + "embed": true, + // Ban all objects except for Flash (which handle expandos) + "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", + "applet": true + }, + + hasData: function( elem ) { + elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; + return !!elem && !isEmptyDataObject( elem ); + }, + + data: function( elem, name, data, pvt /* Internal Use Only */ ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var thisCache, ret, + internalKey = jQuery.expando, + getByName = typeof name === "string", + + // We have to handle DOM nodes and JS objects differently because IE6-7 + // can't GC object references properly across the DOM-JS boundary + isNode = elem.nodeType, + + // Only DOM nodes need the global jQuery cache; JS object data is + // attached directly to the object so GC can occur automatically + cache = isNode ? jQuery.cache : elem, + + // Only defining an ID for JS objects if its cache already exists allows + // the code to shortcut on the same path as a DOM node with no cache + id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey; + + // Avoid doing any more work than we need to when trying to get data on an + // object that has no data at all + if ( (!id || !cache[id] || (!pvt && !cache[id].data)) && getByName && data === undefined ) { + return; + } + + if ( !id ) { + // Only DOM nodes need a new unique ID for each element since their data + // ends up in the global cache + if ( isNode ) { + elem[ internalKey ] = id = jQuery.deletedIds.pop() || ++jQuery.uuid; + } else { + id = internalKey; + } + } + + if ( !cache[ id ] ) { + cache[ id ] = {}; + + // Avoids exposing jQuery metadata on plain JS objects when the object + // is serialized using JSON.stringify + if ( !isNode ) { + cache[ id ].toJSON = jQuery.noop; + } + } + + // An object can be passed to jQuery.data instead of a key/value pair; this gets + // shallow copied over onto the existing cache + if ( typeof name === "object" || typeof name === "function" ) { + if ( pvt ) { + cache[ id ] = jQuery.extend( cache[ id ], name ); + } else { + cache[ id ].data = jQuery.extend( cache[ id ].data, name ); + } + } + + thisCache = cache[ id ]; + + // jQuery data() is stored in a separate object inside the object's internal data + // cache in order to avoid key collisions between internal data and user-defined + // data. + if ( !pvt ) { + if ( !thisCache.data ) { + thisCache.data = {}; + } + + thisCache = thisCache.data; + } + + if ( data !== undefined ) { + thisCache[ jQuery.camelCase( name ) ] = data; + } + + // Check for both converted-to-camel and non-converted data property names + // If a data property was specified + if ( getByName ) { + + // First Try to find as-is property data + ret = thisCache[ name ]; + + // Test for null|undefined property data + if ( ret == null ) { + + // Try to find the camelCased property + ret = thisCache[ jQuery.camelCase( name ) ]; + } + } else { + ret = thisCache; + } + + return ret; + }, + + removeData: function( elem, name, pvt /* Internal Use Only */ ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var thisCache, i, l, + + isNode = elem.nodeType, + + // See jQuery.data for more information + cache = isNode ? jQuery.cache : elem, + id = isNode ? elem[ jQuery.expando ] : jQuery.expando; + + // If there is already no cache entry for this object, there is no + // purpose in continuing + if ( !cache[ id ] ) { + return; + } + + if ( name ) { + + thisCache = pvt ? cache[ id ] : cache[ id ].data; + + if ( thisCache ) { + + // Support array or space separated string names for data keys + if ( !jQuery.isArray( name ) ) { + + // try the string as a key before any manipulation + if ( name in thisCache ) { + name = [ name ]; + } else { + + // split the camel cased version by spaces unless a key with the spaces exists + name = jQuery.camelCase( name ); + if ( name in thisCache ) { + name = [ name ]; + } else { + name = name.split(" "); + } + } + } + + for ( i = 0, l = name.length; i < l; i++ ) { + delete thisCache[ name[i] ]; + } + + // If there is no data left in the cache, we want to continue + // and let the cache object itself get destroyed + if ( !( pvt ? isEmptyDataObject : jQuery.isEmptyObject )( thisCache ) ) { + return; + } + } + } + + // See jQuery.data for more information + if ( !pvt ) { + delete cache[ id ].data; + + // Don't destroy the parent cache unless the internal data object + // had been the only thing left in it + if ( !isEmptyDataObject( cache[ id ] ) ) { + return; + } + } + + // Destroy the cache + if ( isNode ) { + jQuery.cleanData( [ elem ], true ); + + // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080) + } else if ( jQuery.support.deleteExpando || cache != cache.window ) { + delete cache[ id ]; + + // When all else fails, null + } else { + cache[ id ] = null; + } + }, + + // For internal use only. + _data: function( elem, name, data ) { + return jQuery.data( elem, name, data, true ); + }, + + // A method for determining if a DOM node can handle the data expando + acceptData: function( elem ) { + var noData = elem.nodeName && jQuery.noData[ elem.nodeName.toLowerCase() ]; + + // nodes accept data unless otherwise specified; rejection can be conditional + return !noData || noData !== true && elem.getAttribute("classid") === noData; + } +}); + +jQuery.fn.extend({ + data: function( key, value ) { + var parts, part, attr, name, l, + elem = this[0], + i = 0, + data = null; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = jQuery.data( elem ); + + if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) { + attr = elem.attributes; + for ( l = attr.length; i < l; i++ ) { + name = attr[i].name; + + if ( name.indexOf( "data-" ) === 0 ) { + name = jQuery.camelCase( name.substring(5) ); + + dataAttr( elem, name, data[ name ] ); + } + } + jQuery._data( elem, "parsedAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each(function() { + jQuery.data( this, key ); + }); + } + + parts = key.split( ".", 2 ); + parts[1] = parts[1] ? "." + parts[1] : ""; + part = parts[1] + "!"; + + return jQuery.access( this, function( value ) { + + if ( value === undefined ) { + data = this.triggerHandler( "getData" + part, [ parts[0] ] ); + + // Try to fetch any internally stored data first + if ( data === undefined && elem ) { + data = jQuery.data( elem, key ); + data = dataAttr( elem, key, data ); + } + + return data === undefined && parts[1] ? + this.data( parts[0] ) : + data; + } + + parts[1] = value; + this.each(function() { + var self = jQuery( this ); + + self.triggerHandler( "setData" + part, parts ); + jQuery.data( this, key, value ); + self.triggerHandler( "changeData" + part, parts ); + }); + }, null, value, arguments.length > 1, null, false ); + }, + + removeData: function( key ) { + return this.each(function() { + jQuery.removeData( this, key ); + }); + } +}); + +function dataAttr( elem, key, data ) { + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + + var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); + + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + // Only convert to a number if it doesn't change the string + +data + "" === data ? +data : + rbrace.test( data ) ? jQuery.parseJSON( data ) : + data; + } catch( e ) {} + + // Make sure we set the data so it isn't changed later + jQuery.data( elem, key, data ); + + } else { + data = undefined; + } + } + + return data; +} + +// checks a cache object for emptiness +function isEmptyDataObject( obj ) { + var name; + for ( name in obj ) { + + // if the public data object is empty, the private is still empty + if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) { + continue; + } + if ( name !== "toJSON" ) { + return false; + } + } + + return true; +} +jQuery.extend({ + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = jQuery._data( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || jQuery.isArray(data) ) { + queue = jQuery._data( elem, type, jQuery.makeArray(data) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + if ( !queue.length && hooks ) { + hooks.empty.fire(); + } + }, + + // not intended for public consumption - generates a queueHooks object, or returns the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return jQuery._data( elem, key ) || jQuery._data( elem, key, { + empty: jQuery.Callbacks("once memory").add(function() { + jQuery.removeData( elem, type + "queue", true ); + jQuery.removeData( elem, key, true ); + }) + }); + } +}); + +jQuery.fn.extend({ + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[0], type ); + } + + return data === undefined ? + this : + this.each(function() { + var queue = jQuery.queue( this, type, data ); + + // ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[0] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + }); + }, + dequeue: function( type ) { + return this.each(function() { + jQuery.dequeue( this, type ); + }); + }, + // Based off of the plugin by Clint Helfers, with permission. + // http://blindsignals.com/index.php/2009/07/jquery-delay/ + delay: function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = setTimeout( next, time ); + hooks.stop = function() { + clearTimeout( timeout ); + }; + }); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while( i-- ) { + if ( (tmp = jQuery._data( elements[ i ], type + "queueHooks" )) && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +}); +var nodeHook, boolHook, fixSpecified, + rclass = /[\t\r\n]/g, + rreturn = /\r/g, + rtype = /^(?:button|input)$/i, + rfocusable = /^(?:button|input|object|select|textarea)$/i, + rclickable = /^a(?:rea|)$/i, + rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, + getSetAttribute = jQuery.support.getSetAttribute; + +jQuery.fn.extend({ + attr: function( name, value ) { + return jQuery.access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each(function() { + jQuery.removeAttr( this, name ); + }); + }, + + prop: function( name, value ) { + return jQuery.access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + name = jQuery.propFix[ name ] || name; + return this.each(function() { + // try/catch handles cases where IE balks (such as removing a property on window) + try { + this[ name ] = undefined; + delete this[ name ]; + } catch( e ) {} + }); + }, + + addClass: function( value ) { + var classNames, i, l, elem, + setClass, c, cl; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).addClass( value.call(this, j, this.className) ); + }); + } + + if ( value && typeof value === "string" ) { + classNames = value.split( core_rspace ); + + for ( i = 0, l = this.length; i < l; i++ ) { + elem = this[ i ]; + + if ( elem.nodeType === 1 ) { + if ( !elem.className && classNames.length === 1 ) { + elem.className = value; + + } else { + setClass = " " + elem.className + " "; + + for ( c = 0, cl = classNames.length; c < cl; c++ ) { + if ( !~setClass.indexOf( " " + classNames[ c ] + " " ) ) { + setClass += classNames[ c ] + " "; + } + } + elem.className = jQuery.trim( setClass ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var removes, className, elem, c, cl, i, l; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).removeClass( value.call(this, j, this.className) ); + }); + } + if ( (value && typeof value === "string") || value === undefined ) { + removes = ( value || "" ).split( core_rspace ); + + for ( i = 0, l = this.length; i < l; i++ ) { + elem = this[ i ]; + if ( elem.nodeType === 1 && elem.className ) { + + className = (" " + elem.className + " ").replace( rclass, " " ); + + // loop over each item in the removal list + for ( c = 0, cl = removes.length; c < cl; c++ ) { + // Remove until there is nothing to remove, + while ( className.indexOf(" " + removes[ c ] + " ") > -1 ) { + className = className.replace( " " + removes[ c ] + " " , " " ); + } + } + elem.className = value ? jQuery.trim( className ) : ""; + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isBool = typeof stateVal === "boolean"; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( i ) { + jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal ); + }); + } + + return this.each(function() { + if ( type === "string" ) { + // toggle individual class names + var className, + i = 0, + self = jQuery( this ), + state = stateVal, + classNames = value.split( core_rspace ); + + while ( (className = classNames[ i++ ]) ) { + // check each className given, space separated list + state = isBool ? state : !self.hasClass( className ); + self[ state ? "addClass" : "removeClass" ]( className ); + } + + } else if ( type === "undefined" || type === "boolean" ) { + if ( this.className ) { + // store className if set + jQuery._data( this, "__className__", this.className ); + } + + // toggle whole className + this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; + } + }); + }, + + hasClass: function( selector ) { + var className = " " + selector + " ", + i = 0, + l = this.length; + for ( ; i < l; i++ ) { + if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) { + return true; + } + } + + return false; + }, + + val: function( value ) { + var hooks, ret, isFunction, + elem = this[0]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) { + return ret; + } + + ret = elem.value; + + return typeof ret === "string" ? + // handle most common string cases + ret.replace(rreturn, "") : + // handle cases where value is null/undef or number + ret == null ? "" : ret; + } + + return; + } + + isFunction = jQuery.isFunction( value ); + + return this.each(function( i ) { + var val, + self = jQuery(this); + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, self.val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + } else if ( typeof val === "number" ) { + val += ""; + } else if ( jQuery.isArray( val ) ) { + val = jQuery.map(val, function ( value ) { + return value == null ? "" : value + ""; + }); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + }); + } +}); + +jQuery.extend({ + valHooks: { + option: { + get: function( elem ) { + // attributes.value is undefined in Blackberry 4.7 but + // uses .value. See #6932 + var val = elem.attributes.value; + return !val || val.specified ? elem.value : elem.text; + } + }, + select: { + get: function( elem ) { + var value, i, max, option, + index = elem.selectedIndex, + values = [], + options = elem.options, + one = elem.type === "select-one"; + + // Nothing was selected + if ( index < 0 ) { + return null; + } + + // Loop through all the selected options + i = one ? index : 0; + max = one ? index + 1 : options.length; + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Don't return options that are disabled or in a disabled optgroup + if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) && + (!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + // Fixes Bug #2551 -- select.val() broken in IE after form.reset() + if ( one && !values.length && options.length ) { + return jQuery( options[ index ] ).val(); + } + + return values; + }, + + set: function( elem, value ) { + var values = jQuery.makeArray( value ); + + jQuery(elem).find("option").each(function() { + this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; + }); + + if ( !values.length ) { + elem.selectedIndex = -1; + } + return values; + } + } + }, + + // Unused in 1.8, left in so attrFn-stabbers won't die; remove in 1.9 + attrFn: {}, + + attr: function( elem, name, value, pass ) { + var ret, hooks, notxml, + nType = elem.nodeType; + + // don't get/set attributes on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( pass && jQuery.isFunction( jQuery.fn[ name ] ) ) { + return jQuery( elem )[ name ]( value ); + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + // All attributes are lowercase + // Grab necessary hook if one is defined + if ( notxml ) { + name = name.toLowerCase(); + hooks = jQuery.attrHooks[ name ] || ( rboolean.test( name ) ? boolHook : nodeHook ); + } + + if ( value !== undefined ) { + + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + + } else if ( hooks && "set" in hooks && notxml && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + elem.setAttribute( name, "" + value ); + return value; + } + + } else if ( hooks && "get" in hooks && notxml && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + + ret = elem.getAttribute( name ); + + // Non-existent attributes return null, we normalize to undefined + return ret === null ? + undefined : + ret; + } + }, + + removeAttr: function( elem, value ) { + var propName, attrNames, name, isBool, + i = 0; + + if ( value && elem.nodeType === 1 ) { + + attrNames = value.split( core_rspace ); + + for ( ; i < attrNames.length; i++ ) { + name = attrNames[ i ]; + + if ( name ) { + propName = jQuery.propFix[ name ] || name; + isBool = rboolean.test( name ); + + // See #9699 for explanation of this approach (setting first, then removal) + // Do not do this for boolean attributes (see #10870) + if ( !isBool ) { + jQuery.attr( elem, name, "" ); + } + elem.removeAttribute( getSetAttribute ? name : propName ); + + // Set corresponding property to false for boolean attributes + if ( isBool && propName in elem ) { + elem[ propName ] = false; + } + } + } + } + }, + + attrHooks: { + type: { + set: function( elem, value ) { + // We can't allow the type property to be changed (since it causes problems in IE) + if ( rtype.test( elem.nodeName ) && elem.parentNode ) { + jQuery.error( "type property can't be changed" ); + } else if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) { + // Setting the type on a radio button after the value resets the value in IE6-9 + // Reset value to it's default in case type is set after value + // This is for element creation + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + }, + // Use the value property for back compat + // Use the nodeHook for button elements in IE6/7 (#1954) + value: { + get: function( elem, name ) { + if ( nodeHook && jQuery.nodeName( elem, "button" ) ) { + return nodeHook.get( elem, name ); + } + return name in elem ? + elem.value : + null; + }, + set: function( elem, value, name ) { + if ( nodeHook && jQuery.nodeName( elem, "button" ) ) { + return nodeHook.set( elem, value, name ); + } + // Does not return so that setAttribute is also used + elem.value = value; + } + } + }, + + propFix: { + tabindex: "tabIndex", + readonly: "readOnly", + "for": "htmlFor", + "class": "className", + maxlength: "maxLength", + cellspacing: "cellSpacing", + cellpadding: "cellPadding", + rowspan: "rowSpan", + colspan: "colSpan", + usemap: "useMap", + frameborder: "frameBorder", + contenteditable: "contentEditable" + }, + + prop: function( elem, name, value ) { + var ret, hooks, notxml, + nType = elem.nodeType; + + // don't get/set properties on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + if ( notxml ) { + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + return ( elem[ name ] = value ); + } + + } else { + if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + return elem[ name ]; + } + } + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set + // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + var attributeNode = elem.getAttributeNode("tabindex"); + + return attributeNode && attributeNode.specified ? + parseInt( attributeNode.value, 10 ) : + rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? + 0 : + undefined; + } + } + } +}); + +// Hook for boolean attributes +boolHook = { + get: function( elem, name ) { + // Align boolean attributes with corresponding properties + // Fall back to attribute presence where some booleans are not supported + var attrNode, + property = jQuery.prop( elem, name ); + return property === true || typeof property !== "boolean" && ( attrNode = elem.getAttributeNode(name) ) && attrNode.nodeValue !== false ? + name.toLowerCase() : + undefined; + }, + set: function( elem, value, name ) { + var propName; + if ( value === false ) { + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + // value is true since we know at this point it's type boolean and not false + // Set boolean attributes to the same name and set the DOM property + propName = jQuery.propFix[ name ] || name; + if ( propName in elem ) { + // Only set the IDL specifically if it already exists on the element + elem[ propName ] = true; + } + + elem.setAttribute( name, name.toLowerCase() ); + } + return name; + } +}; + +// IE6/7 do not support getting/setting some attributes with get/setAttribute +if ( !getSetAttribute ) { + + fixSpecified = { + name: true, + id: true, + coords: true + }; + + // Use this for any attribute in IE6/7 + // This fixes almost every IE6/7 issue + nodeHook = jQuery.valHooks.button = { + get: function( elem, name ) { + var ret; + ret = elem.getAttributeNode( name ); + return ret && ( fixSpecified[ name ] ? ret.value !== "" : ret.specified ) ? + ret.value : + undefined; + }, + set: function( elem, value, name ) { + // Set the existing or create a new attribute node + var ret = elem.getAttributeNode( name ); + if ( !ret ) { + ret = document.createAttribute( name ); + elem.setAttributeNode( ret ); + } + return ( ret.value = value + "" ); + } + }; + + // Set width and height to auto instead of 0 on empty string( Bug #8150 ) + // This is for removals + jQuery.each([ "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { + set: function( elem, value ) { + if ( value === "" ) { + elem.setAttribute( name, "auto" ); + return value; + } + } + }); + }); + + // Set contenteditable to false on removals(#10429) + // Setting to empty string throws an error as an invalid value + jQuery.attrHooks.contenteditable = { + get: nodeHook.get, + set: function( elem, value, name ) { + if ( value === "" ) { + value = "false"; + } + nodeHook.set( elem, value, name ); + } + }; +} + + +// Some attributes require a special call on IE +if ( !jQuery.support.hrefNormalized ) { + jQuery.each([ "href", "src", "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { + get: function( elem ) { + var ret = elem.getAttribute( name, 2 ); + return ret === null ? undefined : ret; + } + }); + }); +} + +if ( !jQuery.support.style ) { + jQuery.attrHooks.style = { + get: function( elem ) { + // Return undefined in the case of empty string + // Normalize to lowercase since IE uppercases css property names + return elem.style.cssText.toLowerCase() || undefined; + }, + set: function( elem, value ) { + return ( elem.style.cssText = "" + value ); + } + }; +} + +// Safari mis-reports the default selected property of an option +// Accessing the parent's selectedIndex property fixes it +if ( !jQuery.support.optSelected ) { + jQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, { + get: function( elem ) { + var parent = elem.parentNode; + + if ( parent ) { + parent.selectedIndex; + + // Make sure that it also works with optgroups, see #5701 + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + return null; + } + }); +} + +// IE6/7 call enctype encoding +if ( !jQuery.support.enctype ) { + jQuery.propFix.enctype = "encoding"; +} + +// Radios and checkboxes getter/setter +if ( !jQuery.support.checkOn ) { + jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + get: function( elem ) { + // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified + return elem.getAttribute("value") === null ? "on" : elem.value; + } + }; + }); +} +jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], { + set: function( elem, value ) { + if ( jQuery.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 ); + } + } + }); +}); +var rformElems = /^(?:textarea|input|select)$/i, + rtypenamespace = /^([^\.]*|)(?:\.(.+)|)$/, + rhoverHack = /(?:^|\s)hover(\.\S+|)\b/, + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|contextmenu)|click/, + rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + hoverHack = function( events ) { + return jQuery.event.special.hover ? events : events.replace( rhoverHack, "mouseenter$1 mouseleave$1" ); + }; + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + add: function( elem, types, handler, data, selector ) { + + var elemData, eventHandle, events, + t, tns, type, namespaces, handleObj, + handleObjIn, handlers, special; + + // Don't attach events to noData or text/comment nodes (allow plain objects tho) + if ( elem.nodeType === 3 || elem.nodeType === 8 || !types || !handler || !(elemData = jQuery._data( elem )) ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + events = elemData.events; + if ( !events ) { + elemData.events = events = {}; + } + eventHandle = elemData.handle; + if ( !eventHandle ) { + elemData.handle = eventHandle = function( e ) { + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && (!e || jQuery.event.triggered !== e.type) ? + jQuery.event.dispatch.apply( eventHandle.elem, arguments ) : + undefined; + }; + // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events + eventHandle.elem = elem; + } + + // Handle multiple events separated by a space + // jQuery(...).bind("mouseover mouseout", fn); + types = jQuery.trim( hoverHack(types) ).split( " " ); + for ( t = 0; t < types.length; t++ ) { + + tns = rtypenamespace.exec( types[t] ) || []; + type = tns[1]; + namespaces = ( tns[2] || "" ).split( "." ).sort(); + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend({ + type: type, + origType: tns[1], + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + namespace: namespaces.join(".") + }, handleObjIn ); + + // Init the event handler queue if we're the first + handlers = events[ type ]; + if ( !handlers ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener/attachEvent if the special events handler returns false + if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + // Bind the global event handler to the element + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle, false ); + + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + // Nullify elem to prevent memory leaks in IE + elem = null; + }, + + global: {}, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var t, tns, type, origType, namespaces, origCount, + j, events, special, eventType, handleObj, + elemData = jQuery.hasData( elem ) && jQuery._data( elem ); + + if ( !elemData || !(events = elemData.events) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = jQuery.trim( hoverHack( types || "" ) ).split(" "); + for ( t = 0; t < types.length; t++ ) { + tns = rtypenamespace.exec( types[t] ) || []; + type = origType = tns[1]; + namespaces = tns[2]; + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector? special.delegateType : special.bindType ) || type; + eventType = events[ type ] || []; + origCount = eventType.length; + namespaces = namespaces ? new RegExp("(^|\\.)" + namespaces.split(".").sort().join("\\.(?:.*\\.|)") + "(\\.|$)") : null; + + // Remove matching events + for ( j = 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !namespaces || namespaces.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { + eventType.splice( j--, 1 ); + + if ( handleObj.selector ) { + eventType.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( eventType.length === 0 && origCount !== eventType.length ) { + if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + delete elemData.handle; + + // removeData also checks for emptiness and clears the expando if empty + // so use it instead of delete + jQuery.removeData( elem, "events", true ); + } + }, + + // Events that are safe to short-circuit if no handlers are attached. + // Native DOM events should not be added, they may have inline handlers. + customEvent: { + "getData": true, + "setData": true, + "changeData": true + }, + + trigger: function( event, data, elem, onlyHandlers ) { + // Don't do events on text and comment nodes + if ( elem && (elem.nodeType === 3 || elem.nodeType === 8) ) { + return; + } + + // Event object or event type + var cache, exclusive, i, cur, old, ontype, special, handle, eventPath, bubbleType, + type = event.type || event, + namespaces = []; + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "!" ) >= 0 ) { + // Exclusive events trigger only for the exact event (no namespaces) + type = type.slice(0, -1); + exclusive = true; + } + + if ( type.indexOf( "." ) >= 0 ) { + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split("."); + type = namespaces.shift(); + namespaces.sort(); + } + + if ( (!elem || jQuery.event.customEvent[ type ]) && !jQuery.event.global[ type ] ) { + // No jQuery handlers for this event type, and it can't have inline handlers + return; + } + + // Caller can pass in an Event, Object, or just an event type string + event = typeof event === "object" ? + // jQuery.Event object + event[ jQuery.expando ] ? event : + // Object literal + new jQuery.Event( type, event ) : + // Just the event type (string) + new jQuery.Event( type ); + + event.type = type; + event.isTrigger = true; + event.exclusive = exclusive; + event.namespace = namespaces.join( "." ); + event.namespace_re = event.namespace? new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)") : null; + ontype = type.indexOf( ":" ) < 0 ? "on" + type : ""; + + // Handle a global trigger + if ( !elem ) { + + // TODO: Stop taunting the data cache; remove global events and always attach to document + cache = jQuery.cache; + for ( i in cache ) { + if ( cache[ i ].events && cache[ i ].events[ type ] ) { + jQuery.event.trigger( event, data, cache[ i ].handle.elem, true ); + } + } + return; + } + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data != null ? jQuery.makeArray( data ) : []; + data.unshift( event ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + eventPath = [[ elem, special.bindType || type ]]; + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + cur = rfocusMorph.test( bubbleType + type ) ? elem : elem.parentNode; + for ( old = elem; cur; cur = cur.parentNode ) { + eventPath.push([ cur, bubbleType ]); + old = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( old === (elem.ownerDocument || document) ) { + eventPath.push([ old.defaultView || old.parentWindow || window, bubbleType ]); + } + } + + // Fire handlers on the event path + for ( i = 0; i < eventPath.length && !event.isPropagationStopped(); i++ ) { + + cur = eventPath[i][0]; + event.type = eventPath[i][1]; + + handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + // Note that this is a bare JS function and not a jQuery handler + handle = ontype && cur[ ontype ]; + if ( handle && jQuery.acceptData( cur ) && handle.apply( cur, data ) === false ) { + event.preventDefault(); + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( (!special._default || special._default.apply( elem.ownerDocument, data ) === false) && + !(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name name as the event. + // Can't use an .isFunction() check here because IE6/7 fails that test. + // Don't do default actions on window, that's where global variables be (#6170) + // IE<9 dies on focus/blur to hidden element (#1486) + if ( ontype && elem[ type ] && ((type !== "focus" && type !== "blur") || event.target.offsetWidth !== 0) && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + old = elem[ ontype ]; + + if ( old ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + elem[ type ](); + jQuery.event.triggered = undefined; + + if ( old ) { + elem[ ontype ] = old; + } + } + } + } + + return event.result; + }, + + dispatch: function( event ) { + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( event || window.event ); + + var i, j, cur, jqcur, ret, selMatch, matched, matches, handleObj, sel, related, + handlers = ( (jQuery._data( this, "events" ) || {} )[ event.type ] || []), + delegateCount = handlers.delegateCount, + args = [].slice.call( arguments ), + run_all = !event.exclusive && !event.namespace, + special = jQuery.event.special[ event.type ] || {}, + handlerQueue = []; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[0] = event; + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers that should run if there are delegated events + // Avoid non-left-click bubbling in Firefox (#3861) + if ( delegateCount && !(event.button && event.type === "click") ) { + + // Pregenerate a single jQuery object for reuse with .is() + jqcur = jQuery(this); + jqcur.context = this; + + for ( cur = event.target; cur != this; cur = cur.parentNode || this ) { + + // Don't process clicks (ONLY) on disabled elements (#6911, #8165, #xxxx) + if ( cur.disabled !== true || event.type !== "click" ) { + selMatch = {}; + matches = []; + jqcur[0] = cur; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + sel = handleObj.selector; + + if ( selMatch[ sel ] === undefined ) { + selMatch[ sel ] = jqcur.is( sel ); + } + if ( selMatch[ sel ] ) { + matches.push( handleObj ); + } + } + if ( matches.length ) { + handlerQueue.push({ elem: cur, matches: matches }); + } + } + } + } + + // Add the remaining (directly-bound) handlers + if ( handlers.length > delegateCount ) { + handlerQueue.push({ elem: this, matches: handlers.slice( delegateCount ) }); + } + + // Run delegates first; they may want to stop propagation beneath us + for ( i = 0; i < handlerQueue.length && !event.isPropagationStopped(); i++ ) { + matched = handlerQueue[ i ]; + event.currentTarget = matched.elem; + + for ( j = 0; j < matched.matches.length && !event.isImmediatePropagationStopped(); j++ ) { + handleObj = matched.matches[ j ]; + + // Triggered event must either 1) be non-exclusive and have no namespace, or + // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace). + if ( run_all || (!event.namespace && !handleObj.namespace) || event.namespace_re && event.namespace_re.test( handleObj.namespace ) ) { + + event.data = handleObj.data; + event.handleObj = handleObj; + + ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ) + .apply( matched.elem, args ); + + if ( ret !== undefined ) { + event.result = ret; + if ( ret === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + // Includes some event props shared by KeyEvent and MouseEvent + // *** attrChange attrName relatedNode srcElement are not normalized, non-W3C, deprecated, will be removed in 1.8 *** + props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), + + fixHooks: {}, + + keyHooks: { + props: "char charCode key keyCode".split(" "), + filter: function( event, original ) { + + // Add which for key events + if ( event.which == null ) { + event.which = original.charCode != null ? original.charCode : original.keyCode; + } + + return event; + } + }, + + mouseHooks: { + props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), + filter: function( event, original ) { + var eventDoc, doc, body, + button = original.button, + fromElement = original.fromElement; + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && original.clientX != null ) { + eventDoc = event.target.ownerDocument || document; + doc = eventDoc.documentElement; + body = eventDoc.body; + + event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); + event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && fromElement ) { + event.relatedTarget = fromElement === event.target ? original.toElement : fromElement; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && button !== undefined ) { + event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); + } + + return event; + } + }, + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // Create a writable copy of the event object and normalize some properties + var i, prop, + originalEvent = event, + fixHook = jQuery.event.fixHooks[ event.type ] || {}, + copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; + + event = jQuery.Event( originalEvent ); + + for ( i = copy.length; i; ) { + prop = copy[ --i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Fix target property, if necessary (#1925, IE 6/7/8 & Safari2) + if ( !event.target ) { + event.target = originalEvent.srcElement || document; + } + + // Target should not be a text node (#504, Safari) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // For mouse/key events, metaKey==false if it's undefined (#3368, #11328; IE6/7/8) + event.metaKey = !!event.metaKey; + + return fixHook.filter? fixHook.filter( event, originalEvent ) : event; + }, + + special: { + ready: { + // Make sure the ready event is setup + setup: jQuery.bindReady + }, + + load: { + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + + focus: { + delegateType: "focusin" + }, + blur: { + delegateType: "focusout" + }, + + beforeunload: { + setup: function( data, namespaces, eventHandle ) { + // We only want to do this special case on windows + if ( jQuery.isWindow( this ) ) { + this.onbeforeunload = eventHandle; + } + }, + + teardown: function( namespaces, eventHandle ) { + if ( this.onbeforeunload === eventHandle ) { + this.onbeforeunload = null; + } + } + } + }, + + simulate: function( type, elem, event, bubble ) { + // Piggyback on a donor event to simulate a different one. + // Fake originalEvent to avoid donor's stopPropagation, but if the + // simulated event prevents default then we do the same on the donor. + var e = jQuery.extend( + new jQuery.Event(), + event, + { type: type, + isSimulated: true, + originalEvent: {} + } + ); + if ( bubble ) { + jQuery.event.trigger( e, null, elem ); + } else { + jQuery.event.dispatch.call( elem, e ); + } + if ( e.isDefaultPrevented() ) { + event.preventDefault(); + } + } +}; + +// Some plugins are using, but it's undocumented/deprecated and will be removed. +// The 1.7 special event interface should provide all the hooks needed now. +jQuery.event.handle = jQuery.event.dispatch; + +jQuery.removeEvent = document.removeEventListener ? + function( elem, type, handle ) { + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle, false ); + } + } : + function( elem, type, handle ) { + var name = "on" + type; + + if ( elem.detachEvent ) { + + // #8545, #7054, preventing memory leaks for custom events in IE6-8 – + // detachEvent needed property on element, by name of that event, to properly expose it to GC + if ( typeof elem[ name ] === "undefined" ) { + elem[ name ] = null; + } + + elem.detachEvent( name, handle ); + } + }; + +jQuery.Event = function( src, props ) { + // Allow instantiation without the 'new' keyword + if ( !(this instanceof jQuery.Event) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false || + src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +function returnFalse() { + return false; +} +function returnTrue() { + return true; +} + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + preventDefault: function() { + this.isDefaultPrevented = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + + // if preventDefault exists run it on the original event + if ( e.preventDefault ) { + e.preventDefault(); + + // otherwise set the returnValue property of the original event to false (IE) + } else { + e.returnValue = false; + } + }, + stopPropagation: function() { + this.isPropagationStopped = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + // if stopPropagation exists run it on the original event + if ( e.stopPropagation ) { + e.stopPropagation(); + } + // otherwise set the cancelBubble property of the original event to true (IE) + e.cancelBubble = true; + }, + stopImmediatePropagation: function() { + this.isImmediatePropagationStopped = returnTrue; + this.stopPropagation(); + }, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse +}; + +// Create mouseenter/leave events using mouseover/out and event-time checks +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj, + selector = handleObj.selector; + + // For mousenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || (related !== target && !jQuery.contains( target, related )) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +}); + +// IE submit delegation +if ( !jQuery.support.submitBubbles ) { + + jQuery.event.special.submit = { + setup: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Lazy-add a submit handler when a descendant form may potentially be submitted + jQuery.event.add( this, "click._submit keypress._submit", function( e ) { + // Node name check avoids a VML-related crash in IE (#9807) + var elem = e.target, + form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined; + if ( form && !jQuery._data( form, "_submit_attached" ) ) { + jQuery.event.add( form, "submit._submit", function( event ) { + event._submit_bubble = true; + }); + jQuery._data( form, "_submit_attached", true ); + } + }); + // return undefined since we don't need an event listener + }, + + postDispatch: function( event ) { + // If form was submitted by the user, bubble the event up the tree + if ( event._submit_bubble ) { + delete event._submit_bubble; + if ( this.parentNode && !event.isTrigger ) { + jQuery.event.simulate( "submit", this.parentNode, event, true ); + } + } + }, + + teardown: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Remove delegated handlers; cleanData eventually reaps submit handlers attached above + jQuery.event.remove( this, "._submit" ); + } + }; +} + +// IE change delegation and checkbox/radio fix +if ( !jQuery.support.changeBubbles ) { + + jQuery.event.special.change = { + + setup: function() { + + if ( rformElems.test( this.nodeName ) ) { + // IE doesn't fire change on a check/radio until blur; trigger it on click + // after a propertychange. Eat the blur-change in special.change.handle. + // This still fires onchange a second time for check/radio after blur. + if ( this.type === "checkbox" || this.type === "radio" ) { + jQuery.event.add( this, "propertychange._change", function( event ) { + if ( event.originalEvent.propertyName === "checked" ) { + this._just_changed = true; + } + }); + jQuery.event.add( this, "click._change", function( event ) { + if ( this._just_changed && !event.isTrigger ) { + this._just_changed = false; + } + // Allow triggered, simulated change events (#11500) + jQuery.event.simulate( "change", this, event, true ); + }); + } + return false; + } + // Delegated event; lazy-add a change handler on descendant inputs + jQuery.event.add( this, "beforeactivate._change", function( e ) { + var elem = e.target; + + if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "_change_attached" ) ) { + jQuery.event.add( elem, "change._change", function( event ) { + if ( this.parentNode && !event.isSimulated && !event.isTrigger ) { + jQuery.event.simulate( "change", this.parentNode, event, true ); + } + }); + jQuery._data( elem, "_change_attached", true ); + } + }); + }, + + handle: function( event ) { + var elem = event.target; + + // Swallow native change events from checkbox/radio, we already triggered them above + if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) { + return event.handleObj.handler.apply( this, arguments ); + } + }, + + teardown: function() { + jQuery.event.remove( this, "._change" ); + + return rformElems.test( this.nodeName ); + } + }; +} + +// Create "bubbling" focus and blur events +if ( !jQuery.support.focusinBubbles ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler while someone wants focusin/focusout + var attaches = 0, + handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + if ( attaches++ === 0 ) { + document.addEventListener( orig, handler, true ); + } + }, + teardown: function() { + if ( --attaches === 0 ) { + document.removeEventListener( orig, handler, true ); + } + } + }; + }); +} + +jQuery.fn.extend({ + + on: function( types, selector, data, fn, /*INTERNAL*/ one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { // && selector != null + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + this.on( type, selector, data, types[ type ], one ); + } + return this; + } + + if ( data == null && fn == null ) { + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return this; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return this.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + }); + }, + one: function( types, selector, data, fn ) { + return this.on( types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each(function() { + jQuery.event.remove( this, types, fn, selector ); + }); + }, + + bind: function( types, data, fn ) { + return this.on( types, null, data, fn ); + }, + unbind: function( types, fn ) { + return this.off( types, null, fn ); + }, + + live: function( types, data, fn ) { + jQuery( this.context ).on( types, this.selector, data, fn ); + return this; + }, + die: function( types, fn ) { + jQuery( this.context ).off( types, this.selector || "**", fn ); + return this; + }, + + delegate: function( selector, types, data, fn ) { + return this.on( types, selector, data, fn ); + }, + undelegate: function( selector, types, fn ) { + // ( namespace ) or ( selector, types [, fn] ) + return arguments.length == 1? this.off( selector, "**" ) : this.off( types, selector || "**", fn ); + }, + + trigger: function( type, data ) { + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + triggerHandler: function( type, data ) { + if ( this[0] ) { + return jQuery.event.trigger( type, data, this[0], true ); + } + }, + + toggle: function( fn ) { + // Save reference to arguments for access in closure + var args = arguments, + guid = fn.guid || jQuery.guid++, + i = 0, + toggler = function( event ) { + // Figure out which function to execute + var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i; + jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 ); + + // Make sure that clicks stop + event.preventDefault(); + + // and execute the function + return args[ lastToggle ].apply( this, arguments ) || false; + }; + + // link all the functions, so any of them can unbind this click handler + toggler.guid = guid; + while ( i < args.length ) { + args[ i++ ].guid = guid; + } + + return this.click( toggler ); + }, + + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +}); + +jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; + + if ( rkeyEvent.test( name ) ) { + jQuery.event.fixHooks[ name ] = jQuery.event.keyHooks; + } + + if ( rmouseEvent.test( name ) ) { + jQuery.event.fixHooks[ name ] = jQuery.event.mouseHooks; + } +}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2012 jQuery Foundation and other contributors + * Released under the MIT license + * http://sizzlejs.com/ + */ +(function( window, undefined ) { + +var cachedruns, + dirruns, + sortOrder, + siblingCheck, + assertGetIdNotName, + + document = window.document, + docElem = document.documentElement, + + strundefined = "undefined", + hasDuplicate = false, + baseHasDuplicate = true, + done = 0, + slice = [].slice, + push = [].push, + + expando = ( "sizcache" + Math.random() ).replace( ".", "" ), + + // Regex + + // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + // http://www.w3.org/TR/css3-syntax/#characters + characterEncoding = "(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+", + + // Loosely modeled on CSS identifier characters + // An unquoted value should be a CSS identifier (http://www.w3.org/TR/css3-selectors/#attribute-selectors) + // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = characterEncoding.replace( "w", "w#" ), + + // Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors + operators = "([*^$|!~]?=)", + attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace + + "*(?:" + operators + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]", + pseudos = ":(" + characterEncoding + ")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|((?:[^,]|\\\\,|(?:,(?=[^\\[]*\\]))|(?:,(?=[^\\(]*\\))))*))\\)|)", + pos = ":(nth|eq|gt|lt|first|last|even|odd)(?:\\((\\d*)\\)|)(?=[^-]|$)", + combinators = whitespace + "*([\\x20\\t\\r\\n\\f>+~])" + whitespace + "*", + groups = "(?=[^\\x20\\t\\r\\n\\f])(?:\\\\.|" + attributes + "|" + pseudos.replace( 2, 7 ) + "|[^\\\\(),])+", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcombinators = new RegExp( "^" + combinators ), + + // All simple (non-comma) selectors, excluding insignifant trailing whitespace + rgroups = new RegExp( groups + "?(?=" + whitespace + "*,|$)", "g" ), + + // A selector, or everything after leading whitespace + // Optionally followed in either case by a ")" for terminating sub-selectors + rselector = new RegExp( "^(?:(?!,)(?:(?:^|,)" + whitespace + "*" + groups + ")*?|" + whitespace + "*(.*?))(\\)|$)" ), + + // All combinators and selector components (attribute test, tag, pseudo, etc.), the latter appearing together when consecutive + rtokens = new RegExp( groups.slice( 19, -6 ) + "\\x20\\t\\r\\n\\f>+~])+|" + combinators, "g" ), + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/, + + rsibling = /[\x20\t\r\n\f]*[+~]/, + rendsWithNot = /:not\($/, + + rheader = /h\d/i, + rinputs = /input|select|textarea|button/i, + + rbackslash = /\\(?!\\)/g, + + matchExpr = { + "ID": new RegExp( "^#(" + characterEncoding + ")" ), + "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), + "NAME": new RegExp( "^\\[name=['\"]?(" + characterEncoding + ")['\"]?\\]" ), + "TAG": new RegExp( "^(" + characterEncoding.replace( "[-", "[-\\*" ) + ")" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|nth|last|first)-child(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "POS": new RegExp( pos, "ig" ), + // For use in libraries implementing .is() + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|" + pos, "i" ) + }, + + classCache = {}, + cachedClasses = [], + compilerCache = {}, + cachedSelectors = [], + + // Mark a function for use in filtering + markFunction = function( fn ) { + fn.sizzleFilter = true; + return fn; + }, + + // Returns a function to use in pseudos for input types + createInputFunction = function( type ) { + return function( elem ) { + // Check the input's nodeName and type + return elem.nodeName.toLowerCase() === "input" && elem.type === type; + }; + }, + + // Returns a function to use in pseudos for buttons + createButtonFunction = function( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; + }, + + // Used for testing something on an element + assert = function( fn ) { + var pass = false, + div = document.createElement("div"); + try { + pass = fn( div ); + } catch (e) {} + // release memory in IE + div = null; + return pass; + }, + + // Check if attributes should be retrieved by attribute nodes + assertAttributes = assert(function( div ) { + div.innerHTML = ""; + var type = typeof div.lastChild.getAttribute("multiple"); + // IE8 returns a string for some attributes even when not present + return type !== "boolean" && type !== "string"; + }), + + // Check if getElementById returns elements by name + // Check if getElementsByName privileges form controls or returns elements by ID + assertUsableName = assert(function( div ) { + // Inject content + div.id = expando + 0; + div.innerHTML = "
"; + docElem.insertBefore( div, docElem.firstChild ); + + // Test + var pass = document.getElementsByName && + // buggy browsers will return fewer than the correct 2 + document.getElementsByName( expando ).length === + // buggy browsers will return more than the correct 0 + 2 + document.getElementsByName( expando + 0 ).length; + assertGetIdNotName = !document.getElementById( expando ); + + // Cleanup + docElem.removeChild( div ); + + return pass; + }), + + // Check if the browser returns only elements + // when doing getElementsByTagName("*") + assertTagNameNoComments = assert(function( div ) { + div.appendChild( document.createComment("") ); + return div.getElementsByTagName("*").length === 0; + }), + + // Check if getAttribute returns normalized href attributes + assertHrefNotNormalized = assert(function( div ) { + div.innerHTML = ""; + return div.firstChild && typeof div.firstChild.getAttribute !== strundefined && + div.firstChild.getAttribute("href") === "#"; + }), + + // Check if getElementsByClassName can be trusted + assertUsableClassName = assert(function( div ) { + // Opera can't find a second classname (in 9.6) + div.innerHTML = ""; + if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) { + return false; + } + + // Safari caches class attributes, doesn't catch changes (in 3.2) + div.lastChild.className = "e"; + return div.getElementsByClassName("e").length !== 1; + }); + +var Sizzle = function( selector, context, results, seed ) { + results = results || []; + context = context || document; + var match, elem, xml, m, + nodeType = context.nodeType; + + if ( nodeType !== 1 && nodeType !== 9 ) { + return []; + } + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + xml = isXML( context ); + + if ( !xml && !seed ) { + if ( (match = rquickExpr.exec( selector )) ) { + // Speed-up: Sizzle("#ID") + if ( (m = match[1]) ) { + if ( nodeType === 9 ) { + elem = context.getElementById( m ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE, Opera, and Webkit return items + // by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + } else { + // Context is not a document + if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && + contains( context, elem ) && elem.id === m ) { + results.push( elem ); + return results; + } + } + + // Speed-up: Sizzle("TAG") + } else if ( match[2] ) { + push.apply( results, slice.call(context.getElementsByTagName( selector ), 0) ); + return results; + + // Speed-up: Sizzle(".CLASS") + } else if ( (m = match[3]) && assertUsableClassName && context.getElementsByClassName ) { + push.apply( results, slice.call(context.getElementsByClassName( m ), 0) ); + return results; + } + } + } + + // All others + return select( selector, context, results, seed, xml ); +}; + +var Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + match: matchExpr, + + order: [ "ID", "TAG" ], + + attrHandle: {}, + + createPseudo: markFunction, + + find: { + "ID": assertGetIdNotName ? + function( id, context, xml ) { + if ( typeof context.getElementById !== strundefined && !xml ) { + var m = context.getElementById( id ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [m] : []; + } + } : + function( id, context, xml ) { + if ( typeof context.getElementById !== strundefined && !xml ) { + var m = context.getElementById( id ); + + return m ? + m.id === id || typeof m.getAttributeNode !== strundefined && m.getAttributeNode("id").value === id ? + [m] : + undefined : + []; + } + }, + + "TAG": assertTagNameNoComments ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== strundefined ) { + return context.getElementsByTagName( tag ); + } + } : + function( tag, context ) { + var results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + var elem, + tmp = [], + i = 0; + + for ( ; (elem = results[i]); i++ ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + } + }, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( rbackslash, "" ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[4] || match[5] || "" ).replace( rbackslash, "" ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr.CHILD + 1 type (only|nth|...) + 2 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 3 xn-component of xn+y argument ([+-]?\d*n|) + 4 sign of xn-component + 5 x of xn-component + 6 sign of y-component + 7 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1] === "nth" ) { + // nth-child requires argument + if ( !match[2] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[3] = +( match[3] ? match[4] + (match[5] || 1) : 2 * ( match[2] === "even" || match[2] === "odd" ) ); + match[4] = +( ( match[6] + match[7] ) || match[2] === "odd" ); + + // other types prohibit arguments + } else if ( match[2] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var argument, + unquoted = match[4]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Relinquish our claim on characters in `unquoted` from a closing parenthesis on + if ( unquoted && (argument = rselector.exec( unquoted )) && argument.pop() ) { + + match[0] = match[0].slice( 0, argument[0].length - unquoted.length - 1 ); + unquoted = argument[0].slice( 0, -1 ); + } + + // Quoted or unquoted, we have the full argument + // Return only captures needed by the pseudo filter method (type and argument) + match.splice( 2, 3, unquoted || match[3] ); + return match; + } + }, + + filter: { + "ID": assertGetIdNotName ? + function( id ) { + id = id.replace( rbackslash, "" ); + return function( elem ) { + return elem.getAttribute("id") === id; + }; + } : + function( id ) { + id = id.replace( rbackslash, "" ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id"); + return node && node.value === id; + }; + }, + + "TAG": function( nodeName ) { + if ( nodeName === "*" ) { + return function() { return true; }; + } + nodeName = nodeName.replace( rbackslash, "" ).toLowerCase(); + + return function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className ]; + if ( !pattern ) { + pattern = classCache[ className ] = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" ); + cachedClasses.push( className ); + // Avoid too large of a cache + if ( cachedClasses.length > Expr.cacheLength ) { + delete classCache[ cachedClasses.shift() ]; + } + } + return function( elem ) { + return pattern.test( elem.className || (typeof elem.getAttribute !== strundefined && elem.getAttribute("class")) || "" ); + }; + }, + + "ATTR": function( name, operator, check ) { + if ( !operator ) { + return function( elem ) { + return Sizzle.attr( elem, name ) != null; + }; + } + + return function( elem ) { + var result = Sizzle.attr( elem, name ), + value = result + ""; + + if ( result == null ) { + return operator === "!="; + } + + switch ( operator ) { + case "=": + return value === check; + case "!=": + return value !== check; + case "^=": + return check && value.indexOf( check ) === 0; + case "*=": + return check && value.indexOf( check ) > -1; + case "$=": + return check && value.substr( value.length - check.length ) === check; + case "~=": + return ( " " + value + " " ).indexOf( check ) > -1; + case "|=": + return value === check || value.substr( 0, check.length + 1 ) === check + "-"; + } + }; + }, + + "CHILD": function( type, argument, first, last ) { + + if ( type === "nth" ) { + var doneName = done++; + + return function( elem ) { + var parent, diff, + count = 0, + node = elem; + + if ( first === 1 && last === 0 ) { + return true; + } + + parent = elem.parentNode; + + if ( parent && (parent[ expando ] !== doneName || !elem.sizset) ) { + for ( node = parent.firstChild; node; node = node.nextSibling ) { + if ( node.nodeType === 1 ) { + node.sizset = ++count; + if ( node === elem ) { + break; + } + } + } + + parent[ expando ] = doneName; + } + + diff = elem.sizset - last; + + if ( first === 0 ) { + return diff === 0; + + } else { + return ( diff % first === 0 && diff / first >= 0 ); + } + }; + } + + return function( elem ) { + var node = elem; + + switch ( type ) { + case "only": + case "first": + while ( (node = node.previousSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + if ( type === "first" ) { + return true; + } + + node = elem; + + /* falls through */ + case "last": + while ( (node = node.nextSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + return true; + } + }; + }, + + "PSEUDO": function( pseudo, argument, context, xml ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + var fn = Expr.pseudos[ pseudo ] || Expr.pseudos[ pseudo.toLowerCase() ]; + + if ( !fn ) { + Sizzle.error( "unsupported pseudo: " + pseudo ); + } + + // The user may set fn.sizzleFilter to indicate + // that arguments are needed to create the filter function + // just as Sizzle does + if ( !fn.sizzleFilter ) { + return fn; + } + + return fn( argument, context, xml ); + } + }, + + pseudos: { + "not": markFunction(function( selector, context, xml ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var matcher = compile( selector.replace( rtrim, "$1" ), context, xml ); + return function( elem ) { + return !matcher( elem ); + }; + }), + + "enabled": function( elem ) { + return elem.disabled === false; + }, + + "disabled": function( elem ) { + return elem.disabled === true; + }, + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is only affected by element nodes and content nodes(including text(3), cdata(4)), + // not comment, processing instructions, or others + // Thanks to Diego Perini for the nodeName shortcut + // Greater than "@" means alpha characters (specifically not starting with "#" or "?") + var nodeType; + elem = elem.firstChild; + while ( elem ) { + if ( elem.nodeName > "@" || (nodeType = elem.nodeType) === 3 || nodeType === 4 ) { + return false; + } + elem = elem.nextSibling; + } + return true; + }, + + "contains": markFunction(function( text ) { + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "text": function( elem ) { + var type, attr; + // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) + // use getAttribute instead to test this case + return elem.nodeName.toLowerCase() === "input" && + (type = elem.type) === "text" && + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === type ); + }, + + // Input types + "radio": createInputFunction("radio"), + "checkbox": createInputFunction("checkbox"), + "file": createInputFunction("file"), + "password": createInputFunction("password"), + "image": createInputFunction("image"), + + "submit": createButtonFunction("submit"), + "reset": createButtonFunction("reset"), + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "focus": function( elem ) { + var doc = elem.ownerDocument; + return elem === doc.activeElement && (!doc.hasFocus || doc.hasFocus()) && !!(elem.type || elem.href); + }, + + "active": function( elem ) { + return elem === elem.ownerDocument.activeElement; + } + }, + + setFilters: { + "first": function( elements, argument, not ) { + return not ? elements.slice( 1 ) : [ elements[0] ]; + }, + + "last": function( elements, argument, not ) { + var elem = elements.pop(); + return not ? elements : [ elem ]; + }, + + "even": function( elements, argument, not ) { + var results = [], + i = not ? 1 : 0, + len = elements.length; + for ( ; i < len; i = i + 2 ) { + results.push( elements[i] ); + } + return results; + }, + + "odd": function( elements, argument, not ) { + var results = [], + i = not ? 0 : 1, + len = elements.length; + for ( ; i < len; i = i + 2 ) { + results.push( elements[i] ); + } + return results; + }, + + "lt": function( elements, argument, not ) { + return not ? elements.slice( +argument ) : elements.slice( 0, +argument ); + }, + + "gt": function( elements, argument, not ) { + return not ? elements.slice( 0, +argument + 1 ) : elements.slice( +argument + 1 ); + }, + + "eq": function( elements, argument, not ) { + var elem = elements.splice( +argument, 1 ); + return not ? elements : elem; + } + } +}; + +// Deprecated +Expr.setFilters["nth"] = Expr.setFilters["eq"]; + +// Back-compat +Expr.filters = Expr.pseudos; + +// IE6/7 return a modified href +if ( !assertHrefNotNormalized ) { + Expr.attrHandle = { + "href": function( elem ) { + return elem.getAttribute( "href", 2 ); + }, + "type": function( elem ) { + return elem.getAttribute("type"); + } + }; +} + +// Add getElementsByName if usable +if ( assertUsableName ) { + Expr.order.push("NAME"); + Expr.find["NAME"] = function( name, context ) { + if ( typeof context.getElementsByName !== strundefined ) { + return context.getElementsByName( name ); + } + }; +} + +// Add getElementsByClassName if usable +if ( assertUsableClassName ) { + Expr.order.splice( 1, 0, "CLASS" ); + Expr.find["CLASS"] = function( className, context, xml ) { + if ( typeof context.getElementsByClassName !== strundefined && !xml ) { + return context.getElementsByClassName( className ); + } + }; +} + +// If slice is not available, provide a backup +try { + slice.call( docElem.childNodes, 0 )[0].nodeType; +} catch ( e ) { + slice = function( i ) { + var elem, results = []; + for ( ; (elem = this[i]); i++ ) { + results.push( elem ); + } + return results; + }; +} + +var isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +// Element contains another +var contains = Sizzle.contains = docElem.compareDocumentPosition ? + function( a, b ) { + return !!( a.compareDocumentPosition( b ) & 16 ); + } : + docElem.contains ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && adown.contains && adown.contains(bup) ); + } : + function( a, b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + return false; + }; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +var getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( nodeType ) { + if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (see #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + } else { + + // If no nodeType, this is expected to be an array + for ( ; (node = elem[i]); i++ ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } + return ret; +}; + +Sizzle.attr = function( elem, name ) { + var attr, + xml = isXML( elem ); + + if ( !xml ) { + name = name.toLowerCase(); + } + if ( Expr.attrHandle[ name ] ) { + return Expr.attrHandle[ name ]( elem ); + } + if ( assertAttributes || xml ) { + return elem.getAttribute( name ); + } + attr = elem.getAttributeNode( name ); + return attr ? + typeof elem[ name ] === "boolean" ? + elem[ name ] ? name : null : + attr.specified ? attr.value : null : + null; +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +// Check if the JavaScript engine is using some sort of +// optimization where it does not always call our comparision +// function. If that is the case, discard the hasDuplicate value. +// Thus far that includes Google Chrome. +[0, 0].sort(function() { + return (baseHasDuplicate = 0); +}); + + +if ( docElem.compareDocumentPosition ) { + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + return ( !a.compareDocumentPosition || !b.compareDocumentPosition ? + a.compareDocumentPosition : + a.compareDocumentPosition(b) & 4 + ) ? -1 : 1; + }; + +} else { + sortOrder = function( a, b ) { + // The nodes are identical, we can exit early + if ( a === b ) { + hasDuplicate = true; + return 0; + + // Fallback to using sourceIndex (in IE) if it's available on both nodes + } else if ( a.sourceIndex && b.sourceIndex ) { + return a.sourceIndex - b.sourceIndex; + } + + var al, bl, + ap = [], + bp = [], + aup = a.parentNode, + bup = b.parentNode, + cur = aup; + + // If the nodes are siblings (or identical) we can do a quick check + if ( aup === bup ) { + return siblingCheck( a, b ); + + // If no parents were found then the nodes are disconnected + } else if ( !aup ) { + return -1; + + } else if ( !bup ) { + return 1; + } + + // Otherwise they're somewhere else in the tree so we need + // to build up a full list of the parentNodes for comparison + while ( cur ) { + ap.unshift( cur ); + cur = cur.parentNode; + } + + cur = bup; + + while ( cur ) { + bp.unshift( cur ); + cur = cur.parentNode; + } + + al = ap.length; + bl = bp.length; + + // Start walking down the tree looking for a discrepancy + for ( var i = 0; i < al && i < bl; i++ ) { + if ( ap[i] !== bp[i] ) { + return siblingCheck( ap[i], bp[i] ); + } + } + + // We ended someplace up the tree so do a sibling check + return i === al ? + siblingCheck( a, bp[i], -1 ) : + siblingCheck( ap[i], b, 1 ); + }; + + siblingCheck = function( a, b, ret ) { + if ( a === b ) { + return ret; + } + + var cur = a.nextSibling; + + while ( cur ) { + if ( cur === b ) { + return -1; + } + + cur = cur.nextSibling; + } + + return 1; + }; +} + +// Document sorting and removing duplicates +Sizzle.uniqueSort = function( results ) { + var elem, + i = 1; + + if ( sortOrder ) { + hasDuplicate = baseHasDuplicate; + results.sort( sortOrder ); + + if ( hasDuplicate ) { + for ( ; (elem = results[i]); i++ ) { + if ( elem === results[ i - 1 ] ) { + results.splice( i--, 1 ); + } + } + } + } + + return results; +}; + +function multipleContexts( selector, contexts, results, seed ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results, seed ); + } +} + +function handlePOSGroup( selector, posfilter, argument, contexts, seed, not ) { + var results, + fn = Expr.setFilters[ posfilter.toLowerCase() ]; + + if ( !fn ) { + Sizzle.error( posfilter ); + } + + if ( selector || !(results = seed) ) { + multipleContexts( selector || "*", contexts, (results = []), seed ); + } + + return results.length > 0 ? fn( results, argument, not ) : []; +} + +function handlePOS( selector, context, results, seed, groups ) { + var match, not, anchor, ret, elements, currentContexts, part, lastIndex, + i = 0, + len = groups.length, + rpos = matchExpr["POS"], + // This is generated here in case matchExpr["POS"] is extended + rposgroups = new RegExp( "^" + rpos.source + "(?!" + whitespace + ")", "i" ), + // This is for making sure non-participating + // matching groups are represented cross-browser (IE6-8) + setUndefined = function() { + var i = 1, + len = arguments.length - 2; + for ( ; i < len; i++ ) { + if ( arguments[i] === undefined ) { + match[i] = undefined; + } + } + }; + + for ( ; i < len; i++ ) { + // Reset regex index to 0 + rpos.exec(""); + selector = groups[i]; + ret = []; + anchor = 0; + elements = seed; + while ( (match = rpos.exec( selector )) ) { + lastIndex = rpos.lastIndex = match.index + match[0].length; + if ( lastIndex > anchor ) { + part = selector.slice( anchor, match.index ); + anchor = lastIndex; + currentContexts = [ context ]; + + if ( rcombinators.test(part) ) { + if ( elements ) { + currentContexts = elements; + } + elements = seed; + } + + if ( (not = rendsWithNot.test( part )) ) { + part = part.slice( 0, -5 ).replace( rcombinators, "$&*" ); + } + + if ( match.length > 1 ) { + match[0].replace( rposgroups, setUndefined ); + } + elements = handlePOSGroup( part, match[1], match[2], currentContexts, elements, not ); + } + } + + if ( elements ) { + ret = ret.concat( elements ); + + if ( (part = selector.slice( anchor )) && part !== ")" ) { + if ( rcombinators.test(part) ) { + multipleContexts( part, ret, results, seed ); + } else { + Sizzle( part, context, results, seed ? seed.concat(elements) : elements ); + } + } else { + push.apply( results, ret ); + } + } else { + Sizzle( selector, context, results, seed ); + } + } + + // Do not sort if this is a single filter + return len === 1 ? results : Sizzle.uniqueSort( results ); +} + +function tokenize( selector, context, xml ) { + var tokens, soFar, type, + groups = [], + i = 0, + + // Catch obvious selector issues: terminal ")"; nonempty fallback match + // rselector never fails to match *something* + match = rselector.exec( selector ), + matched = !match.pop() && !match.pop(), + selectorGroups = matched && selector.match( rgroups ) || [""], + + preFilters = Expr.preFilter, + filters = Expr.filter, + checkContext = !xml && context !== document; + + for ( ; (soFar = selectorGroups[i]) != null && matched; i++ ) { + groups.push( tokens = [] ); + + // Need to make sure we're within a narrower context if necessary + // Adding a descendant combinator will generate what is needed + if ( checkContext ) { + soFar = " " + soFar; + } + + while ( soFar ) { + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + soFar = soFar.slice( match[0].length ); + + // Cast descendant combinators to space + matched = tokens.push({ part: match.pop().replace( rtrim, " " ), captures: match }); + } + + // Filters + for ( type in filters ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match, context, xml )) ) ) { + + soFar = soFar.slice( match.shift().length ); + matched = tokens.push({ part: type, captures: match }); + } + } + + if ( !matched ) { + break; + } + } + } + + if ( !matched ) { + Sizzle.error( selector ); + } + + return groups; +} + +function addCombinator( matcher, combinator, context ) { + var dir = combinator.dir, + doneName = done++; + + if ( !matcher ) { + // If there is no matcher to check, check against the context + matcher = function( elem ) { + return elem === context; + }; + } + return combinator.first ? + function( elem, context ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 ) { + return matcher( elem, context ) && elem; + } + } + } : + function( elem, context ) { + var cache, + dirkey = doneName + "." + dirruns, + cachedkey = dirkey + "." + cachedruns; + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 ) { + if ( (cache = elem[ expando ]) === cachedkey ) { + return elem.sizset; + } else if ( typeof cache === "string" && cache.indexOf(dirkey) === 0 ) { + if ( elem.sizset ) { + return elem; + } + } else { + elem[ expando ] = cachedkey; + if ( matcher( elem, context ) ) { + elem.sizset = true; + return elem; + } + elem.sizset = false; + } + } + } + }; +} + +function addMatcher( higher, deeper ) { + return higher ? + function( elem, context ) { + var result = deeper( elem, context ); + return result && higher( result === true ? elem : result, context ); + } : + deeper; +} + +// ["TAG", ">", "ID", " ", "CLASS"] +function matcherFromTokens( tokens, context, xml ) { + var token, matcher, + i = 0; + + for ( ; (token = tokens[i]); i++ ) { + if ( Expr.relative[ token.part ] ) { + matcher = addCombinator( matcher, Expr.relative[ token.part ], context ); + } else { + token.captures.push( context, xml ); + matcher = addMatcher( matcher, Expr.filter[ token.part ].apply( null, token.captures ) ); + } + } + + return matcher; +} + +function matcherFromGroupMatchers( matchers ) { + return function( elem, context ) { + var matcher, + j = 0; + for ( ; (matcher = matchers[j]); j++ ) { + if ( matcher(elem, context) ) { + return true; + } + } + return false; + }; +} + +var compile = Sizzle.compile = function( selector, context, xml ) { + var tokens, group, i, + cached = compilerCache[ selector ]; + + // Return a cached group function if already generated (context dependent) + if ( cached && cached.context === context ) { + return cached; + } + + // Generate a function of recursive functions that can be used to check each element + group = tokenize( selector, context, xml ); + for ( i = 0; (tokens = group[i]); i++ ) { + group[i] = matcherFromTokens( tokens, context, xml ); + } + + // Cache the compiled function + cached = compilerCache[ selector ] = matcherFromGroupMatchers( group ); + cached.context = context; + cached.runs = cached.dirruns = 0; + cachedSelectors.push( selector ); + // Ensure only the most recent are cached + if ( cachedSelectors.length > Expr.cacheLength ) { + delete compilerCache[ cachedSelectors.shift() ]; + } + return cached; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + return Sizzle( expr, null, null, [ elem ] ).length > 0; +}; + +var select = function( selector, context, results, seed, xml ) { + // Remove excessive whitespace + selector = selector.replace( rtrim, "$1" ); + var elements, matcher, i, len, elem, token, + type, findContext, notTokens, + match = selector.match( rgroups ), + tokens = selector.match( rtokens ), + contextNodeType = context.nodeType; + + // POS handling + if ( matchExpr["POS"].test(selector) ) { + return handlePOS( selector, context, results, seed, match ); + } + + if ( seed ) { + elements = slice.call( seed, 0 ); + + // To maintain document order, only narrow the + // set if there is one group + } else if ( match && match.length === 1 ) { + + // Take a shortcut and set the context if the root selector is an ID + if ( tokens.length > 1 && contextNodeType === 9 && !xml && + (match = matchExpr["ID"].exec( tokens[0] )) ) { + + context = Expr.find["ID"]( match[1], context, xml )[0]; + if ( !context ) { + return results; + } + + selector = selector.slice( tokens.shift().length ); + } + + findContext = ( (match = rsibling.exec( tokens[0] )) && !match.index && context.parentNode ) || context; + + // Get the last token, excluding :not + notTokens = tokens.pop(); + token = notTokens.split(":not")[0]; + + for ( i = 0, len = Expr.order.length; i < len; i++ ) { + type = Expr.order[i]; + + if ( (match = matchExpr[ type ].exec( token )) ) { + elements = Expr.find[ type ]( (match[1] || "").replace( rbackslash, "" ), findContext, xml ); + + if ( elements == null ) { + continue; + } + + if ( token === notTokens ) { + selector = selector.slice( 0, selector.length - notTokens.length ) + + token.replace( matchExpr[ type ], "" ); + + if ( !selector ) { + push.apply( results, slice.call(elements, 0) ); + } + } + break; + } + } + } + + // Only loop over the given elements once + // If selector is empty, we're already done + if ( selector ) { + matcher = compile( selector, context, xml ); + dirruns = matcher.dirruns++; + + if ( elements == null ) { + elements = Expr.find["TAG"]( "*", (rsibling.test( selector ) && context.parentNode) || context ); + } + for ( i = 0; (elem = elements[i]); i++ ) { + cachedruns = matcher.runs++; + if ( matcher(elem, context) ) { + results.push( elem ); + } + } + } + + return results; +}; + +if ( document.querySelectorAll ) { + (function() { + var disconnectedMatch, + oldSelect = select, + rescape = /'|\\/g, + rattributeQuotes = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g, + rbuggyQSA = [], + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + // A support test would require too much code (would include document ready) + // just skip matchesSelector for :active + rbuggyMatches = [":active"], + matches = docElem.matchesSelector || + docElem.mozMatchesSelector || + docElem.webkitMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector; + + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( div ) { + div.innerHTML = ""; + + // IE8 - Some boolean attributes are not treated correctly + if ( !div.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here (do not put tests after this one) + if ( !div.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + }); + + assert(function( div ) { + + // Opera 10-12/IE9 - ^= $= *= and empty values + // Should not select anything + div.innerHTML = "

"; + if ( div.querySelectorAll("[test^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:\"\"|'')" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here (do not put tests after this one) + div.innerHTML = ""; + if ( !div.querySelectorAll(":enabled").length ) { + rbuggyQSA.push(":enabled", ":disabled"); + } + }); + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + + select = function( selector, context, results, seed, xml ) { + // Only use querySelectorAll when not filtering, + // when this is not xml, + // and when no QSA bugs apply + if ( !seed && !xml && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + if ( context.nodeType === 9 ) { + try { + push.apply( results, slice.call(context.querySelectorAll( selector ), 0) ); + return results; + } catch(qsaError) {} + // qSA works strangely on Element-rooted queries + // We can work around this by specifying an extra ID on the root + // and working up from there (Thanks to Andrew Dupont for the technique) + // IE 8 doesn't work on object elements + } else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + var old = context.getAttribute("id"), + nid = old || expando, + newContext = rsibling.test( selector ) && context.parentNode || context; + + if ( old ) { + nid = nid.replace( rescape, "\\$&" ); + } else { + context.setAttribute( "id", nid ); + } + + try { + push.apply( results, slice.call( newContext.querySelectorAll( + selector.replace( rgroups, "[id='" + nid + "'] $&" ) + ), 0 ) ); + return results; + } catch(qsaError) { + } finally { + if ( !old ) { + context.removeAttribute("id"); + } + } + } + } + + return oldSelect( selector, context, results, seed, xml ); + }; + + if ( matches ) { + assert(function( div ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + disconnectedMatch = matches.call( div, "div" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + try { + matches.call( div, "[test!='']:sizzle" ); + rbuggyMatches.push( Expr.match.PSEUDO ); + } catch ( e ) {} + }); + + // rbuggyMatches always contains :active, so no need for a length check + rbuggyMatches = /* rbuggyMatches.length && */ new RegExp( rbuggyMatches.join("|") ); + + Sizzle.matchesSelector = function( elem, expr ) { + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + // rbuggyMatches always contains :active, so no need for an existence check + if ( !isXML( elem ) && !rbuggyMatches.test( expr ) && (!rbuggyQSA || !rbuggyQSA.test( expr )) ) { + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch(e) {} + } + + return Sizzle( expr, null, null, [ elem ] ).length > 0; + }; + } + })(); +} + +// Override sizzle attribute retrieval +Sizzle.attr = jQuery.attr; +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[":"] = jQuery.expr.pseudos; +jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + +})( window ); +var runtil = /Until$/, + rparentsprev = /^(?:parents|prev(?:Until|All))/, + isSimple = /^.[^:#\[\.,]*$/, + rneedsContext = jQuery.expr.match.needsContext, + // methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend({ + find: function( selector ) { + var i, l, length, n, r, ret, + self = this; + + if ( typeof selector !== "string" ) { + return jQuery( selector ).filter(function() { + for ( i = 0, l = self.length; i < l; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + }); + } + + ret = this.pushStack( "", "find", selector ); + + for ( i = 0, l = this.length; i < l; i++ ) { + length = ret.length; + jQuery.find( selector, this[i], ret ); + + if ( i > 0 ) { + // Make sure that the results are unique + for ( n = length; n < ret.length; n++ ) { + for ( r = 0; r < length; r++ ) { + if ( ret[r] === ret[n] ) { + ret.splice(n--, 1); + break; + } + } + } + } + } + + return ret; + }, + + has: function( target ) { + var i, + targets = jQuery( target, this ), + len = targets.length; + + return this.filter(function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( this, targets[i] ) ) { + return true; + } + } + }); + }, + + not: function( selector ) { + return this.pushStack( winnow(this, selector, false), "not", selector); + }, + + filter: function( selector ) { + return this.pushStack( winnow(this, selector, true), "filter", selector ); + }, + + is: function( selector ) { + return !!selector && ( + typeof selector === "string" ? + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + rneedsContext.test( selector ) ? + jQuery( selector, this.context ).index( this[0] ) >= 0 : + jQuery.filter( selector, this ).length > 0 : + this.filter( selector ).length > 0 ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + ret = [], + pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? + jQuery( selectors, context || this.context ) : + 0; + + for ( ; i < l; i++ ) { + cur = this[i]; + + while ( cur && cur.ownerDocument && cur !== context && cur.nodeType !== 11 ) { + if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) { + ret.push( cur ); + break; + } + cur = cur.parentNode; + } + } + + ret = ret.length > 1 ? jQuery.unique( ret ) : ret; + + return this.pushStack( ret, "closest", selectors ); + }, + + // Determine the position of an element within + // the matched set of elements + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[0] && this[0].parentNode ) ? this.prevAll().length : -1; + } + + // index in selector + if ( typeof elem === "string" ) { + return jQuery.inArray( this[0], jQuery( elem ) ); + } + + // Locate the position of the desired element + return jQuery.inArray( + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[0] : elem, this ); + }, + + add: function( selector, context ) { + var set = typeof selector === "string" ? + jQuery( selector, context ) : + jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ), + all = jQuery.merge( this.get(), set ); + + return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ? + all : + jQuery.unique( all ) ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter(selector) + ); + } +}); + +jQuery.fn.andSelf = jQuery.fn.addBack; + +// A painfully simple check to see if an element is disconnected +// from a document (should be improved, where feasible). +function isDisconnected( node ) { + return !node || !node.parentNode || node.parentNode.nodeType === 11; +} + +function sibling( cur, dir ) { + do { + cur = cur[ dir ]; + } while ( cur && cur.nodeType !== 1 ); + + return cur; +} + +jQuery.each({ + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return jQuery.dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return jQuery.dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return jQuery.dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return jQuery.dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return jQuery.dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return jQuery.dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return jQuery.sibling( elem.firstChild ); + }, + contents: function( elem ) { + return jQuery.nodeName( elem, "iframe" ) ? + elem.contentDocument || elem.contentWindow.document : + jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var ret = jQuery.map( this, fn, until ); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; + + if ( this.length > 1 && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret, name, core_slice.call( arguments ).join(",") ); + }; +}); + +jQuery.extend({ + filter: function( expr, elems, not ) { + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 ? + jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] : + jQuery.find.matches(expr, elems); + }, + + dir: function( elem, dir, until ) { + var matched = [], + cur = elem[ dir ]; + + while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { + if ( cur.nodeType === 1 ) { + matched.push( cur ); + } + cur = cur[dir]; + } + return matched; + }, + + sibling: function( n, elem ) { + var r = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + r.push( n ); + } + } + + return r; + } +}); + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, keep ) { + + // Can't pass null or undefined to indexOf in Firefox 4 + // Set to 0 to skip string check + qualifier = qualifier || 0; + + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep(elements, function( elem, i ) { + var retVal = !!qualifier.call( elem, i, elem ); + return retVal === keep; + }); + + } else if ( qualifier.nodeType ) { + return jQuery.grep(elements, function( elem, i ) { + return ( elem === qualifier ) === keep; + }); + + } else if ( typeof qualifier === "string" ) { + var filtered = jQuery.grep(elements, function( elem ) { + return elem.nodeType === 1; + }); + + if ( isSimple.test( qualifier ) ) { + return jQuery.filter(qualifier, filtered, !keep); + } else { + qualifier = jQuery.filter( qualifier, filtered ); + } + } + + return jQuery.grep(elements, function( elem, i ) { + return ( jQuery.inArray( elem, qualifier ) >= 0 ) === keep; + }); +} +function createSafeFragment( document ) { + var list = nodeNames.split( "|" ), + safeFrag = document.createDocumentFragment(); + + if ( safeFrag.createElement ) { + while ( list.length ) { + safeFrag.createElement( + list.pop() + ); + } + } + return safeFrag; +} + +var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" + + "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", + rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g, + rleadingWhitespace = /^\s+/, + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, + rtagName = /<([\w:]+)/, + rtbody = /]", "i"), + rcheckableType = /^(?:checkbox|radio)$/, + // checked="checked" or checked + rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, + rscriptType = /\/(java|ecma)script/i, + rcleanScript = /^\s*\s*$/g, + wrapMap = { + option: [ 1, "" ], + legend: [ 1, "
", "
" ], + thead: [ 1, "", "
" ], + tr: [ 2, "", "
" ], + td: [ 3, "", "
" ], + col: [ 2, "", "
" ], + area: [ 1, "", "" ], + _default: [ 0, "", "" ] + }, + safeFragment = createSafeFragment( document ), + fragmentDiv = safeFragment.appendChild( document.createElement("div") ); + +wrapMap.optgroup = wrapMap.option; +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags, +// unless wrapped in a div with non-breaking characters in front of it. +if ( !jQuery.support.htmlSerialize ) { + wrapMap._default = [ 1, "X
", "
" ]; +} + +jQuery.fn.extend({ + text: function( value ) { + return jQuery.access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) ); + }, null, value, arguments.length ); + }, + + wrapAll: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapAll( html.call(this, i) ); + }); + } + + if ( this[0] ) { + // The elements to wrap the target around + var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true); + + if ( this[0].parentNode ) { + wrap.insertBefore( this[0] ); + } + + wrap.map(function() { + var elem = this; + + while ( elem.firstChild && elem.firstChild.nodeType === 1 ) { + elem = elem.firstChild; + } + + return elem; + }).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapInner( html.call(this, i) ); + }); + } + + return this.each(function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + }); + }, + + wrap: function( html ) { + var isFunction = jQuery.isFunction( html ); + + return this.each(function(i) { + jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html ); + }); + }, + + unwrap: function() { + return this.parent().each(function() { + if ( !jQuery.nodeName( this, "body" ) ) { + jQuery( this ).replaceWith( this.childNodes ); + } + }).end(); + }, + + append: function() { + return this.domManip(arguments, true, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 ) { + this.appendChild( elem ); + } + }); + }, + + prepend: function() { + return this.domManip(arguments, true, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 ) { + this.insertBefore( elem, this.firstChild ); + } + }); + }, + + before: function() { + if ( !isDisconnected( this[0] ) ) { + return this.domManip(arguments, false, function( elem ) { + this.parentNode.insertBefore( elem, this ); + }); + } + + if ( arguments.length ) { + var set = jQuery.clean( arguments ); + return this.pushStack( jQuery.merge( set, this ), "before", this.selector ); + } + }, + + after: function() { + if ( !isDisconnected( this[0] ) ) { + return this.domManip(arguments, false, function( elem ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + }); + } + + if ( arguments.length ) { + var set = jQuery.clean( arguments ); + return this.pushStack( jQuery.merge( this, set ), "after", this.selector ); + } + }, + + // keepData is for internal use only--do not document + remove: function( selector, keepData ) { + var elem, + i = 0; + + for ( ; (elem = this[i]) != null; i++ ) { + if ( !selector || jQuery.filter( selector, [ elem ] ).length ) { + if ( !keepData && elem.nodeType === 1 ) { + jQuery.cleanData( elem.getElementsByTagName("*") ); + jQuery.cleanData( [ elem ] ); + } + + if ( elem.parentNode ) { + elem.parentNode.removeChild( elem ); + } + } + } + + return this; + }, + + empty: function() { + var elem, + i = 0; + + for ( ; (elem = this[i]) != null; i++ ) { + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( elem.getElementsByTagName("*") ); + } + + // Remove any remaining nodes + while ( elem.firstChild ) { + elem.removeChild( elem.firstChild ); + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function () { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + }); + }, + + html: function( value ) { + return jQuery.access( this, function( value ) { + var elem = this[0] || {}, + i = 0, + l = this.length; + + if ( value === undefined ) { + return elem.nodeType === 1 ? + elem.innerHTML.replace( rinlinejQuery, "" ) : + undefined; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + ( jQuery.support.htmlSerialize || !rnoshimcache.test( value ) ) && + ( jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value ) ) && + !wrapMap[ ( rtagName.exec( value ) || ["", ""] )[1].toLowerCase() ] ) { + + value = value.replace( rxhtmlTag, "<$1>" ); + + try { + for (; i < l; i++ ) { + // Remove element nodes and prevent memory leaks + elem = this[i] || {}; + if ( elem.nodeType === 1 ) { + jQuery.cleanData( elem.getElementsByTagName( "*" ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch(e) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function( value ) { + if ( !isDisconnected( this[0] ) ) { + // Make sure that the elements are removed from the DOM before they are inserted + // this can help fix replacing a parent with child elements + if ( jQuery.isFunction( value ) ) { + return this.each(function(i) { + var self = jQuery(this), old = self.html(); + self.replaceWith( value.call( this, i, old ) ); + }); + } + + if ( typeof value !== "string" ) { + value = jQuery( value ).detach(); + } + + return this.each(function() { + var next = this.nextSibling, + parent = this.parentNode; + + jQuery( this ).remove(); + + if ( next ) { + jQuery(next).before( value ); + } else { + jQuery(parent).append( value ); + } + }); + } + + return this.length ? + this.pushStack( jQuery(jQuery.isFunction(value) ? value() : value), "replaceWith", value ) : + this; + }, + + detach: function( selector ) { + return this.remove( selector, true ); + }, + + domManip: function( args, table, callback ) { + + // Flatten any nested arrays + args = [].concat.apply( [], args ); + + var results, first, fragment, iNoClone, + i = 0, + value = args[0], + scripts = [], + l = this.length; + + // We can't cloneNode fragments that contain checked, in WebKit + if ( !jQuery.support.checkClone && l > 1 && typeof value === "string" && rchecked.test( value ) ) { + return this.each(function() { + jQuery(this).domManip( args, table, callback ); + }); + } + + if ( jQuery.isFunction(value) ) { + return this.each(function(i) { + var self = jQuery(this); + args[0] = value.call( this, i, table ? self.html() : undefined ); + self.domManip( args, table, callback ); + }); + } + + if ( this[0] ) { + results = jQuery.buildFragment( args, this, scripts ); + fragment = results.fragment; + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + if ( first ) { + table = table && jQuery.nodeName( first, "tr" ); + + // Use the original fragment for the last item instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + // Fragments from the fragment cache must always be cloned and never used in place. + for ( iNoClone = results.cacheable || l - 1; i < l; i++ ) { + callback.call( + table && jQuery.nodeName( this[i], "table" ) ? + findOrAppend( this[i], "tbody" ) : + this[i], + i === iNoClone ? + fragment : + jQuery.clone( fragment, true, true ) + ); + } + } + + // Fix #11809: Avoid leaking memory + fragment = first = null; + + if ( scripts.length ) { + jQuery.each( scripts, function( i, elem ) { + if ( elem.src ) { + if ( jQuery.ajax ) { + jQuery.ajax({ + url: elem.src, + type: "GET", + dataType: "script", + async: false, + global: false, + "throws": true + }); + } else { + jQuery.error("no ajax"); + } + } else { + jQuery.globalEval( ( elem.text || elem.textContent || elem.innerHTML || "" ).replace( rcleanScript, "" ) ); + } + + if ( elem.parentNode ) { + elem.parentNode.removeChild( elem ); + } + }); + } + } + + return this; + } +}); + +function findOrAppend( elem, tag ) { + return elem.getElementsByTagName( tag )[0] || elem.appendChild( elem.ownerDocument.createElement( tag ) ); +} + +function cloneCopyEvent( src, dest ) { + + if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) { + return; + } + + var type, i, l, + oldData = jQuery._data( src ), + curData = jQuery._data( dest, oldData ), + events = oldData.events; + + if ( events ) { + delete curData.handle; + curData.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + + // make the cloned public data object a copy from the original + if ( curData.data ) { + curData.data = jQuery.extend( {}, curData.data ); + } +} + +function cloneFixAttributes( src, dest ) { + var nodeName; + + // We do not need to do anything for non-Elements + if ( dest.nodeType !== 1 ) { + return; + } + + // clearAttributes removes the attributes, which we don't want, + // but also removes the attachEvent events, which we *do* want + if ( dest.clearAttributes ) { + dest.clearAttributes(); + } + + // mergeAttributes, in contrast, only merges back on the + // original attributes, not the events + if ( dest.mergeAttributes ) { + dest.mergeAttributes( src ); + } + + nodeName = dest.nodeName.toLowerCase(); + + if ( nodeName === "object" ) { + // IE6-10 improperly clones children of object elements using classid. + // IE10 throws NoModificationAllowedError if parent is null, #12132. + if ( dest.parentNode ) { + dest.outerHTML = src.outerHTML; + } + + // This path appears unavoidable for IE9. When cloning an object + // element in IE9, the outerHTML strategy above is not sufficient. + // If the src has innerHTML and the destination does not, + // copy the src.innerHTML into the dest.innerHTML. #10324 + if ( jQuery.support.html5Clone && (src.innerHTML && !jQuery.trim(dest.innerHTML)) ) { + dest.innerHTML = src.innerHTML; + } + + } else if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + // IE6-8 fails to persist the checked state of a cloned checkbox + // or radio button. Worse, IE6-7 fail to give the cloned element + // a checked appearance if the defaultChecked value isn't also set + + dest.defaultChecked = dest.checked = src.checked; + + // IE6-7 get confused and end up setting the value of a cloned + // checkbox/radio button to an empty string instead of "on" + if ( dest.value !== src.value ) { + dest.value = src.value; + } + + // IE6-8 fails to return the selected option to the default selected + // state when cloning options + } else if ( nodeName === "option" ) { + dest.selected = src.defaultSelected; + + // IE6-8 fails to set the defaultValue to the correct value when + // cloning other types of input fields + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + + // IE blanks contents when cloning scripts + } else if ( nodeName === "script" && dest.text !== src.text ) { + dest.text = src.text; + } + + // Event data gets referenced instead of copied if the expando + // gets copied too + dest.removeAttribute( jQuery.expando ); +} + +jQuery.buildFragment = function( args, context, scripts ) { + var fragment, cacheable, cachehit, + first = args[ 0 ]; + + // Set context from what may come in as undefined or a jQuery collection or a node + context = context || document; + context = (context[0] || context).ownerDocument || context[0] || context; + + // Ensure that an attr object doesn't incorrectly stand in as a document object + // Chrome and Firefox seem to allow this to occur and will throw exception + // Fixes #8950 + if ( typeof context.createDocumentFragment === "undefined" ) { + context = document; + } + + // Only cache "small" (1/2 KB) HTML strings that are associated with the main document + // Cloning options loses the selected state, so don't cache them + // IE 6 doesn't like it when you put or elements in a fragment + // Also, WebKit does not clone 'checked' attributes on cloneNode, so don't cache + // Lastly, IE6,7,8 will not correctly reuse cached fragments that were created from unknown elems #10501 + if ( args.length === 1 && typeof first === "string" && first.length < 512 && context === document && + first.charAt(0) === "<" && !rnocache.test( first ) && + (jQuery.support.checkClone || !rchecked.test( first )) && + (jQuery.support.html5Clone || !rnoshimcache.test( first )) ) { + + // Mark cacheable and look for a hit + cacheable = true; + fragment = jQuery.fragments[ first ]; + cachehit = fragment !== undefined; + } + + if ( !fragment ) { + fragment = context.createDocumentFragment(); + jQuery.clean( args, context, fragment, scripts ); + + // Update the cache, but only store false + // unless this is a second parsing of the same content + if ( cacheable ) { + jQuery.fragments[ first ] = cachehit && fragment; + } + } + + return { fragment: fragment, cacheable: cacheable }; +}; + +jQuery.fragments = {}; + +jQuery.each({ + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + i = 0, + ret = [], + insert = jQuery( selector ), + l = insert.length, + parent = this.length === 1 && this[0].parentNode; + + if ( (parent == null || parent && parent.nodeType === 11 && parent.childNodes.length === 1) && l === 1 ) { + insert[ original ]( this[0] ); + return this; + } else { + for ( ; i < l; i++ ) { + elems = ( i > 0 ? this.clone(true) : this ).get(); + jQuery( insert[i] )[ original ]( elems ); + ret = ret.concat( elems ); + } + + return this.pushStack( ret, name, insert.selector ); + } + }; +}); + +function getAll( elem ) { + if ( typeof elem.getElementsByTagName !== "undefined" ) { + return elem.getElementsByTagName( "*" ); + + } else if ( typeof elem.querySelectorAll !== "undefined" ) { + return elem.querySelectorAll( "*" ); + + } else { + return []; + } +} + +// Used in clean, fixes the defaultChecked property +function fixDefaultChecked( elem ) { + if ( rcheckableType.test( elem.type ) ) { + elem.defaultChecked = elem.checked; + } +} + +jQuery.extend({ + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var srcElements, + destElements, + i, + clone; + + if ( jQuery.support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) { + clone = elem.cloneNode( true ); + + // IE<=8 does not properly clone detached, unknown element nodes + } else { + fragmentDiv.innerHTML = elem.outerHTML; + fragmentDiv.removeChild( clone = fragmentDiv.firstChild ); + } + + if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) && + (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) { + // IE copies events bound via attachEvent when using cloneNode. + // Calling detachEvent on the clone will also remove the events + // from the original. In order to get around this, we use some + // proprietary methods to clear the events. Thanks to MooTools + // guys for this hotness. + + cloneFixAttributes( elem, clone ); + + // Using Sizzle here is crazy slow, so we use getElementsByTagName instead + srcElements = getAll( elem ); + destElements = getAll( clone ); + + // Weird iteration because IE will replace the length property + // with an element if you are cloning the body and one of the + // elements on the page has a name or id of "length" + for ( i = 0; srcElements[i]; ++i ) { + // Ensure that the destination node is not null; Fixes #9587 + if ( destElements[i] ) { + cloneFixAttributes( srcElements[i], destElements[i] ); + } + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + cloneCopyEvent( elem, clone ); + + if ( deepDataAndEvents ) { + srcElements = getAll( elem ); + destElements = getAll( clone ); + + for ( i = 0; srcElements[i]; ++i ) { + cloneCopyEvent( srcElements[i], destElements[i] ); + } + } + } + + srcElements = destElements = null; + + // Return the cloned set + return clone; + }, + + clean: function( elems, context, fragment, scripts ) { + var j, safe, elem, tag, wrap, depth, div, hasBody, tbody, len, handleScript, jsTags, + i = 0, + ret = []; + + // Ensure that context is a document + if ( !context || typeof context.createDocumentFragment === "undefined" ) { + context = document; + } + + // Use the already-created safe fragment if context permits + for ( safe = context === document && safeFragment; (elem = elems[i]) != null; i++ ) { + if ( typeof elem === "number" ) { + elem += ""; + } + + if ( !elem ) { + continue; + } + + // Convert html string into DOM nodes + if ( typeof elem === "string" ) { + if ( !rhtml.test( elem ) ) { + elem = context.createTextNode( elem ); + } else { + // Ensure a safe container in which to render the html + safe = safe || createSafeFragment( context ); + div = div || safe.appendChild( context.createElement("div") ); + + // Fix "XHTML"-style tags in all browsers + elem = elem.replace(rxhtmlTag, "<$1>"); + + // Go to html and back, then peel off extra wrappers + tag = ( rtagName.exec( elem ) || ["", ""] )[1].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + depth = wrap[0]; + div.innerHTML = wrap[1] + elem + wrap[2]; + + // Move to the right depth + while ( depth-- ) { + div = div.lastChild; + } + + // Remove IE's autoinserted from table fragments + if ( !jQuery.support.tbody ) { + + // String was a , *may* have spurious + hasBody = rtbody.test(elem); + tbody = tag === "table" && !hasBody ? + div.firstChild && div.firstChild.childNodes : + + // String was a bare or + wrap[1] === "
" && !hasBody ? + div.childNodes : + []; + + for ( j = tbody.length - 1; j >= 0 ; --j ) { + if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length ) { + tbody[ j ].parentNode.removeChild( tbody[ j ] ); + } + } + } + + // IE completely kills leading whitespace when innerHTML is used + if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { + div.insertBefore( context.createTextNode( rleadingWhitespace.exec(elem)[0] ), div.firstChild ); + } + + elem = div.childNodes; + + // Remember the top-level container for proper cleanup + div = safe.lastChild; + } + } + + if ( elem.nodeType ) { + ret.push( elem ); + } else { + ret = jQuery.merge( ret, elem ); + } + } + + // Fix #11356: Clear elements from safeFragment + if ( div ) { + safe.removeChild( div ); + elem = div = safe = null; + } + + // Reset defaultChecked for any radios and checkboxes + // about to be appended to the DOM in IE 6/7 (#8060) + if ( !jQuery.support.appendChecked ) { + for ( i = 0; (elem = ret[i]) != null; i++ ) { + if ( jQuery.nodeName( elem, "input" ) ) { + fixDefaultChecked( elem ); + } else if ( typeof elem.getElementsByTagName !== "undefined" ) { + jQuery.grep( elem.getElementsByTagName("input"), fixDefaultChecked ); + } + } + } + + // Append elements to a provided document fragment + if ( fragment ) { + // Special handling of each script element + handleScript = function( elem ) { + // Check if we consider it executable + if ( !elem.type || rscriptType.test( elem.type ) ) { + // Detach the script and store it in the scripts array (if provided) or the fragment + // Return truthy to indicate that it has been handled + return scripts ? + scripts.push( elem.parentNode ? elem.parentNode.removeChild( elem ) : elem ) : + fragment.appendChild( elem ); + } + }; + + for ( i = 0; (elem = ret[i]) != null; i++ ) { + // Check if we're done after handling an executable script + if ( !( jQuery.nodeName( elem, "script" ) && handleScript( elem ) ) ) { + // Append to fragment and handle embedded scripts + fragment.appendChild( elem ); + if ( typeof elem.getElementsByTagName !== "undefined" ) { + // handleScript alters the DOM, so use jQuery.merge to ensure snapshot iteration + jsTags = jQuery.grep( jQuery.merge( [], elem.getElementsByTagName("script") ), handleScript ); + + // Splice the scripts into ret after their former ancestor and advance our index beyond them + ret.splice.apply( ret, [i + 1, 0].concat( jsTags ) ); + i += jsTags.length; + } + } + } + } + + return ret; + }, + + cleanData: function( elems, /* internal */ acceptData ) { + var data, id, elem, type, + i = 0, + internalKey = jQuery.expando, + cache = jQuery.cache, + deleteExpando = jQuery.support.deleteExpando, + special = jQuery.event.special; + + for ( ; (elem = elems[i]) != null; i++ ) { + + if ( acceptData || jQuery.acceptData( elem ) ) { + + id = elem[ internalKey ]; + data = id && cache[ id ]; + + if ( data ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Remove cache only if it was not already removed by jQuery.event.remove + if ( cache[ id ] ) { + + delete cache[ id ]; + + // IE does not allow us to delete expando properties from nodes, + // nor does it have a removeAttribute function on Document nodes; + // we must handle all of these cases + if ( deleteExpando ) { + delete elem[ internalKey ]; + + } else if ( elem.removeAttribute ) { + elem.removeAttribute( internalKey ); + + } else { + elem[ internalKey ] = null; + } + + jQuery.deletedIds.push( id ); + } + } + } + } + } +}); +// Limit scope pollution from any deprecated API +(function() { + +var matched, browser; + +// Use of jQuery.browser is frowned upon. +// More details: http://api.jquery.com/jQuery.browser +// jQuery.uaMatch maintained for back-compat +jQuery.uaMatch = function( ua ) { + ua = ua.toLowerCase(); + + var match = /(chrome)[ \/]([\w.]+)/.exec( ua ) || + /(webkit)[ \/]([\w.]+)/.exec( ua ) || + /(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) || + /(msie) ([\w.]+)/.exec( ua ) || + ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) || + []; + + return { + browser: match[ 1 ] || "", + version: match[ 2 ] || "0" + }; +}; + +matched = jQuery.uaMatch( navigator.userAgent ); +browser = {}; + +if ( matched.browser ) { + browser[ matched.browser ] = true; + browser.version = matched.version; +} + +// Deprecated, use jQuery.browser.webkit instead +// Maintained for back-compat only +if ( browser.webkit ) { + browser.safari = true; +} + +jQuery.browser = browser; + +jQuery.sub = function() { + function jQuerySub( selector, context ) { + return new jQuerySub.fn.init( selector, context ); + } + jQuery.extend( true, jQuerySub, this ); + jQuerySub.superclass = this; + jQuerySub.fn = jQuerySub.prototype = this(); + jQuerySub.fn.constructor = jQuerySub; + jQuerySub.sub = this.sub; + jQuerySub.fn.init = function init( selector, context ) { + if ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) { + context = jQuerySub( context ); + } + + return jQuery.fn.init.call( this, selector, context, rootjQuerySub ); + }; + jQuerySub.fn.init.prototype = jQuerySub.fn; + var rootjQuerySub = jQuerySub(document); + return jQuerySub; +}; + +})(); +var curCSS, iframe, iframeDoc, + ralpha = /alpha\([^)]*\)/i, + ropacity = /opacity=([^)]*)/, + rposition = /^(top|right|bottom|left)$/, + rmargin = /^margin/, + rnumsplit = new RegExp( "^(" + core_pnum + ")(.*)$", "i" ), + rnumnonpx = new RegExp( "^(" + core_pnum + ")(?!px)[a-z%]+$", "i" ), + rrelNum = new RegExp( "^([-+])=(" + core_pnum + ")", "i" ), + elemdisplay = {}, + + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: 0, + fontWeight: 400, + lineHeight: 1 + }, + + cssExpand = [ "Top", "Right", "Bottom", "Left" ], + cssPrefixes = [ "Webkit", "O", "Moz", "ms" ], + + eventsToggle = jQuery.fn.toggle; + +// return a css property mapped to a potentially vendor prefixed property +function vendorPropName( style, name ) { + + // shortcut for names that are not vendor prefixed + if ( name in style ) { + return name; + } + + // check for vendor prefixed names + var capName = name.charAt(0).toUpperCase() + name.slice(1), + origName = name, + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in style ) { + return name; + } + } + + return origName; +} + +function isHidden( elem, el ) { + elem = el || elem; + return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); +} + +function showHide( elements, show ) { + var elem, display, + values = [], + index = 0, + length = elements.length; + + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + values[ index ] = jQuery._data( elem, "olddisplay" ); + if ( show ) { + // Reset the inline display of this element to learn if it is + // being hidden by cascaded rules or not + if ( !values[ index ] && elem.style.display === "none" ) { + elem.style.display = ""; + } + + // Set elements which have been overridden with display: none + // in a stylesheet to whatever the default browser style is + // for such an element + if ( elem.style.display === "" && isHidden( elem ) ) { + values[ index ] = jQuery._data( elem, "olddisplay", css_defaultDisplay(elem.nodeName) ); + } + } else { + display = curCSS( elem, "display" ); + + if ( !values[ index ] && display !== "none" ) { + jQuery._data( elem, "olddisplay", display ); + } + } + } + + // Set the display of most of the elements in a second loop + // to avoid the constant reflow + for ( index = 0; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + if ( !show || elem.style.display === "none" || elem.style.display === "" ) { + elem.style.display = show ? values[ index ] || "" : "none"; + } + } + + return elements; +} + +jQuery.fn.extend({ + css: function( name, value ) { + return jQuery.access( this, function( elem, name, value ) { + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + }, + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state, fn2 ) { + var bool = typeof state === "boolean"; + + if ( jQuery.isFunction( state ) && jQuery.isFunction( fn2 ) ) { + return eventsToggle.apply( this, arguments ); + } + + return this.each(function() { + if ( bool ? state : isHidden( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + }); + } +}); + +jQuery.extend({ + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + + } + } + } + }, + + // Exclude the following css properties to add px + cssNumber: { + "fillOpacity": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: { + // normalize float css property + "float": jQuery.support.cssFloat ? "cssFloat" : "styleFloat" + }, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = jQuery.camelCase( name ), + style = elem.style; + + name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) ); + + // gets hook for the prefixed version + // followed by the unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // convert relative number strings (+= or -=) to relative numbers. #7345 + if ( type === "string" && (ret = rrelNum.exec( value )) ) { + value = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) ); + // Fixes bug #9237 + type = "number"; + } + + // Make sure that NaN and null values aren't set. See: #7116 + if ( value == null || type === "number" && isNaN( value ) ) { + return; + } + + // If a number was passed in, add 'px' to the (except for certain CSS properties) + if ( type === "number" && !jQuery.cssNumber[ origName ] ) { + value += "px"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) { + // Wrapped to prevent IE from throwing errors when 'invalid' values are provided + // Fixes bug #5509 + try { + style[ name ] = value; + } catch(e) {} + } + + } else { + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) { + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, numeric, extra ) { + var val, num, hooks, + origName = jQuery.camelCase( name ); + + // Make sure that we're working with the right name + name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) ); + + // gets hook for the prefixed version + // followed by the unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name ); + } + + //convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Return, converting to number if forced or a qualifier was provided and val looks numeric + if ( numeric || extra !== undefined ) { + num = parseFloat( val ); + return numeric || jQuery.isNumeric( num ) ? num || 0 : val; + } + return val; + }, + + // A method for quickly swapping in/out CSS properties to get correct calculations + swap: function( elem, options, callback ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.call( elem ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; + } +}); + +// NOTE: To any future maintainer, we've used both window.getComputedStyle +// and getComputedStyle here to produce a better gzip size +if ( window.getComputedStyle ) { + curCSS = function( elem, name ) { + var ret, width, minWidth, maxWidth, + computed = getComputedStyle( elem, null ), + style = elem.style; + + if ( computed ) { + + ret = computed[ name ]; + if ( ret === "" && !jQuery.contains( elem.ownerDocument.documentElement, elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right + // Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels + // this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values + if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) { + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret; + }; +} else if ( document.documentElement.currentStyle ) { + curCSS = function( elem, name ) { + var left, rsLeft, + ret = elem.currentStyle && elem.currentStyle[ name ], + style = elem.style; + + // Avoid setting ret to empty string here + // so we don't default to auto + if ( ret == null && style && style[ name ] ) { + ret = style[ name ]; + } + + // From the awesome hack by Dean Edwards + // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 + + // If we're not dealing with a regular pixel number + // but a number that has a weird ending, we need to convert it to pixels + // but not position css attributes, as those are proportional to the parent element instead + // and we can't measure the parent instead because it might trigger a "stacking dolls" problem + if ( rnumnonpx.test( ret ) && !rposition.test( name ) ) { + + // Remember the original values + left = style.left; + rsLeft = elem.runtimeStyle && elem.runtimeStyle.left; + + // Put in the new values to get a computed value out + if ( rsLeft ) { + elem.runtimeStyle.left = elem.currentStyle.left; + } + style.left = name === "fontSize" ? "1em" : ret; + ret = style.pixelLeft + "px"; + + // Revert the changed values + style.left = left; + if ( rsLeft ) { + elem.runtimeStyle.left = rsLeft; + } + } + + return ret === "" ? "auto" : ret; + }; +} + +function setPositiveNumber( elem, value, subtract ) { + var matches = rnumsplit.exec( value ); + return matches ? + Math.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || "px" ) : + value; +} + +function augmentWidthOrHeight( elem, name, extra, isBorderBox ) { + var i = extra === ( isBorderBox ? "border" : "content" ) ? + // If we already have the right measurement, avoid augmentation + 4 : + // Otherwise initialize for horizontal or vertical properties + name === "width" ? 1 : 0, + + val = 0; + + for ( ; i < 4; i += 2 ) { + // both box models exclude margin, so add it if we want it + if ( extra === "margin" ) { + // we use jQuery.css instead of curCSS here + // because of the reliableMarginRight CSS hook! + val += jQuery.css( elem, extra + cssExpand[ i ], true ); + } + + // From this point on we use curCSS for maximum performance (relevant in animations) + if ( isBorderBox ) { + // border-box includes padding, so remove it if we want content + if ( extra === "content" ) { + val -= parseFloat( curCSS( elem, "padding" + cssExpand[ i ] ) ) || 0; + } + + // at this point, extra isn't border nor margin, so remove border + if ( extra !== "margin" ) { + val -= parseFloat( curCSS( elem, "border" + cssExpand[ i ] + "Width" ) ) || 0; + } + } else { + // at this point, extra isn't content, so add padding + val += parseFloat( curCSS( elem, "padding" + cssExpand[ i ] ) ) || 0; + + // at this point, extra isn't content nor padding, so add border + if ( extra !== "padding" ) { + val += parseFloat( curCSS( elem, "border" + cssExpand[ i ] + "Width" ) ) || 0; + } + } + } + + return val; +} + +function getWidthOrHeight( elem, name, extra ) { + + // Start with offset property, which is equivalent to the border-box value + var val = name === "width" ? elem.offsetWidth : elem.offsetHeight, + valueIsBorderBox = true, + isBorderBox = jQuery.support.boxSizing && jQuery.css( elem, "boxSizing" ) === "border-box"; + + if ( val <= 0 ) { + // Fall back to computed then uncomputed css if necessary + val = curCSS( elem, name ); + if ( val < 0 || val == null ) { + val = elem.style[ name ]; + } + + // Computed unit is not pixels. Stop here and return. + if ( rnumnonpx.test(val) ) { + return val; + } + + // we need the check for style in case a browser which returns unreliable values + // for getComputedStyle silently falls back to the reliable elem.style + valueIsBorderBox = isBorderBox && ( jQuery.support.boxSizingReliable || val === elem.style[ name ] ); + + // Normalize "", auto, and prepare for extra + val = parseFloat( val ) || 0; + } + + // use the active box-sizing model to add/subtract irrelevant styles + return ( val + + augmentWidthOrHeight( + elem, + name, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox + ) + ) + "px"; +} + + +// Try to determine the default display value of an element +function css_defaultDisplay( nodeName ) { + if ( elemdisplay[ nodeName ] ) { + return elemdisplay[ nodeName ]; + } + + var elem = jQuery( "<" + nodeName + ">" ).appendTo( document.body ), + display = elem.css("display"); + elem.remove(); + + // If the simple way fails, + // get element's real default display by attaching it to a temp iframe + if ( display === "none" || display === "" ) { + // Use the already-created iframe if possible + iframe = document.body.appendChild( + iframe || jQuery.extend( document.createElement("iframe"), { + frameBorder: 0, + width: 0, + height: 0 + }) + ); + + // Create a cacheable copy of the iframe document on first call. + // IE and Opera will allow us to reuse the iframeDoc without re-writing the fake HTML + // document to it; WebKit & Firefox won't allow reusing the iframe document. + if ( !iframeDoc || !iframe.createElement ) { + iframeDoc = ( iframe.contentWindow || iframe.contentDocument ).document; + iframeDoc.write(""); + iframeDoc.close(); + } + + elem = iframeDoc.body.appendChild( iframeDoc.createElement(nodeName) ); + + display = curCSS( elem, "display" ); + document.body.removeChild( iframe ); + } + + // Store the correct default display + elemdisplay[ nodeName ] = display; + + return display; +} + +jQuery.each([ "height", "width" ], function( i, name ) { + jQuery.cssHooks[ name ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + if ( elem.offsetWidth !== 0 || curCSS( elem, "display" ) !== "none" ) { + return getWidthOrHeight( elem, name, extra ); + } else { + return jQuery.swap( elem, cssShow, function() { + return getWidthOrHeight( elem, name, extra ); + }); + } + } + }, + + set: function( elem, value, extra ) { + return setPositiveNumber( elem, value, extra ? + augmentWidthOrHeight( + elem, + name, + extra, + jQuery.support.boxSizing && jQuery.css( elem, "boxSizing" ) === "border-box" + ) : 0 + ); + } + }; +}); + +if ( !jQuery.support.opacity ) { + jQuery.cssHooks.opacity = { + get: function( elem, computed ) { + // IE uses filters for opacity + return ropacity.test( (computed && elem.currentStyle ? elem.currentStyle.filter : elem.style.filter) || "" ) ? + ( 0.01 * parseFloat( RegExp.$1 ) ) + "" : + computed ? "1" : ""; + }, + + set: function( elem, value ) { + var style = elem.style, + currentStyle = elem.currentStyle, + opacity = jQuery.isNumeric( value ) ? "alpha(opacity=" + value * 100 + ")" : "", + filter = currentStyle && currentStyle.filter || style.filter || ""; + + // IE has trouble with opacity if it does not have layout + // Force it by setting the zoom level + style.zoom = 1; + + // if setting opacity to 1, and no other filters exist - attempt to remove filter attribute #6652 + if ( value >= 1 && jQuery.trim( filter.replace( ralpha, "" ) ) === "" && + style.removeAttribute ) { + + // Setting style.filter to null, "" & " " still leave "filter:" in the cssText + // if "filter:" is present at all, clearType is disabled, we want to avoid this + // style.removeAttribute is IE Only, but so apparently is this code path... + style.removeAttribute( "filter" ); + + // if there there is no filter style applied in a css rule, we are done + if ( currentStyle && !currentStyle.filter ) { + return; + } + } + + // otherwise, set new filter values + style.filter = ralpha.test( filter ) ? + filter.replace( ralpha, opacity ) : + filter + " " + opacity; + } + }; +} + +// These hooks cannot be added until DOM ready because the support test +// for it is not run until after DOM ready +jQuery(function() { + if ( !jQuery.support.reliableMarginRight ) { + jQuery.cssHooks.marginRight = { + get: function( elem, computed ) { + // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right + // Work around by temporarily setting element display to inline-block + return jQuery.swap( elem, { "display": "inline-block" }, function() { + if ( computed ) { + return curCSS( elem, "marginRight" ); + } + }); + } + }; + } + + // Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 + // getComputedStyle returns percent when specified for top/left/bottom/right + // rather than make the css module depend on the offset module, we just check for it here + if ( !jQuery.support.pixelPosition && jQuery.fn.position ) { + jQuery.each( [ "top", "left" ], function( i, prop ) { + jQuery.cssHooks[ prop ] = { + get: function( elem, computed ) { + if ( computed ) { + var ret = curCSS( elem, prop ); + // if curCSS returns percentage, fallback to offset + return rnumnonpx.test( ret ) ? jQuery( elem ).position()[ prop ] + "px" : ret; + } + } + }; + }); + } + +}); + +if ( jQuery.expr && jQuery.expr.filters ) { + jQuery.expr.filters.hidden = function( elem ) { + return ( elem.offsetWidth === 0 && elem.offsetHeight === 0 ) || (!jQuery.support.reliableHiddenOffsets && ((elem.style && elem.style.display) || curCSS( elem, "display" )) === "none"); + }; + + jQuery.expr.filters.visible = function( elem ) { + return !jQuery.expr.filters.hidden( elem ); + }; +} + +// These hooks are used by animate to expand properties +jQuery.each({ + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i, + + // assumes a single number if not a string + parts = typeof value === "string" ? value.split(" ") : [ value ], + expanded = {}; + + for ( i = 0; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( !rmargin.test( prefix ) ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +}); +var r20 = /%20/g, + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rinput = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i, + rselectTextarea = /^(?:select|textarea)/i; + +jQuery.fn.extend({ + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map(function(){ + return this.elements ? jQuery.makeArray( this.elements ) : this; + }) + .filter(function(){ + return this.name && !this.disabled && + ( this.checked || rselectTextarea.test( this.nodeName ) || + rinput.test( this.type ) ); + }) + .map(function( i, elem ){ + var val = jQuery( this ).val(); + + return val == null ? + null : + jQuery.isArray( val ) ? + jQuery.map( val, function( val, i ){ + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + }) : + { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + }).get(); + } +}); + +//Serialize an array of form elements or a set of +//key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, value ) { + // If value is a function, invoke it and return its value + value = jQuery.isFunction( value ) ? value() : ( value == null ? "" : value ); + s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value ); + }; + + // Set traditional to true for jQuery <= 1.3.2 behavior. + if ( traditional === undefined ) { + traditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + }); + + } else { + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ).replace( r20, "+" ); +}; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( jQuery.isArray( obj ) ) { + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + // If array item is non-scalar (array or object), encode its + // numeric index to resolve deserialization ambiguity issues. + // Note that rack (as of 1.0.0) can't currently deserialize + // nested arrays properly, and attempting to do so may cause + // a server error. Possible fixes are to modify rack's + // deserialization algorithm or to provide an option or flag + // to force array serialization to be shallow. + buildParams( prefix + "[" + ( typeof v === "object" ? i : "" ) + "]", v, traditional, add ); + } + }); + + } else if ( !traditional && jQuery.type( obj ) === "object" ) { + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + // Serialize scalar item. + add( prefix, obj ); + } +} +var // Document location + ajaxLocation, + // Document location segments + ajaxLocParts, + + rhash = /#.*$/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, // IE leaves an \r character at EOL + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + rquery = /\?/, + rscript = /)<[^<]*)*<\/script>/gi, + rts = /([?&])_=[^&]*/, + rurl = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/, + + // Keep a copy of the old load method + _load = jQuery.fn.load, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = ["*/"] + ["*"]; + +// #8138, IE may throw an exception when accessing +// a field from window.location if document.domain has been set +try { + ajaxLocation = location.href; +} catch( e ) { + // Use the href attribute of an A element + // since IE will modify it given document.location + ajaxLocation = document.createElement( "a" ); + ajaxLocation.href = ""; + ajaxLocation = ajaxLocation.href; +} + +// Segment location into parts +ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || []; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, list, placeBefore, + dataTypes = dataTypeExpression.toLowerCase().split( core_rspace ), + i = 0, + length = dataTypes.length; + + if ( jQuery.isFunction( func ) ) { + // For each dataType in the dataTypeExpression + for ( ; i < length; i++ ) { + dataType = dataTypes[ i ]; + // We control if we're asked to add before + // any existing element + placeBefore = /^\+/.test( dataType ); + if ( placeBefore ) { + dataType = dataType.substr( 1 ) || "*"; + } + list = structure[ dataType ] = structure[ dataType ] || []; + // then we add to the structure accordingly + list[ placeBefore ? "unshift" : "push" ]( func ); + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR, + dataType /* internal */, inspected /* internal */ ) { + + dataType = dataType || options.dataTypes[ 0 ]; + inspected = inspected || {}; + + inspected[ dataType ] = true; + + var selection, + list = structure[ dataType ], + i = 0, + length = list ? list.length : 0, + executeOnly = ( structure === prefilters ); + + for ( ; i < length && ( executeOnly || !selection ); i++ ) { + selection = list[ i ]( options, originalOptions, jqXHR ); + // If we got redirected to another dataType + // we try there if executing only and not done already + if ( typeof selection === "string" ) { + if ( !executeOnly || inspected[ selection ] ) { + selection = undefined; + } else { + options.dataTypes.unshift( selection ); + selection = inspectPrefiltersOrTransports( + structure, options, originalOptions, jqXHR, selection, inspected ); + } + } + } + // If we're only executing or nothing was selected + // we try the catchall dataType if not done already + if ( ( executeOnly || !selection ) && !inspected[ "*" ] ) { + selection = inspectPrefiltersOrTransports( + structure, options, originalOptions, jqXHR, "*", inspected ); + } + // unnecessary when only executing (prefilters) + // but it'll be ignored by the caller in that case + return selection; +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } +} + +jQuery.fn.load = function( url, params, callback ) { + if ( typeof url !== "string" && _load ) { + return _load.apply( this, arguments ); + } + + // Don't do a request if no elements are being requested + if ( !this.length ) { + return this; + } + + var selector, type, response, + self = this, + off = url.indexOf(" "); + + if ( off >= 0 ) { + selector = url.slice( off, url.length ); + url = url.slice( 0, off ); + } + + // If it's a function + if ( jQuery.isFunction( params ) ) { + + // We assume that it's the callback + callback = params; + params = undefined; + + // Otherwise, build a param string + } else if ( typeof params === "object" ) { + type = "POST"; + } + + // Request the remote document + jQuery.ajax({ + url: url, + + // if "type" variable is undefined, then "GET" method will be used + type: type, + dataType: "html", + data: params, + complete: function( jqXHR, status ) { + if ( callback ) { + self.each( callback, response || [ jqXHR.responseText, status, jqXHR ] ); + } + } + }).done(function( responseText ) { + + // Save response for use in complete callback + response = arguments; + + // See if a selector was specified + self.html( selector ? + + // Create a dummy div to hold the results + jQuery("
") + + // inject the contents of the document in, removing the scripts + // to avoid any 'Permission Denied' errors in IE + .append( responseText.replace( rscript, "" ) ) + + // Locate the specified elements + .find( selector ) : + + // If not, just inject the full result + responseText ); + + }); + + return this; +}; + +// Attach a bunch of functions for handling common AJAX events +jQuery.each( "ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split( " " ), function( i, o ){ + jQuery.fn[ o ] = function( f ){ + return this.on( o, f ); + }; +}); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + // shift arguments if data argument was omitted + if ( jQuery.isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + return jQuery.ajax({ + type: method, + url: url, + data: data, + success: callback, + dataType: type + }); + }; +}); + +jQuery.extend({ + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + if ( settings ) { + // Building a settings object + ajaxExtend( target, jQuery.ajaxSettings ); + } else { + // Extending ajaxSettings + settings = target; + target = jQuery.ajaxSettings; + } + ajaxExtend( target, settings ); + return target; + }, + + ajaxSettings: { + url: ajaxLocation, + isLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ), + global: true, + type: "GET", + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + processData: true, + async: true, + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + xml: "application/xml, text/xml", + html: "text/html", + text: "text/plain", + json: "application/json, text/javascript", + "*": allTypes + }, + + contents: { + xml: /xml/, + html: /html/, + json: /json/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText" + }, + + // List of data converters + // 1) key format is "source_type destination_type" (a single space in-between) + // 2) the catchall symbol "*" can be used for source_type + converters: { + + // Convert anything to text + "* text": window.String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": jQuery.parseJSON, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + context: true, + url: true + } + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var // ifModified key + ifModifiedKey, + // Response headers + responseHeadersString, + responseHeaders, + // transport + transport, + // timeout handle + timeoutTimer, + // Cross-domain detection vars + parts, + // To know if global events are to be dispatched + fireGlobals, + // Loop variable + i, + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + // Callbacks context + callbackContext = s.context || s, + // Context for global events + // It's the callbackContext if one was provided in the options + // and if it's a DOM node or a jQuery collection + globalEventContext = callbackContext !== s && + ( callbackContext.nodeType || callbackContext instanceof jQuery ) ? + jQuery( callbackContext ) : jQuery.event, + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + // Status-dependent callbacks + statusCode = s.statusCode || {}, + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + // The jqXHR state + state = 0, + // Default abort message + strAbort = "canceled", + // Fake xhr + jqXHR = { + + readyState: 0, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( !state ) { + var lname = name.toLowerCase(); + name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Raw string + getAllResponseHeaders: function() { + return state === 2 ? responseHeadersString : null; + }, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( state === 2 ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[1].toLowerCase() ] = match[ 2 ]; + } + } + match = responseHeaders[ key.toLowerCase() ]; + } + return match === undefined ? null : match; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( !state ) { + s.mimeType = type; + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + statusText = statusText || strAbort; + if ( transport ) { + transport.abort( statusText ); + } + done( 0, statusText ); + return this; + } + }; + + // Callback for when everything is done + // It is defined here because jslint complains if it is declared + // at the end of the function (which would be more logical and readable) + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Called once + if ( state === 2 ) { + return; + } + + // State is "done" now + state = 2; + + // Clear timeout if it exists + if ( timeoutTimer ) { + clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // If successful, handle type chaining + if ( status >= 200 && status < 300 || status === 304 ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + + modified = jqXHR.getResponseHeader("Last-Modified"); + if ( modified ) { + jQuery.lastModified[ ifModifiedKey ] = modified; + } + modified = jqXHR.getResponseHeader("Etag"); + if ( modified ) { + jQuery.etag[ ifModifiedKey ] = modified; + } + } + + // If not modified + if ( status === 304 ) { + + statusText = "notmodified"; + isSuccess = true; + + // If we have data + } else { + + isSuccess = ajaxConvert( s, response ); + statusText = isSuccess.state; + success = isSuccess.data; + error = isSuccess.error; + isSuccess = !error; + } + } else { + // We extract error from statusText + // then normalize statusText and status for non-aborts + error = statusText; + if ( !statusText || status ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = "" + ( nativeStatusText || statusText ); + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( "ajax" + ( isSuccess ? "Success" : "Error" ), + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + // Attach deferreds + deferred.promise( jqXHR ); + jqXHR.success = jqXHR.done; + jqXHR.error = jqXHR.fail; + jqXHR.complete = completeDeferred.add; + + // Status-dependent callbacks + jqXHR.statusCode = function( map ) { + if ( map ) { + var tmp; + if ( state < 2 ) { + for ( tmp in map ) { + statusCode[ tmp ] = [ statusCode[tmp], map[tmp] ]; + } + } else { + tmp = map[ jqXHR.status ]; + jqXHR.always( tmp ); + } + } + return this; + }; + + // Remove hash character (#7531: and string promotion) + // Add protocol if not provided (#5866: IE7 issue with protocol-less urls) + // We also use the url parameter if available + s.url = ( ( url || s.url ) + "" ).replace( rhash, "" ).replace( rprotocol, ajaxLocParts[ 1 ] + "//" ); + + // Extract dataTypes list + s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().split( core_rspace ); + + // Determine if a cross-domain request is in order + if ( s.crossDomain == null ) { + parts = rurl.exec( s.url.toLowerCase() ); + s.crossDomain = !!( parts && + ( parts[ 1 ] != ajaxLocParts[ 1 ] || parts[ 2 ] != ajaxLocParts[ 2 ] || + ( parts[ 3 ] || ( parts[ 1 ] === "http:" ? 80 : 443 ) ) != + ( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? 80 : 443 ) ) ) + ); + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( state === 2 ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + fireGlobals = s.global; + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // If data is available, append data to url + if ( s.data ) { + s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.data; + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Get ifModifiedKey before adding the anti-cache parameter + ifModifiedKey = s.url; + + // Add anti-cache in url if needed + if ( s.cache === false ) { + + var ts = jQuery.now(), + // try replacing _= if it is there + ret = s.url.replace( rts, "$1_=" + ts ); + + // if nothing was replaced, add timestamp to the end + s.url = ret + ( ( ret === s.url ) ? ( rquery.test( s.url ) ? "&" : "?" ) + "_=" + ts : "" ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + ifModifiedKey = ifModifiedKey || s.url; + if ( jQuery.lastModified[ ifModifiedKey ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ ifModifiedKey ] ); + } + if ( jQuery.etag[ ifModifiedKey ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ ifModifiedKey ] ); + } + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ? + s.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) { + // Abort if not done already and return + return jqXHR.abort(); + + } + + // aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + for ( i in { success: 1, error: 1, complete: 1 } ) { + jqXHR[ i ]( s[ i ] ); + } + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = setTimeout( function(){ + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + state = 1; + transport.send( requestHeaders, done ); + } catch (e) { + // Propagate exception as error if not done + if ( state < 2 ) { + done( -1, e ); + // Simply rethrow otherwise + } else { + throw e; + } + } + } + + return jqXHR; + }, + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {} + +}); + +/* Handles responses to an ajax request: + * - sets all responseXXX fields accordingly + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes, + responseFields = s.responseFields; + + // Fill responseXXX fields + for ( type in responseFields ) { + if ( type in responses ) { + jqXHR[ responseFields[type] ] = responses[ type ]; + } + } + + // Remove auto dataType and get content-type in the process + while( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "content-type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[0] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +// Chain conversions given the request and the original response +function ajaxConvert( s, response ) { + + var conv, conv2, current, tmp, + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(), + prev = dataTypes[ 0 ], + converters = {}, + i = 0; + + // Apply the dataFilter if provided + if ( s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + // Convert to each sequential dataType, tolerating list modification + for ( ; (current = dataTypes[++i]); ) { + + // There's only work to do if current dataType is non-auto + if ( current !== "*" ) { + + // Convert response if prev dataType is non-auto and differs from current + if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split(" "); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.splice( i--, 0, current ); + } + + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s["throws"] ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { state: "parsererror", error: conv ? e : "No conversion from " + prev + " to " + current }; + } + } + } + } + + // Update prev for next iteration + prev = current; + } + } + + return { state: "success", data: response }; +} +var oldCallbacks = [], + rquestion = /\?/, + rjsonp = /(=)\?(?=&|$)|\?\?/, + nonce = jQuery.now(); + +// Default jsonp settings +jQuery.ajaxSetup({ + jsonp: "callback", + jsonpCallback: function() { + var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) ); + this[ callback ] = true; + return callback; + } +}); + +// Detect, normalize options and install callbacks for jsonp requests +jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { + + var callbackName, overwritten, responseContainer, + data = s.data, + url = s.url, + hasCallback = s.jsonp !== false, + replaceInUrl = hasCallback && rjsonp.test( url ), + replaceInData = hasCallback && !replaceInUrl && typeof data === "string" && + !( s.contentType || "" ).indexOf("application/x-www-form-urlencoded") && + rjsonp.test( data ); + + // Handle iff the expected data type is "jsonp" or we have a parameter to set + if ( s.dataTypes[ 0 ] === "jsonp" || replaceInUrl || replaceInData ) { + + // Get callback name, remembering preexisting value associated with it + callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ? + s.jsonpCallback() : + s.jsonpCallback; + overwritten = window[ callbackName ]; + + // Insert callback into url or form data + if ( replaceInUrl ) { + s.url = url.replace( rjsonp, "$1" + callbackName ); + } else if ( replaceInData ) { + s.data = data.replace( rjsonp, "$1" + callbackName ); + } else if ( hasCallback ) { + s.url += ( rquestion.test( url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; + } + + // Use data converter to retrieve json after script execution + s.converters["script json"] = function() { + if ( !responseContainer ) { + jQuery.error( callbackName + " was not called" ); + } + return responseContainer[ 0 ]; + }; + + // force json dataType + s.dataTypes[ 0 ] = "json"; + + // Install callback + window[ callbackName ] = function() { + responseContainer = arguments; + }; + + // Clean-up function (fires after converters) + jqXHR.always(function() { + // Restore preexisting value + window[ callbackName ] = overwritten; + + // Save back as free + if ( s[ callbackName ] ) { + // make sure that re-using the options doesn't screw things around + s.jsonpCallback = originalSettings.jsonpCallback; + + // save the callback name for future use + oldCallbacks.push( callbackName ); + } + + // Call if it was a function and we have a response + if ( responseContainer && jQuery.isFunction( overwritten ) ) { + overwritten( responseContainer[ 0 ] ); + } + + responseContainer = overwritten = undefined; + }); + + // Delegate to script + return "script"; + } +}); +// Install script dataType +jQuery.ajaxSetup({ + accepts: { + script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /javascript|ecmascript/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +}); + +// Handle cache's special case and global +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + s.global = false; + } +}); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function(s) { + + // This transport only deals with cross domain requests + if ( s.crossDomain ) { + + var script, + head = document.head || document.getElementsByTagName( "head" )[0] || document.documentElement; + + return { + + send: function( _, callback ) { + + script = document.createElement( "script" ); + + script.async = "async"; + + if ( s.scriptCharset ) { + script.charset = s.scriptCharset; + } + + script.src = s.url; + + // Attach handlers for all browsers + script.onload = script.onreadystatechange = function( _, isAbort ) { + + if ( isAbort || !script.readyState || /loaded|complete/.test( script.readyState ) ) { + + // Handle memory leak in IE + script.onload = script.onreadystatechange = null; + + // Remove the script + if ( head && script.parentNode ) { + head.removeChild( script ); + } + + // Dereference the script + script = undefined; + + // Callback if not abort + if ( !isAbort ) { + callback( 200, "success" ); + } + } + }; + // Use insertBefore instead of appendChild to circumvent an IE6 bug. + // This arises when a base node is used (#2709 and #4378). + head.insertBefore( script, head.firstChild ); + }, + + abort: function() { + if ( script ) { + script.onload( 0, 1 ); + } + } + }; + } +}); +var xhrCallbacks, + // #5280: Internet Explorer will keep connections alive if we don't abort on unload + xhrOnUnloadAbort = window.ActiveXObject ? function() { + // Abort all pending requests + for ( var key in xhrCallbacks ) { + xhrCallbacks[ key ]( 0, 1 ); + } + } : false, + xhrId = 0; + +// Functions to create xhrs +function createStandardXHR() { + try { + return new window.XMLHttpRequest(); + } catch( e ) {} +} + +function createActiveXHR() { + try { + return new window.ActiveXObject( "Microsoft.XMLHTTP" ); + } catch( e ) {} +} + +// Create the request object +// (This is still attached to ajaxSettings for backward compatibility) +jQuery.ajaxSettings.xhr = window.ActiveXObject ? + /* Microsoft failed to properly + * implement the XMLHttpRequest in IE7 (can't request local files), + * so we use the ActiveXObject when it is available + * Additionally XMLHttpRequest can be disabled in IE7/IE8 so + * we need a fallback. + */ + function() { + return !this.isLocal && createStandardXHR() || createActiveXHR(); + } : + // For all other browsers, use the standard XMLHttpRequest object + createStandardXHR; + +// Determine support properties +(function( xhr ) { + jQuery.extend( jQuery.support, { + ajax: !!xhr, + cors: !!xhr && ( "withCredentials" in xhr ) + }); +})( jQuery.ajaxSettings.xhr() ); + +// Create transport if the browser can provide an xhr +if ( jQuery.support.ajax ) { + + jQuery.ajaxTransport(function( s ) { + // Cross domain only allowed if supported through XMLHttpRequest + if ( !s.crossDomain || jQuery.support.cors ) { + + var callback; + + return { + send: function( headers, complete ) { + + // Get a new xhr + var handle, i, + xhr = s.xhr(); + + // Open the socket + // Passing null username, generates a login popup on Opera (#2865) + if ( s.username ) { + xhr.open( s.type, s.url, s.async, s.username, s.password ); + } else { + xhr.open( s.type, s.url, s.async ); + } + + // Apply custom fields if provided + if ( s.xhrFields ) { + for ( i in s.xhrFields ) { + xhr[ i ] = s.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( s.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( s.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !s.crossDomain && !headers["X-Requested-With"] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Need an extra try/catch for cross domain requests in Firefox 3 + try { + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + } catch( _ ) {} + + // Do send the request + // This may raise an exception which is actually + // handled in jQuery.ajax (so no try/catch here) + xhr.send( ( s.hasContent && s.data ) || null ); + + // Listener + callback = function( _, isAbort ) { + + var status, + statusText, + responseHeaders, + responses, + xml; + + // Firefox throws exceptions when accessing properties + // of an xhr when a network error occurred + // http://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE) + try { + + // Was never called and is aborted or complete + if ( callback && ( isAbort || xhr.readyState === 4 ) ) { + + // Only called once + callback = undefined; + + // Do not keep as active anymore + if ( handle ) { + xhr.onreadystatechange = jQuery.noop; + if ( xhrOnUnloadAbort ) { + delete xhrCallbacks[ handle ]; + } + } + + // If it's an abort + if ( isAbort ) { + // Abort it manually if needed + if ( xhr.readyState !== 4 ) { + xhr.abort(); + } + } else { + status = xhr.status; + responseHeaders = xhr.getAllResponseHeaders(); + responses = {}; + xml = xhr.responseXML; + + // Construct response list + if ( xml && xml.documentElement /* #4958 */ ) { + responses.xml = xml; + } + + // When requesting binary data, IE6-9 will throw an exception + // on any attempt to access responseText (#11426) + try { + responses.text = xhr.responseText; + } catch( _ ) { + } + + // Firefox throws an exception when accessing + // statusText for faulty cross-domain requests + try { + statusText = xhr.statusText; + } catch( e ) { + // We normalize with Webkit giving an empty statusText + statusText = ""; + } + + // Filter status for non standard behaviors + + // If the request is local and we have data: assume a success + // (success with no data won't get notified, that's the best we + // can do given current implementations) + if ( !status && s.isLocal && !s.crossDomain ) { + status = responses.text ? 200 : 404; + // IE - #1450: sometimes returns 1223 when it should be 204 + } else if ( status === 1223 ) { + status = 204; + } + } + } + } catch( firefoxAccessException ) { + if ( !isAbort ) { + complete( -1, firefoxAccessException ); + } + } + + // Call complete if needed + if ( responses ) { + complete( status, statusText, responses, responseHeaders ); + } + }; + + if ( !s.async ) { + // if we're in sync mode we fire the callback + callback(); + } else if ( xhr.readyState === 4 ) { + // (IE6 & IE7) if it's in cache and has been + // retrieved directly we need to fire the callback + setTimeout( callback, 0 ); + } else { + handle = ++xhrId; + if ( xhrOnUnloadAbort ) { + // Create the active xhrs callbacks list if needed + // and attach the unload handler + if ( !xhrCallbacks ) { + xhrCallbacks = {}; + jQuery( window ).unload( xhrOnUnloadAbort ); + } + // Add to list of active xhrs callbacks + xhrCallbacks[ handle ] = callback; + } + xhr.onreadystatechange = callback; + } + }, + + abort: function() { + if ( callback ) { + callback(0,1); + } + } + }; + } + }); +} +var fxNow, timerId, + rfxtypes = /^(?:toggle|show|hide)$/, + rfxnum = new RegExp( "^(?:([-+])=|)(" + core_pnum + ")([a-z%]*)$", "i" ), + rrun = /queueHooks$/, + animationPrefilters = [ defaultPrefilter ], + tweeners = { + "*": [function( prop, value ) { + var end, unit, prevScale, + tween = this.createTween( prop, value ), + parts = rfxnum.exec( value ), + target = tween.cur(), + start = +target || 0, + scale = 1; + + if ( parts ) { + end = +parts[2]; + unit = parts[3] || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + + // We need to compute starting value + if ( unit !== "px" && start ) { + // Iteratively approximate from a nonzero starting point + // Prefer the current property, because this process will be trivial if it uses the same units + // Fallback to end or a simple constant + start = jQuery.css( tween.elem, prop, true ) || end || 1; + + do { + // If previous iteration zeroed out, double until we get *something* + // Use a string for doubling factor so we don't accidentally see scale as unchanged below + prevScale = scale = scale || ".5"; + + // Adjust and apply + start = start / scale; + jQuery.style( tween.elem, prop, start + unit ); + + // Update scale, tolerating zeroes from tween.cur() + scale = tween.cur() / target; + + // Stop looping if we've hit the mark or scale is unchanged + } while ( scale !== 1 && scale !== prevScale ); + } + + tween.unit = unit; + tween.start = start; + // If a +=/-= token was provided, we're doing a relative animation + tween.end = parts[1] ? start + ( parts[1] + 1 ) * end : end; + } + return tween; + }] + }; + +// Animations created synchronously will run synchronously +function createFxNow() { + setTimeout(function() { + fxNow = undefined; + }, 0 ); + return ( fxNow = jQuery.now() ); +} + +function createTweens( animation, props ) { + jQuery.each( props, function( prop, value ) { + var collection = ( tweeners[ prop ] || [] ).concat( tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( collection[ index ].call( animation, prop, value ) ) { + + // we're done with this property + return; + } + } + }); +} + +function Animation( elem, properties, options ) { + var result, + index = 0, + tweenerIndex = 0, + length = animationPrefilters.length, + deferred = jQuery.Deferred().always( function() { + // don't match elem in the :animated selector + delete tick.elem; + }), + tick = function() { + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + percent = 1 - ( remaining / animation.duration || 0 ), + index = 0, + length = animation.tweens.length; + + for ( ; index < length ; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ]); + + if ( percent < 1 && length ) { + return remaining; + } else { + deferred.resolveWith( elem, [ animation ] ); + return false; + } + }, + animation = deferred.promise({ + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { specialEasing: {} }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end, easing ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + // if we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + + for ( ; index < length ; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // resolve when we played the last frame + // otherwise, reject + if ( gotoEnd ) { + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + }), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length ; index++ ) { + result = animationPrefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + return result; + } + } + + createTweens( animation, props ); + + if ( jQuery.isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + jQuery.fx.timer( + jQuery.extend( tick, { + anim: animation, + queue: animation.opts.queue, + elem: elem + }) + ); + + // attach callbacks from options + return animation.progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = jQuery.camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( jQuery.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // not quite $.extend, this wont overwrite keys already present. + // also - reusing 'index' from above because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweener: function( props, callback ) { + if ( jQuery.isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.split(" "); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length ; index++ ) { + prop = props[ index ]; + tweeners[ prop ] = tweeners[ prop ] || []; + tweeners[ prop ].unshift( callback ); + } + }, + + prefilter: function( callback, prepend ) { + if ( prepend ) { + animationPrefilters.unshift( callback ); + } else { + animationPrefilters.push( callback ); + } + } +}); + +function defaultPrefilter( elem, props, opts ) { + var index, prop, value, length, dataShow, tween, hooks, oldfire, + anim = this, + style = elem.style, + orig = {}, + handled = [], + hidden = elem.nodeType && isHidden( elem ); + + // handle queue: false promises + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always(function() { + // doing this makes sure that the complete handler will be called + // before this completes + anim.always(function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + }); + }); + } + + // height/width overflow pass + if ( elem.nodeType === 1 && ( "height" in props || "width" in props ) ) { + // Make sure that nothing sneaks out + // Record all 3 overflow attributes because IE does not + // change the overflow attribute when overflowX and + // overflowY are set to the same value + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Set display property to inline-block for height/width + // animations on inline elements that are having width/height animated + if ( jQuery.css( elem, "display" ) === "inline" && + jQuery.css( elem, "float" ) === "none" ) { + + // inline-level elements accept inline-block; + // block-level elements need to be inline with layout + if ( !jQuery.support.inlineBlockNeedsLayout || css_defaultDisplay( elem.nodeName ) === "inline" ) { + style.display = "inline-block"; + + } else { + style.zoom = 1; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + if ( !jQuery.support.shrinkWrapBlocks ) { + anim.done(function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + }); + } + } + + + // show/hide pass + for ( index in props ) { + value = props[ index ]; + if ( rfxtypes.exec( value ) ) { + delete props[ index ]; + if ( value === ( hidden ? "hide" : "show" ) ) { + continue; + } + handled.push( index ); + } + } + + length = handled.length; + if ( length ) { + dataShow = jQuery._data( elem, "fxshow" ) || jQuery._data( elem, "fxshow", {} ); + if ( hidden ) { + jQuery( elem ).show(); + } else { + anim.done(function() { + jQuery( elem ).hide(); + }); + } + anim.done(function() { + var prop; + jQuery.removeData( elem, "fxshow", true ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + }); + for ( index = 0 ; index < length ; index++ ) { + prop = handled[ index ]; + tween = anim.createTween( prop, hidden ? dataShow[ prop ] : 0 ); + orig[ prop ] = dataShow[ prop ] || jQuery.style( elem, prop ); + + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = tween.start; + if ( hidden ) { + tween.end = tween.start; + tween.start = prop === "width" || prop === "height" ? 1 : 0; + } + } + } + } +} + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || "swing"; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + this.pos = eased = jQuery.easing[ this.easing ]( percent, this.options.duration * percent, 0, 1, this.options.duration ); + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + if ( tween.elem[ tween.prop ] != null && + (!tween.elem.style || tween.elem.style[ tween.prop ] == null) ) { + return tween.elem[ tween.prop ]; + } + + // passing any value as a 4th parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails + // so, simple values such as "10px" are parsed to Float. + // complex values such as "rotate(1rad)" are returned as is. + result = jQuery.css( tween.elem, tween.prop, false, "" ); + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + // use step hook for back compat - use cssHook if its there - use .style if its + // available and use plain properties where available + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.style && ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || jQuery.cssHooks[ tween.prop ] ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Remove in 2.0 - this supports IE8's panic based approach +// to setting things on disconnected nodes + +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.each([ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" || + // special check for .toggle( handler, handler, ... ) + ( !i && jQuery.isFunction( speed ) && jQuery.isFunction( easing ) ) ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +}); + +jQuery.fn.extend({ + fadeTo: function( speed, to, easing, callback ) { + + // show any hidden elements after setting opacity to 0 + return this.filter( isHidden ).css( "opacity", 0 ).show() + + // animate to the value specified + .end().animate({ opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations resolve immediately + if ( empty ) { + anim.stop( true ); + } + }; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each(function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = jQuery._data( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && (type == null || timers[ index ].queue === type) ) { + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // start the next in the queue if the last step wasn't forced + // timers currently will call their complete callbacks, which will dequeue + // but only if they were gotoEnd + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + }); + } +}); + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + attrs = { height: type }, + i = 0; + + // if we include width, step value is 1 to do all cssExpand values, + // if we don't include width, step value is 2 to skip over Left and Right + for( ; i < 4 ; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +// Generate shortcuts for custom animations +jQuery.each({ + slideDown: genFx("show"), + slideUp: genFx("hide"), + slideToggle: genFx("toggle"), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +}); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + jQuery.isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing + }; + + opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration : + opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default; + + // normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( jQuery.isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p*Math.PI ) / 2; + } +}; + +jQuery.timers = []; +jQuery.fx = Tween.prototype.init; +jQuery.fx.tick = function() { + var timer, + timers = jQuery.timers, + i = 0; + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + // Checks the timer has not already been removed + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } +}; + +jQuery.fx.timer = function( timer ) { + if ( timer() && jQuery.timers.push( timer ) && !timerId ) { + timerId = setInterval( jQuery.fx.tick, jQuery.fx.interval ); + } +}; + +jQuery.fx.interval = 13; + +jQuery.fx.stop = function() { + clearInterval( timerId ); + timerId = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + // Default speed + _default: 400 +}; + +// Back Compat <1.8 extension point +jQuery.fx.step = {}; + +if ( jQuery.expr && jQuery.expr.filters ) { + jQuery.expr.filters.animated = function( elem ) { + return jQuery.grep(jQuery.timers, function( fn ) { + return elem === fn.elem; + }).length; + }; +} +var rroot = /^(?:body|html)$/i; + +jQuery.fn.offset = function( options ) { + if ( arguments.length ) { + return options === undefined ? + this : + this.each(function( i ) { + jQuery.offset.setOffset( this, options, i ); + }); + } + + var box, docElem, body, win, clientTop, clientLeft, scrollTop, scrollLeft, top, left, + elem = this[ 0 ], + doc = elem && elem.ownerDocument; + + if ( !doc ) { + return; + } + + if ( (body = doc.body) === elem ) { + return jQuery.offset.bodyOffset( elem ); + } + + docElem = doc.documentElement; + + // Make sure we're not dealing with a disconnected DOM node + if ( !jQuery.contains( docElem, elem ) ) { + return { top: 0, left: 0 }; + } + + box = elem.getBoundingClientRect(); + win = getWindow( doc ); + clientTop = docElem.clientTop || body.clientTop || 0; + clientLeft = docElem.clientLeft || body.clientLeft || 0; + scrollTop = win.pageYOffset || docElem.scrollTop; + scrollLeft = win.pageXOffset || docElem.scrollLeft; + top = box.top + scrollTop - clientTop; + left = box.left + scrollLeft - clientLeft; + + return { top: top, left: left }; +}; + +jQuery.offset = { + + bodyOffset: function( body ) { + var top = body.offsetTop, + left = body.offsetLeft; + + if ( jQuery.support.doesNotIncludeMarginInBodyOffset ) { + top += parseFloat( jQuery.css(body, "marginTop") ) || 0; + left += parseFloat( jQuery.css(body, "marginLeft") ) || 0; + } + + return { top: top, left: left }; + }, + + setOffset: function( elem, options, i ) { + var position = jQuery.css( elem, "position" ); + + // set position first, in-case top/left are set even on static elem + if ( position === "static" ) { + elem.style.position = "relative"; + } + + var curElem = jQuery( elem ), + curOffset = curElem.offset(), + curCSSTop = jQuery.css( elem, "top" ), + curCSSLeft = jQuery.css( elem, "left" ), + calculatePosition = ( position === "absolute" || position === "fixed" ) && jQuery.inArray("auto", [curCSSTop, curCSSLeft]) > -1, + props = {}, curPosition = {}, curTop, curLeft; + + // need to be able to calculate position if either top or left is auto and position is either absolute or fixed + if ( calculatePosition ) { + curPosition = curElem.position(); + curTop = curPosition.top; + curLeft = curPosition.left; + } else { + curTop = parseFloat( curCSSTop ) || 0; + curLeft = parseFloat( curCSSLeft ) || 0; + } + + if ( jQuery.isFunction( options ) ) { + options = options.call( elem, i, curOffset ); + } + + if ( options.top != null ) { + props.top = ( options.top - curOffset.top ) + curTop; + } + if ( options.left != null ) { + props.left = ( options.left - curOffset.left ) + curLeft; + } + + if ( "using" in options ) { + options.using.call( elem, props ); + } else { + curElem.css( props ); + } + } +}; + + +jQuery.fn.extend({ + + position: function() { + if ( !this[0] ) { + return; + } + + var elem = this[0], + + // Get *real* offsetParent + offsetParent = this.offsetParent(), + + // Get correct offsets + offset = this.offset(), + parentOffset = rroot.test(offsetParent[0].nodeName) ? { top: 0, left: 0 } : offsetParent.offset(); + + // Subtract element margins + // note: when an element has margin: auto the offsetLeft and marginLeft + // are the same in Safari causing offset.left to incorrectly be 0 + offset.top -= parseFloat( jQuery.css(elem, "marginTop") ) || 0; + offset.left -= parseFloat( jQuery.css(elem, "marginLeft") ) || 0; + + // Add offsetParent borders + parentOffset.top += parseFloat( jQuery.css(offsetParent[0], "borderTopWidth") ) || 0; + parentOffset.left += parseFloat( jQuery.css(offsetParent[0], "borderLeftWidth") ) || 0; + + // Subtract the two offsets + return { + top: offset.top - parentOffset.top, + left: offset.left - parentOffset.left + }; + }, + + offsetParent: function() { + return this.map(function() { + var offsetParent = this.offsetParent || document.body; + while ( offsetParent && (!rroot.test(offsetParent.nodeName) && jQuery.css(offsetParent, "position") === "static") ) { + offsetParent = offsetParent.offsetParent; + } + return offsetParent || document.body; + }); + } +}); + + +// Create scrollLeft and scrollTop methods +jQuery.each( {scrollLeft: "pageXOffset", scrollTop: "pageYOffset"}, function( method, prop ) { + var top = /Y/.test( prop ); + + jQuery.fn[ method ] = function( val ) { + return jQuery.access( this, function( elem, method, val ) { + var win = getWindow( elem ); + + if ( val === undefined ) { + return win ? (prop in win) ? win[ prop ] : + win.document.documentElement[ method ] : + elem[ method ]; + } + + if ( win ) { + win.scrollTo( + !top ? val : jQuery( win ).scrollLeft(), + top ? val : jQuery( win ).scrollTop() + ); + + } else { + elem[ method ] = val; + } + }, method, val, arguments.length, null ); + }; +}); + +function getWindow( elem ) { + return jQuery.isWindow( elem ) ? + elem : + elem.nodeType === 9 ? + elem.defaultView || elem.parentWindow : + false; +} +// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods +jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { + jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, function( defaultExtra, funcName ) { + // margin is only for outerHeight, outerWidth + jQuery.fn[ funcName ] = function( margin, value ) { + var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), + extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); + + return jQuery.access( this, function( elem, type, value ) { + var doc; + + if ( jQuery.isWindow( elem ) ) { + // As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there + // isn't a whole lot we can do. See pull request at this URL for discussion: + // https://github.com/jquery/jquery/pull/764 + return elem.document.documentElement[ "client" + name ]; + } + + // Get document width or height + if ( elem.nodeType === 9 ) { + doc = elem.documentElement; + + // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], whichever is greatest + // unfortunately, this causes bug #3838 in IE6/8 only, but there is currently no good, small way to fix it. + return Math.max( + elem.body[ "scroll" + name ], doc[ "scroll" + name ], + elem.body[ "offset" + name ], doc[ "offset" + name ], + doc[ "client" + name ] + ); + } + + return value === undefined ? + // Get width or height on the element, requesting but not forcing parseFloat + jQuery.css( elem, type, value, extra ) : + + // Set width or height on the element + jQuery.style( elem, type, value, extra ); + }, type, chainable ? margin : undefined, chainable ); + }; + }); +}); +// Expose jQuery to the global object +window.jQuery = window.$ = jQuery; + +// Expose jQuery as an AMD module, but only for AMD loaders that +// understand the issues with loading multiple versions of jQuery +// in a page that all might call define(). The loader will indicate +// they have special allowances for multiple jQuery versions by +// specifying define.amd.jQuery = true. Register as a named module, +// since jQuery can be concatenated with other files that may use define, +// but not use a proper concatenation script that understands anonymous +// AMD modules. A named AMD is safest and most robust way to register. +// Lowercase jquery is used because AMD module names are derived from +// file names, and jQuery is normally delivered in a lowercase file name. +// Do this after creating the global so that if an AMD module wants to call +// noConflict to hide this version of jQuery, it will work. +if ( typeof define === "function" && define.amd && define.amd.jQuery ) { + define( "jquery", [], function () { return jQuery; } ); +} + +})( window ); diff --git a/springboot-1903-fanjianghao/src/main/resources/static/js/jquery.min.js b/springboot-1903-fanjianghao/src/main/resources/static/js/jquery.min.js new file mode 100644 index 00000000..e6a051d0 --- /dev/null +++ b/springboot-1903-fanjianghao/src/main/resources/static/js/jquery.min.js @@ -0,0 +1,4 @@ +/*! jQuery v1.11.2 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.2",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=hb(),z=hb(),A=hb(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},eb=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fb){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function gb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+rb(o[l]);w=ab.test(a)&&pb(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function hb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ib(a){return a[u]=!0,a}function jb(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function kb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function lb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function nb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function ob(a){return ib(function(b){return b=+b,ib(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pb(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=gb.support={},f=gb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=gb.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",eb,!1):e.attachEvent&&e.attachEvent("onunload",eb)),p=!f(g),c.attributes=jb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=jb(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=jb(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(jb(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),jb(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&jb(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return lb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?lb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},gb.matches=function(a,b){return gb(a,null,null,b)},gb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return gb(b,n,null,[a]).length>0},gb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},gb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},gb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},gb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=gb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=gb.selectors={cacheLength:50,createPseudo:ib,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||gb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&gb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=gb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||gb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ib(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ib(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ib(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ib(function(a){return function(b){return gb(a,b).length>0}}),contains:ib(function(a){return a=a.replace(cb,db),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ib(function(a){return W.test(a||"")||gb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:ob(function(){return[0]}),last:ob(function(a,b){return[b-1]}),eq:ob(function(a,b,c){return[0>c?c+b:c]}),even:ob(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:ob(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:ob(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:ob(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function tb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ub(a,b,c){for(var d=0,e=b.length;e>d;d++)gb(a,b[d],c);return c}function vb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wb(a,b,c,d,e,f){return d&&!d[u]&&(d=wb(d)),e&&!e[u]&&(e=wb(e,f)),ib(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ub(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:vb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=vb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=vb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sb(function(a){return a===b},h,!0),l=sb(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sb(tb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wb(i>1&&tb(m),i>1&&rb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xb(a.slice(i,e)),f>e&&xb(a=a.slice(e)),f>e&&rb(a))}m.push(c)}return tb(m)}function yb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=vb(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&gb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ib(f):f}return h=gb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,yb(e,d)),f.selector=a}return f},i=gb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&pb(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&rb(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&pb(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=jb(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),jb(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||kb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&jb(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||kb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),jb(function(a){return null==a.getAttribute("disabled")})||kb(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),gb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1; +return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="
a",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/\s*$/g,rb={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:k.htmlSerialize?[0,"",""]:[1,"X
","
"]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?""!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m(" + + + + + + + + + + + + \ No newline at end of file diff --git a/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/js/common/echarts.min.js b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/js/common/echarts.min.js new file mode 100644 index 00000000..7c8b12aa --- /dev/null +++ b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/js/common/echarts.min.js @@ -0,0 +1,22 @@ + +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +*/ + + +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e(t.echarts={})}(this,function(t){"use strict";function e(t,e){"createCanvas"===t&&(nw=null),ew[t]=e}function i(t){if(null==t||"object"!=typeof t)return t;var e=t,n=Y_.call(t);if("[object Array]"===n){if(!O(t)){e=[];for(var o=0,a=t.length;o=0){var o="touchend"!==n?e.targetTouches[0]:e.changedTouches[0];o&&st(t,o,e,i)}else st(t,e,e,i),e.zrDelta=e.wheelDelta?e.wheelDelta/120:-(e.detail||0)/3;var a=e.button;return null==e.which&&void 0!==a&&gw.test(e.type)&&(e.which=1&a?1:2&a?3:4&a?2:0),e}function ht(t,e,i){pw?t.addEventListener(e,i):t.attachEvent("on"+e,i)}function ct(t,e,i){pw?t.removeEventListener(e,i):t.detachEvent("on"+e,i)}function dt(t){return 2===t.which||3===t.which}function ft(t){var e=t[1][0]-t[0][0],i=t[1][1]-t[0][1];return Math.sqrt(e*e+i*i)}function pt(t){return[(t[0][0]+t[1][0])/2,(t[0][1]+t[1][1])/2]}function gt(t,e,i){return{type:t,event:i,target:e.target,topTarget:e.topTarget,cancelBubble:!1,offsetX:i.zrX,offsetY:i.zrY,gestureEvent:i.gestureEvent,pinchX:i.pinchX,pinchY:i.pinchY,pinchScale:i.pinchScale,wheelDelta:i.zrDelta,zrByTouch:i.zrByTouch,which:i.which,stop:mt}}function mt(t){mw(this.event)}function vt(){}function yt(t,e,i){if(t[t.rectHover?"rectContain":"contain"](e,i)){for(var n,o=t;o;){if(o.clipPath&&!o.clipPath.contain(e,i))return!1;o.silent&&(n=!0),o=o.parent}return!n||xw}return!1}function xt(){var t=new bw(6);return _t(t),t}function _t(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t}function wt(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t}function bt(t,e,i){var n=e[0]*i[0]+e[2]*i[1],o=e[1]*i[0]+e[3]*i[1],a=e[0]*i[2]+e[2]*i[3],r=e[1]*i[2]+e[3]*i[3],s=e[0]*i[4]+e[2]*i[5]+e[4],l=e[1]*i[4]+e[3]*i[5]+e[5];return t[0]=n,t[1]=o,t[2]=a,t[3]=r,t[4]=s,t[5]=l,t}function St(t,e,i){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4]+i[0],t[5]=e[5]+i[1],t}function Mt(t,e,i){var n=e[0],o=e[2],a=e[4],r=e[1],s=e[3],l=e[5],u=Math.sin(i),h=Math.cos(i);return t[0]=n*h+r*u,t[1]=-n*u+r*h,t[2]=o*h+s*u,t[3]=-o*u+h*s,t[4]=h*a+u*l,t[5]=h*l-u*a,t}function It(t,e,i){var n=i[0],o=i[1];return t[0]=e[0]*n,t[1]=e[1]*o,t[2]=e[2]*n,t[3]=e[3]*o,t[4]=e[4]*n,t[5]=e[5]*o,t}function Tt(t,e){var i=e[0],n=e[2],o=e[4],a=e[1],r=e[3],s=e[5],l=i*r-a*n;return l?(l=1/l,t[0]=r*l,t[1]=-a*l,t[2]=-n*l,t[3]=i*l,t[4]=(n*s-r*o)*l,t[5]=(a*o-i*s)*l,t):null}function At(t){var e=xt();return wt(e,t),e}function Dt(t){return t>Iw||t<-Iw}function Ct(t){this._target=t.target,this._life=t.life||1e3,this._delay=t.delay||0,this._initialized=!1,this.loop=null!=t.loop&&t.loop,this.gap=t.gap||0,this.easing=t.easing||"Linear",this.onframe=t.onframe,this.ondestroy=t.ondestroy,this.onrestart=t.onrestart,this._pausedTime=0,this._paused=!1}function Lt(t){return(t=Math.round(t))<0?0:t>255?255:t}function kt(t){return(t=Math.round(t))<0?0:t>360?360:t}function Pt(t){return t<0?0:t>1?1:t}function Nt(t){return Lt(t.length&&"%"===t.charAt(t.length-1)?parseFloat(t)/100*255:parseInt(t,10))}function Ot(t){return Pt(t.length&&"%"===t.charAt(t.length-1)?parseFloat(t)/100:parseFloat(t))}function Et(t,e,i){return i<0?i+=1:i>1&&(i-=1),6*i<1?t+(e-t)*i*6:2*i<1?e:3*i<2?t+(e-t)*(2/3-i)*6:t}function Rt(t,e,i){return t+(e-t)*i}function zt(t,e,i,n,o){return t[0]=e,t[1]=i,t[2]=n,t[3]=o,t}function Bt(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function Vt(t,e){Vw&&Bt(Vw,e),Vw=Bw.put(t,Vw||e.slice())}function Gt(t,e){if(t){e=e||[];var i=Bw.get(t);if(i)return Bt(e,i);var n=(t+="").replace(/ /g,"").toLowerCase();if(n in zw)return Bt(e,zw[n]),Vt(t,e),e;if("#"!==n.charAt(0)){var o=n.indexOf("("),a=n.indexOf(")");if(-1!==o&&a+1===n.length){var r=n.substr(0,o),s=n.substr(o+1,a-(o+1)).split(","),l=1;switch(r){case"rgba":if(4!==s.length)return void zt(e,0,0,0,1);l=Ot(s.pop());case"rgb":return 3!==s.length?void zt(e,0,0,0,1):(zt(e,Nt(s[0]),Nt(s[1]),Nt(s[2]),l),Vt(t,e),e);case"hsla":return 4!==s.length?void zt(e,0,0,0,1):(s[3]=Ot(s[3]),Ft(s,e),Vt(t,e),e);case"hsl":return 3!==s.length?void zt(e,0,0,0,1):(Ft(s,e),Vt(t,e),e);default:return}}zt(e,0,0,0,1)}else{if(4===n.length)return(u=parseInt(n.substr(1),16))>=0&&u<=4095?(zt(e,(3840&u)>>4|(3840&u)>>8,240&u|(240&u)>>4,15&u|(15&u)<<4,1),Vt(t,e),e):void zt(e,0,0,0,1);if(7===n.length){var u=parseInt(n.substr(1),16);return u>=0&&u<=16777215?(zt(e,(16711680&u)>>16,(65280&u)>>8,255&u,1),Vt(t,e),e):void zt(e,0,0,0,1)}}}}function Ft(t,e){var i=(parseFloat(t[0])%360+360)%360/360,n=Ot(t[1]),o=Ot(t[2]),a=o<=.5?o*(n+1):o+n-o*n,r=2*o-a;return e=e||[],zt(e,Lt(255*Et(r,a,i+1/3)),Lt(255*Et(r,a,i)),Lt(255*Et(r,a,i-1/3)),1),4===t.length&&(e[3]=t[3]),e}function Wt(t){if(t){var e,i,n=t[0]/255,o=t[1]/255,a=t[2]/255,r=Math.min(n,o,a),s=Math.max(n,o,a),l=s-r,u=(s+r)/2;if(0===l)e=0,i=0;else{i=u<.5?l/(s+r):l/(2-s-r);var h=((s-n)/6+l/2)/l,c=((s-o)/6+l/2)/l,d=((s-a)/6+l/2)/l;n===s?e=d-c:o===s?e=1/3+h-d:a===s&&(e=2/3+c-h),e<0&&(e+=1),e>1&&(e-=1)}var f=[360*e,i,u];return null!=t[3]&&f.push(t[3]),f}}function Ht(t,e){var i=Gt(t);if(i){for(var n=0;n<3;n++)i[n]=e<0?i[n]*(1-e)|0:(255-i[n])*e+i[n]|0,i[n]>255?i[n]=255:t[n]<0&&(i[n]=0);return qt(i,4===i.length?"rgba":"rgb")}}function Zt(t){var e=Gt(t);if(e)return((1<<24)+(e[0]<<16)+(e[1]<<8)+ +e[2]).toString(16).slice(1)}function Ut(t,e,i){if(e&&e.length&&t>=0&&t<=1){i=i||[];var n=t*(e.length-1),o=Math.floor(n),a=Math.ceil(n),r=e[o],s=e[a],l=n-o;return i[0]=Lt(Rt(r[0],s[0],l)),i[1]=Lt(Rt(r[1],s[1],l)),i[2]=Lt(Rt(r[2],s[2],l)),i[3]=Pt(Rt(r[3],s[3],l)),i}}function Xt(t,e,i){if(e&&e.length&&t>=0&&t<=1){var n=t*(e.length-1),o=Math.floor(n),a=Math.ceil(n),r=Gt(e[o]),s=Gt(e[a]),l=n-o,u=qt([Lt(Rt(r[0],s[0],l)),Lt(Rt(r[1],s[1],l)),Lt(Rt(r[2],s[2],l)),Pt(Rt(r[3],s[3],l))],"rgba");return i?{color:u,leftIndex:o,rightIndex:a,value:n}:u}}function jt(t,e,i,n){if(t=Gt(t))return t=Wt(t),null!=e&&(t[0]=kt(e)),null!=i&&(t[1]=Ot(i)),null!=n&&(t[2]=Ot(n)),qt(Ft(t),"rgba")}function Yt(t,e){if((t=Gt(t))&&null!=e)return t[3]=Pt(e),qt(t,"rgba")}function qt(t,e){if(t&&t.length){var i=t[0]+","+t[1]+","+t[2];return"rgba"!==e&&"hsva"!==e&&"hsla"!==e||(i+=","+t[3]),e+"("+i+")"}}function Kt(t,e){return t[e]}function $t(t,e,i){t[e]=i}function Jt(t,e,i){return(e-t)*i+t}function Qt(t,e,i){return i>.5?e:t}function te(t,e,i,n,o){var a=t.length;if(1===o)for(s=0;so)t.length=o;else for(r=n;r=0&&!(m[i]<=e);i--);i=Math.min(i,u-2)}else{for(i=L;ie);i++);i=Math.min(i-1,u-2)}L=i,k=e;var n=m[i+1]-m[i];if(0!==n)if(I=(e-m[i])/n,l)if(A=v[i],T=v[0===i?i:i-1],D=v[i>u-2?u-1:i+1],C=v[i>u-3?u-1:i+2],d)ne(T,A,D,C,I,I*I,I*I*I,r(t,o),g);else{if(f)a=ne(T,A,D,C,I,I*I,I*I*I,P,1),a=re(P);else{if(p)return Qt(A,D,I);a=oe(T,A,D,C,I,I*I,I*I*I)}s(t,o,a)}else if(d)te(v[i],v[i+1],I,r(t,o),g);else{var a;if(f)te(v[i],v[i+1],I,P,1),a=re(P);else{if(p)return Qt(v[i],v[i+1],I);a=Jt(v[i],v[i+1],I)}s(t,o,a)}},ondestroy:i});return e&&"spline"!==e&&(N.easing=e),N}}}function ue(t,e,i,n,o,a,r,s){_(n)?(a=o,o=n,n=0):x(o)?(a=o,o="linear",n=0):x(n)?(a=n,n=0):x(i)?(a=i,i=500):i||(i=500),t.stopAnimation(),he(t,"",t,e,i,n,s);var l=t.animators.slice(),u=l.length;u||a&&a();for(var h=0;h0&&t.animate(e,!1).when(null==o?500:o,s).delay(a||0)}function ce(t,e,i,n){if(e){var o={};o[e]={},o[e][i]=n,t.attr(o)}else t.attr(i,n)}function de(t,e,i,n){i<0&&(t+=i,i=-i),n<0&&(e+=n,n=-n),this.x=t,this.y=e,this.width=i,this.height=n}function fe(t){for(var e=0;t>=eb;)e|=1&t,t>>=1;return t+e}function pe(t,e,i,n){var o=e+1;if(o===i)return 1;if(n(t[o++],t[e])<0){for(;o=0;)o++;return o-e}function ge(t,e,i){for(i--;e>>1])<0?l=a:s=a+1;var u=n-s;switch(u){case 3:t[s+3]=t[s+2];case 2:t[s+2]=t[s+1];case 1:t[s+1]=t[s];break;default:for(;u>0;)t[s+u]=t[s+u-1],u--}t[s]=r}}function ve(t,e,i,n,o,a){var r=0,s=0,l=1;if(a(t,e[i+o])>0){for(s=n-o;l0;)r=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s),r+=o,l+=o}else{for(s=o+1;ls&&(l=s);var u=r;r=o-l,l=o-u}for(r++;r>>1);a(t,e[i+h])>0?r=h+1:l=h}return l}function ye(t,e,i,n,o,a){var r=0,s=0,l=1;if(a(t,e[i+o])<0){for(s=o+1;ls&&(l=s);var u=r;r=o-l,l=o-u}else{for(s=n-o;l=0;)r=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s),r+=o,l+=o}for(r++;r>>1);a(t,e[i+h])<0?l=h:r=h+1}return l}function xe(t,e){function i(i){var s=a[i],u=r[i],h=a[i+1],c=r[i+1];r[i]=u+c,i===l-3&&(a[i+1]=a[i+2],r[i+1]=r[i+2]),l--;var d=ye(t[h],t,s,u,0,e);s+=d,0!==(u-=d)&&0!==(c=ve(t[s+u-1],t,h,c,c-1,e))&&(u<=c?n(s,u,h,c):o(s,u,h,c))}function n(i,n,o,a){var r=0;for(r=0;r=ib||f>=ib);if(p)break;g<0&&(g=0),g+=2}if((s=g)<1&&(s=1),1===n){for(r=0;r=0;r--)t[f+r]=t[d+r];if(0===n){v=!0;break}}if(t[c--]=u[h--],1==--a){v=!0;break}if(0!=(m=a-ve(t[l],u,0,a,a-1,e))){for(a-=m,f=(c-=m)+1,d=(h-=m)+1,r=0;r=ib||m>=ib);if(v)break;p<0&&(p=0),p+=2}if((s=p)<1&&(s=1),1===a){for(f=(c-=n)+1,d=(l-=n)+1,r=n-1;r>=0;r--)t[f+r]=t[d+r];t[c]=u[h]}else{if(0===a)throw new Error;for(d=c-(a-1),r=0;r=0;r--)t[f+r]=t[d+r];t[c]=u[h]}else for(d=c-(a-1),r=0;r1;){var t=l-2;if(t>=1&&r[t-1]<=r[t]+r[t+1]||t>=2&&r[t-2]<=r[t]+r[t-1])r[t-1]r[t+1])break;i(t)}},this.forceMergeRuns=function(){for(;l>1;){var t=l-2;t>0&&r[t-1]s&&(l=s),me(t,i,i+l,i+a,e),a=l}r.pushRun(i,a),r.mergeRuns(),o-=a,i+=a}while(0!==o);r.forceMergeRuns()}}function we(t,e){return t.zlevel===e.zlevel?t.z===e.z?t.z2-e.z2:t.z-e.z:t.zlevel-e.zlevel}function be(t,e,i){var n=null==e.x?0:e.x,o=null==e.x2?1:e.x2,a=null==e.y?0:e.y,r=null==e.y2?0:e.y2;return e.global||(n=n*i.width+i.x,o=o*i.width+i.x,a=a*i.height+i.y,r=r*i.height+i.y),n=isNaN(n)?0:n,o=isNaN(o)?1:o,a=isNaN(a)?0:a,r=isNaN(r)?0:r,t.createLinearGradient(n,a,o,r)}function Se(t,e,i){var n=i.width,o=i.height,a=Math.min(n,o),r=null==e.x?.5:e.x,s=null==e.y?.5:e.y,l=null==e.r?.5:e.r;return e.global||(r=r*n+i.x,s=s*o+i.y,l*=a),t.createRadialGradient(r,s,0,r,s,l)}function Me(){return!1}function Ie(t,e,i){var n=iw(),o=e.getWidth(),a=e.getHeight(),r=n.style;return r&&(r.position="absolute",r.left=0,r.top=0,r.width=o+"px",r.height=a+"px",n.setAttribute("data-zr-dom-id",t)),n.width=o*i,n.height=a*i,n}function Te(t){if("string"==typeof t){var e=mb.get(t);return e&&e.image}return t}function Ae(t,e,i,n,o){if(t){if("string"==typeof t){if(e&&e.__zrImageSrc===t||!i)return e;var a=mb.get(t),r={hostEl:i,cb:n,cbPayload:o};return a?!Ce(e=a.image)&&a.pending.push(r):((e=new Image).onload=e.onerror=De,mb.put(t,e.__cachedImgObj={image:e,pending:[r]}),e.src=e.__zrImageSrc=t),e}return t}return e}function De(){var t=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var e=0;exb&&(yb=0,vb={}),yb++,vb[i]=o,o}function ke(t,e,i,n,o,a,r,s){return r?Ne(t,e,i,n,o,r,a,s):Pe(t,e,i,n,o,a,s)}function Pe(t,e,i,n,o,a,r){var s=He(t,e,o,a,r),l=Le(t,e);o&&(l+=o[1]+o[3]);var u=s.outerHeight,h=new de(Oe(0,l,i),Ee(0,u,n),l,u);return h.lineHeight=s.lineHeight,h}function Ne(t,e,i,n,o,a,r,s){var l=Ze(t,{rich:r,truncate:s,font:e,textAlign:i,textPadding:o,textLineHeight:a}),u=l.outerWidth,h=l.outerHeight;return new de(Oe(0,u,i),Ee(0,h,n),u,h)}function Oe(t,e,i){return"right"===i?t-=e:"center"===i&&(t-=e/2),t}function Ee(t,e,i){return"middle"===i?t-=e/2:"bottom"===i&&(t-=e),t}function Re(t,e,i){var n=e.x,o=e.y,a=e.height,r=e.width,s=a/2,l="left",u="top";switch(t){case"left":n-=i,o+=s,l="right",u="middle";break;case"right":n+=i+r,o+=s,u="middle";break;case"top":n+=r/2,o-=i,l="center",u="bottom";break;case"bottom":n+=r/2,o+=a+i,l="center";break;case"inside":n+=r/2,o+=s,l="center",u="middle";break;case"insideLeft":n+=i,o+=s,u="middle";break;case"insideRight":n+=r-i,o+=s,l="right",u="middle";break;case"insideTop":n+=r/2,o+=i,l="center";break;case"insideBottom":n+=r/2,o+=a-i,l="center",u="bottom";break;case"insideTopLeft":n+=i,o+=i;break;case"insideTopRight":n+=r-i,o+=i,l="right";break;case"insideBottomLeft":n+=i,o+=a-i,u="bottom";break;case"insideBottomRight":n+=r-i,o+=a-i,l="right",u="bottom"}return{x:n,y:o,textAlign:l,textVerticalAlign:u}}function ze(t,e,i,n,o){if(!e)return"";var a=(t+"").split("\n");o=Be(e,i,n,o);for(var r=0,s=a.length;r=r;l++)s-=r;var u=Le(i,e);return u>s&&(i="",u=0),s=t-u,n.ellipsis=i,n.ellipsisWidth=u,n.contentWidth=s,n.containerWidth=t,n}function Ve(t,e){var i=e.containerWidth,n=e.font,o=e.contentWidth;if(!i)return"";var a=Le(t,n);if(a<=i)return t;for(var r=0;;r++){if(a<=o||r>=e.maxIterations){t+=e.ellipsis;break}var s=0===r?Ge(t,o,e.ascCharWidth,e.cnCharWidth):a>0?Math.floor(t.length*o/a):0;a=Le(t=t.substr(0,s),n)}return""===t&&(t=e.placeholder),t}function Ge(t,e,i,n){for(var o=0,a=0,r=t.length;au)t="",r=[];else if(null!=h)for(var c=Be(h-(i?i[1]+i[3]:0),e,o.ellipsis,{minChar:o.minChar,placeholder:o.placeholder}),d=0,f=r.length;do&&Ue(i,t.substring(o,a)),Ue(i,n[2],n[1]),o=_b.lastIndex}of)return{lines:[],width:0,height:0};k.textWidth=Le(k.text,_);var b=y.textWidth,S=null==b||"auto"===b;if("string"==typeof b&&"%"===b.charAt(b.length-1))k.percentWidth=b,u.push(k),b=0;else{if(S){b=k.textWidth;var M=y.textBackgroundColor,I=M&&M.image;I&&Ce(I=Te(I))&&(b=Math.max(b,I.width*w/I.height))}var T=x?x[1]+x[3]:0;b+=T;var C=null!=d?d-m:null;null!=C&&Cl&&(i*=l/(c=i+n),n*=l/c),o+a>l&&(o*=l/(c=o+a),a*=l/c),n+o>u&&(n*=u/(c=n+o),o*=u/c),i+a>u&&(i*=u/(c=i+a),a*=u/c),t.moveTo(r+i,s),t.lineTo(r+l-n,s),0!==n&&t.arc(r+l-n,s+n,n,-Math.PI/2,0),t.lineTo(r+l,s+u-o),0!==o&&t.arc(r+l-o,s+u-o,o,0,Math.PI/2),t.lineTo(r+a,s+u),0!==a&&t.arc(r+a,s+u-a,a,Math.PI/2,Math.PI),t.lineTo(r,s+i),0!==i&&t.arc(r+i,s+i,i,Math.PI,1.5*Math.PI)}function Ye(t){return qe(t),d(t.rich,qe),t}function qe(t){if(t){t.font=Xe(t);var e=t.textAlign;"middle"===e&&(e="center"),t.textAlign=null==e||Mb[e]?e:"left";var i=t.textVerticalAlign||t.textBaseline;"center"===i&&(i="middle"),t.textVerticalAlign=null==i||Ib[i]?i:"top",t.textPadding&&(t.textPadding=L(t.textPadding))}}function Ke(t,e,i,n,o,a){n.rich?Je(t,e,i,n,o,a):$e(t,e,i,n,o,a)}function $e(t,e,i,n,o,a){var r,s=ii(n),l=!1,u=e.__attrCachedBy===rb.PLAIN_TEXT;a!==sb?(a&&(r=a.style,l=!s&&u&&r),e.__attrCachedBy=s?rb.NONE:rb.PLAIN_TEXT):u&&(e.__attrCachedBy=rb.NONE);var h=n.font||Sb;l&&h===(r.font||Sb)||(e.font=h);var c=t.__computedFont;t.__styleFont!==h&&(t.__styleFont=h,c=t.__computedFont=e.font);var d=n.textPadding,f=n.textLineHeight,p=t.__textCotentBlock;p&&!t.__dirtyText||(p=t.__textCotentBlock=He(i,c,d,f,n.truncate));var g=p.outerHeight,m=p.lines,v=p.lineHeight,y=ai(g,n,o),x=y.baseX,_=y.baseY,w=y.textAlign||"left",b=y.textVerticalAlign;ti(e,n,o,x,_);var S=Ee(_,g,b),M=x,I=S;if(s||d){var T=Le(i,c);d&&(T+=d[1]+d[3]);var A=Oe(x,T,w);s&&ni(t,e,n,A,S,T,g),d&&(M=hi(x,w,d),I+=d[0])}e.textAlign=w,e.textBaseline="middle",e.globalAlpha=n.opacity||1;for(B=0;B=0&&"right"===(_=b[C]).textAlign;)ei(t,e,_,n,M,v,D,"right"),I-=_.width,D-=_.width,C--;for(A+=(a-(A-m)-(y-D)-I)/2;T<=C;)ei(t,e,_=b[T],n,M,v,A+_.width/2,"center"),A+=_.width,T++;v+=M}}function ti(t,e,i,n,o){if(i&&e.textRotation){var a=e.textOrigin;"center"===a?(n=i.width/2+i.x,o=i.height/2+i.y):a&&(n=a[0]+i.x,o=a[1]+i.y),t.translate(n,o),t.rotate(-e.textRotation),t.translate(-n,-o)}}function ei(t,e,i,n,o,a,r,s){var l=n.rich[i.styleName]||{};l.text=i.text;var u=i.textVerticalAlign,h=a+o/2;"top"===u?h=a+i.height/2:"bottom"===u&&(h=a+o-i.height/2),!i.isLineHolder&&ii(l)&&ni(t,e,l,"right"===s?r-i.width:"center"===s?r-i.width/2:r,h-i.height/2,i.width,i.height);var c=i.textPadding;c&&(r=hi(r,s,c),h-=i.height/2-c[2]-i.textHeight/2),ri(e,"shadowBlur",D(l.textShadowBlur,n.textShadowBlur,0)),ri(e,"shadowColor",l.textShadowColor||n.textShadowColor||"transparent"),ri(e,"shadowOffsetX",D(l.textShadowOffsetX,n.textShadowOffsetX,0)),ri(e,"shadowOffsetY",D(l.textShadowOffsetY,n.textShadowOffsetY,0)),ri(e,"textAlign",s),ri(e,"textBaseline","middle"),ri(e,"font",i.font||Sb);var d=si(l.textStroke||n.textStroke,p),f=li(l.textFill||n.textFill),p=A(l.textStrokeWidth,n.textStrokeWidth);d&&(ri(e,"lineWidth",p),ri(e,"strokeStyle",d),e.strokeText(i.text,r,h)),f&&(ri(e,"fillStyle",f),e.fillText(i.text,r,h))}function ii(t){return!!(t.textBackgroundColor||t.textBorderWidth&&t.textBorderColor)}function ni(t,e,i,n,o,a,r){var s=i.textBackgroundColor,l=i.textBorderWidth,u=i.textBorderColor,h=_(s);if(ri(e,"shadowBlur",i.textBoxShadowBlur||0),ri(e,"shadowColor",i.textBoxShadowColor||"transparent"),ri(e,"shadowOffsetX",i.textBoxShadowOffsetX||0),ri(e,"shadowOffsetY",i.textBoxShadowOffsetY||0),h||l&&u){e.beginPath();var c=i.textBorderRadius;c?je(e,{x:n,y:o,width:a,height:r,r:c}):e.rect(n,o,a,r),e.closePath()}if(h)if(ri(e,"fillStyle",s),null!=i.fillOpacity){f=e.globalAlpha;e.globalAlpha=i.fillOpacity*i.opacity,e.fill(),e.globalAlpha=f}else e.fill();else if(w(s)){var d=s.image;(d=Ae(d,null,t,oi,s))&&Ce(d)&&e.drawImage(d,n,o,a,r)}if(l&&u)if(ri(e,"lineWidth",l),ri(e,"strokeStyle",u),null!=i.strokeOpacity){var f=e.globalAlpha;e.globalAlpha=i.strokeOpacity*i.opacity,e.stroke(),e.globalAlpha=f}else e.stroke()}function oi(t,e){e.image=t}function ai(t,e,i){var n=e.x||0,o=e.y||0,a=e.textAlign,r=e.textVerticalAlign;if(i){var s=e.textPosition;if(s instanceof Array)n=i.x+ui(s[0],i.width),o=i.y+ui(s[1],i.height);else{var l=Re(s,i,e.textDistance);n=l.x,o=l.y,a=a||l.textAlign,r=r||l.textVerticalAlign}var u=e.textOffset;u&&(n+=u[0],o+=u[1])}return{baseX:n,baseY:o,textAlign:a,textVerticalAlign:r}}function ri(t,e,i){return t[e]=ab(t,e,i),t[e]}function si(t,e){return null==t||e<=0||"transparent"===t||"none"===t?null:t.image||t.colorStops?"#000":t}function li(t){return null==t||"none"===t?null:t.image||t.colorStops?"#000":t}function ui(t,e){return"string"==typeof t?t.lastIndexOf("%")>=0?parseFloat(t)/100*e:parseFloat(t):t}function hi(t,e,i){return"right"===e?t-i[1]:"center"===e?t+i[3]/2-i[1]/2:t+i[3]}function ci(t,e){return null!=t&&(t||e.textBackgroundColor||e.textBorderWidth&&e.textBorderColor||e.textPadding)}function di(t){t=t||{},Kw.call(this,t);for(var e in t)t.hasOwnProperty(e)&&"style"!==e&&(this[e]=t[e]);this.style=new ub(t.style,this),this._rect=null,this.__clipPaths=[]}function fi(t){di.call(this,t)}function pi(t){return parseInt(t,10)}function gi(t){return!!t&&(!!t.__builtin__||"function"==typeof t.resize&&"function"==typeof t.refresh)}function mi(t,e,i){return Cb.copy(t.getBoundingRect()),t.transform&&Cb.applyTransform(t.transform),Lb.width=e,Lb.height=i,!Cb.intersect(Lb)}function vi(t,e){if(t===e)return!1;if(!t||!e||t.length!==e.length)return!0;for(var i=0;i=i.length&&i.push({option:t})}}),i}function Ni(t){var e=R();Zb(t,function(t,i){var n=t.exist;n&&e.set(n.id,t)}),Zb(t,function(t,i){var n=t.option;k(!n||null==n.id||!e.get(n.id)||e.get(n.id)===t,"id duplicates: "+(n&&n.id)),n&&null!=n.id&&e.set(n.id,t),!t.keyInfo&&(t.keyInfo={})}),Zb(t,function(t,i){var n=t.exist,o=t.option,a=t.keyInfo;if(Ub(o)){if(a.name=null!=o.name?o.name+"":n?n.name:jb+i,n)a.id=n.id;else if(null!=o.id)a.id=o.id+"";else{var r=0;do{a.id="\0"+a.name+"\0"+r++}while(e.get(a.id))}e.set(a.id,t)}})}function Oi(t){var e=t.name;return!(!e||!e.indexOf(jb))}function Ei(t){return Ub(t)&&t.id&&0===(t.id+"").indexOf("\0_ec_\0")}function Ri(t,e){function i(t,e,i){for(var n=0,o=t.length;n-rS&&trS||t<-rS}function Qi(t,e,i,n,o){var a=1-o;return a*a*(a*t+3*o*e)+o*o*(o*n+3*a*i)}function tn(t,e,i,n,o){var a=1-o;return 3*(((e-t)*a+2*(i-e)*o)*a+(n-i)*o*o)}function en(t,e,i,n,o,a){var r=n+3*(e-i)-t,s=3*(i-2*e+t),l=3*(e-t),u=t-o,h=s*s-3*r*l,c=s*l-9*r*u,d=l*l-3*s*u,f=0;if($i(h)&&$i(c))$i(s)?a[0]=0:(M=-l/s)>=0&&M<=1&&(a[f++]=M);else{var p=c*c-4*h*d;if($i(p)){var g=c/h,m=-g/2;(M=-s/r+g)>=0&&M<=1&&(a[f++]=M),m>=0&&m<=1&&(a[f++]=m)}else if(p>0){var v=aS(p),y=h*s+1.5*r*(-c+v),x=h*s+1.5*r*(-c-v);(M=(-s-((y=y<0?-oS(-y,uS):oS(y,uS))+(x=x<0?-oS(-x,uS):oS(x,uS))))/(3*r))>=0&&M<=1&&(a[f++]=M)}else{var _=(2*h*s-3*r*c)/(2*aS(h*h*h)),w=Math.acos(_)/3,b=aS(h),S=Math.cos(w),M=(-s-2*b*S)/(3*r),m=(-s+b*(S+lS*Math.sin(w)))/(3*r),I=(-s+b*(S-lS*Math.sin(w)))/(3*r);M>=0&&M<=1&&(a[f++]=M),m>=0&&m<=1&&(a[f++]=m),I>=0&&I<=1&&(a[f++]=I)}}return f}function nn(t,e,i,n,o){var a=6*i-12*e+6*t,r=9*e+3*n-3*t-9*i,s=3*e-3*t,l=0;if($i(r))Ji(a)&&(c=-s/a)>=0&&c<=1&&(o[l++]=c);else{var u=a*a-4*r*s;if($i(u))o[0]=-a/(2*r);else if(u>0){var h=aS(u),c=(-a+h)/(2*r),d=(-a-h)/(2*r);c>=0&&c<=1&&(o[l++]=c),d>=0&&d<=1&&(o[l++]=d)}}return l}function on(t,e,i,n,o,a){var r=(e-t)*o+t,s=(i-e)*o+e,l=(n-i)*o+i,u=(s-r)*o+r,h=(l-s)*o+s,c=(h-u)*o+u;a[0]=t,a[1]=r,a[2]=u,a[3]=c,a[4]=c,a[5]=h,a[6]=l,a[7]=n}function an(t,e,i,n,o,a,r,s,l,u,h){var c,d,f,p,g,m=.005,v=1/0;hS[0]=l,hS[1]=u;for(var y=0;y<1;y+=.05)cS[0]=Qi(t,i,o,r,y),cS[1]=Qi(e,n,a,s,y),(p=hw(hS,cS))=0&&p=0&&c<=1&&(o[l++]=c);else{var u=r*r-4*a*s;if($i(u))(c=-r/(2*a))>=0&&c<=1&&(o[l++]=c);else if(u>0){var h=aS(u),c=(-r+h)/(2*a),d=(-r-h)/(2*a);c>=0&&c<=1&&(o[l++]=c),d>=0&&d<=1&&(o[l++]=d)}}return l}function un(t,e,i){var n=t+i-2*e;return 0===n?.5:(t-e)/n}function hn(t,e,i,n,o){var a=(e-t)*n+t,r=(i-e)*n+e,s=(r-a)*n+a;o[0]=t,o[1]=a,o[2]=s,o[3]=s,o[4]=r,o[5]=i}function cn(t,e,i,n,o,a,r,s,l){var u,h=.005,c=1/0;hS[0]=r,hS[1]=s;for(var d=0;d<1;d+=.05)cS[0]=rn(t,i,o,d),cS[1]=rn(e,n,a,d),(m=hw(hS,cS))=0&&m1e-4)return s[0]=t-i,s[1]=e-n,l[0]=t+i,void(l[1]=e+n);if(yS[0]=mS(o)*i+t,yS[1]=gS(o)*n+e,xS[0]=mS(a)*i+t,xS[1]=gS(a)*n+e,u(s,yS,xS),h(l,yS,xS),(o%=vS)<0&&(o+=vS),(a%=vS)<0&&(a+=vS),o>a&&!r?a+=vS:oo&&(_S[0]=mS(f)*i+t,_S[1]=gS(f)*n+e,u(s,_S,s),h(l,_S,l))}function vn(t,e,i,n,o,a,r){if(0===o)return!1;var s=o,l=0,u=t;if(r>e+s&&r>n+s||rt+s&&a>i+s||ae+c&&h>n+c&&h>a+c&&h>s+c||ht+c&&u>i+c&&u>o+c&&u>r+c||ue+u&&l>n+u&&l>a+u||lt+u&&s>i+u&&s>o+u||si||h+uo&&(o+=zS);var d=Math.atan2(l,s);return d<0&&(d+=zS),d>=n&&d<=o||d+zS>=n&&d+zS<=o}function bn(t,e,i,n,o,a){if(a>e&&a>n||ao?r:0}function Sn(t,e){return Math.abs(t-e)e&&u>n&&u>a&&u>s||u1&&Mn(),c=Qi(e,n,a,s,WS[0]),p>1&&(d=Qi(e,n,a,s,WS[1]))),2===p?me&&s>n&&s>a||s=0&&u<=1){for(var h=0,c=rn(e,n,a,u),d=0;di||s<-i)return 0;u=Math.sqrt(i*i-s*s);FS[0]=-u,FS[1]=u;var l=Math.abs(n-o);if(l<1e-4)return 0;if(l%VS<1e-4){n=0,o=VS;p=a?1:-1;return r>=FS[0]+t&&r<=FS[1]+t?p:0}if(a){var u=n;n=_n(o),o=_n(u)}else n=_n(n),o=_n(o);n>o&&(o+=VS);for(var h=0,c=0;c<2;c++){var d=FS[c];if(d+t>r){var f=Math.atan2(s,d),p=a?1:-1;f<0&&(f=VS+f),(f>=n&&f<=o||f+VS>=n&&f+VS<=o)&&(f>Math.PI/2&&f<1.5*Math.PI&&(p=-p),h+=p)}}return h}function Dn(t,e,i,n,o){for(var a=0,r=0,s=0,l=0,u=0,h=0;h1&&(i||(a+=bn(r,s,l,u,n,o))),1===h&&(l=r=t[h],u=s=t[h+1]),c){case BS.M:r=l=t[h++],s=u=t[h++];break;case BS.L:if(i){if(vn(r,s,t[h],t[h+1],e,n,o))return!0}else a+=bn(r,s,t[h],t[h+1],n,o)||0;r=t[h++],s=t[h++];break;case BS.C:if(i){if(yn(r,s,t[h++],t[h++],t[h++],t[h++],t[h],t[h+1],e,n,o))return!0}else a+=In(r,s,t[h++],t[h++],t[h++],t[h++],t[h],t[h+1],n,o)||0;r=t[h++],s=t[h++];break;case BS.Q:if(i){if(xn(r,s,t[h++],t[h++],t[h],t[h+1],e,n,o))return!0}else a+=Tn(r,s,t[h++],t[h++],t[h],t[h+1],n,o)||0;r=t[h++],s=t[h++];break;case BS.A:var d=t[h++],f=t[h++],p=t[h++],g=t[h++],m=t[h++],v=t[h++];h+=1;var y=1-t[h++],x=Math.cos(m)*p+d,_=Math.sin(m)*g+f;h>1?a+=bn(r,s,x,_,n,o):(l=x,u=_);var w=(n-d)*g/p+d;if(i){if(wn(d,f,g,m,m+v,y,e,w,o))return!0}else a+=An(d,f,g,m,m+v,y,w,o);r=Math.cos(m+v)*p+d,s=Math.sin(m+v)*g+f;break;case BS.R:l=r=t[h++],u=s=t[h++];var x=l+t[h++],_=u+t[h++];if(i){if(vn(l,u,x,u,e,n,o)||vn(x,u,x,_,e,n,o)||vn(x,_,l,_,e,n,o)||vn(l,_,l,u,e,n,o))return!0}else a+=bn(x,u,x,_,n,o),a+=bn(l,_,l,u,n,o);break;case BS.Z:if(i){if(vn(r,s,l,u,e,n,o))return!0}else a+=bn(r,s,l,u,n,o);r=l,s=u}}return i||Sn(s,u)||(a+=bn(r,s,l,u,n,o)||0),0!==a}function Cn(t,e,i){return Dn(t,0,!1,e,i)}function Ln(t,e,i,n){return Dn(t,e,!0,i,n)}function kn(t){di.call(this,t),this.path=null}function Pn(t,e,i,n,o,a,r,s,l,u,h){var c=l*(tM/180),d=QS(c)*(t-i)/2+JS(c)*(e-n)/2,f=-1*JS(c)*(t-i)/2+QS(c)*(e-n)/2,p=d*d/(r*r)+f*f/(s*s);p>1&&(r*=$S(p),s*=$S(p));var g=(o===a?-1:1)*$S((r*r*(s*s)-r*r*(f*f)-s*s*(d*d))/(r*r*(f*f)+s*s*(d*d)))||0,m=g*r*f/s,v=g*-s*d/r,y=(t+i)/2+QS(c)*m-JS(c)*v,x=(e+n)/2+JS(c)*m+QS(c)*v,_=nM([1,0],[(d-m)/r,(f-v)/s]),w=[(d-m)/r,(f-v)/s],b=[(-1*d-m)/r,(-1*f-v)/s],S=nM(w,b);iM(w,b)<=-1&&(S=tM),iM(w,b)>=1&&(S=0),0===a&&S>0&&(S-=2*tM),1===a&&S<0&&(S+=2*tM),h.addData(u,y,x,r,s,_,S,c,a)}function Nn(t){if(!t)return new ES;for(var e,i=0,n=0,o=i,a=n,r=new ES,s=ES.CMD,l=t.match(oM),u=0;u=2){if(o&&"spline"!==o){var a=fM(n,o,i,e.smoothConstraint);t.moveTo(n[0][0],n[0][1]);for(var r=n.length,s=0;s<(i?r:r-1);s++){var l=a[2*s],u=a[2*s+1],h=n[(s+1)%r];t.bezierCurveTo(l[0],l[1],u[0],u[1],h[0],h[1])}}else{"spline"===o&&(n=dM(n,i)),t.moveTo(n[0][0],n[0][1]);for(var s=1,c=n.length;s=0)?(i={textFill:null,textStroke:t.textStroke,textStrokeWidth:t.textStrokeWidth},t.textFill="#fff",null==t.textStroke&&(t.textStroke=a,null==t.textStrokeWidth&&(t.textStrokeWidth=2))):null!=a&&(i={textFill:null},t.textFill=a),i&&(t.insideRollback=i)}}function wo(t){var e=t.insideRollback;e&&(t.textFill=e.textFill,t.textStroke=e.textStroke,t.textStrokeWidth=e.textStrokeWidth,t.insideRollback=null)}function bo(t,e){var i=e||e.getModel("textStyle");return P([t.fontStyle||i&&i.getShallow("fontStyle")||"",t.fontWeight||i&&i.getShallow("fontWeight")||"",(t.fontSize||i&&i.getShallow("fontSize")||12)+"px",t.fontFamily||i&&i.getShallow("fontFamily")||"sans-serif"].join(" "))}function So(t,e,i,n,o,a){if("function"==typeof o&&(a=o,o=null),n&&n.isAnimationEnabled()){var r=t?"Update":"",s=n.getShallow("animationDuration"+r),l=n.getShallow("animationEasing"+r),u=n.getShallow("animationDelay"+r);"function"==typeof u&&(u=u(o,n.getAnimationDelayParams?n.getAnimationDelayParams(e,o):null)),"function"==typeof s&&(s=s(o)),s>0?e.animateTo(i,s,u||0,l,a,!!a):(e.stopAnimation(),e.attr(i),a&&a())}else e.stopAnimation(),e.attr(i),a&&a()}function Mo(t,e,i,n,o){So(!0,t,e,i,n,o)}function Io(t,e,i,n,o){So(!1,t,e,i,n,o)}function To(t,e){for(var i=_t([]);t&&t!==e;)bt(i,t.getLocalTransform(),i),t=t.parent;return i}function Ao(t,e,i){return e&&!c(e)&&(e=Tw.getLocalTransform(e)),i&&(e=Tt([],e)),Q([],t,e)}function Do(t,e,i){var n=0===e[4]||0===e[5]||0===e[0]?1:Math.abs(2*e[4]/e[0]),o=0===e[4]||0===e[5]||0===e[2]?1:Math.abs(2*e[4]/e[2]),a=["left"===t?-n:"right"===t?n:0,"top"===t?-o:"bottom"===t?o:0];return a=Ao(a,e,i),Math.abs(a[0])>Math.abs(a[1])?a[0]>0?"right":"left":a[1]>0?"bottom":"top"}function Co(t,e,i,n){function o(t){var e={position:F(t.position),rotation:t.rotation};return t.shape&&(e.shape=a({},t.shape)),e}if(t&&e){var r=function(t){var e={};return t.traverse(function(t){!t.isGroup&&t.anid&&(e[t.anid]=t)}),e}(t);e.traverse(function(t){if(!t.isGroup&&t.anid){var e=r[t.anid];if(e){var n=o(t);t.attr(o(e)),Mo(t,n,i,t.dataIndex)}}})}}function Lo(t,e){return f(t,function(t){var i=t[0];i=LM(i,e.x),i=kM(i,e.x+e.width);var n=t[1];return n=LM(n,e.y),n=kM(n,e.y+e.height),[i,n]})}function ko(t,e,i){var n=(e=a({rectHover:!0},e)).style={strokeNoScale:!0};if(i=i||{x:-1,y:-1,width:2,height:2},t)return 0===t.indexOf("image://")?(n.image=t.slice(8),r(n,i),new fi(e)):Un(t.replace("path://",""),e,i,"center")}function Po(t,e,i){this.parentModel=e,this.ecModel=i,this.option=t}function No(t,e,i){for(var n=0;n0){if(t<=e[0])return i[0];if(t>=e[1])return i[1]}else{if(t>=e[0])return i[0];if(t<=e[1])return i[1]}else{if(t===e[0])return i[0];if(t===e[1])return i[1]}return(t-e[0])/o*a+i[0]}function Bo(t,e){switch(t){case"center":case"middle":t="50%";break;case"left":case"top":t="0%";break;case"right":case"bottom":t="100%"}return"string"==typeof t?Ro(t).match(/%$/)?parseFloat(t)/100*e:parseFloat(t):null==t?NaN:+t}function Vo(t,e,i){return null==e&&(e=10),e=Math.min(Math.max(0,e),20),t=(+t).toFixed(e),i?t:+t}function Go(t){return t.sort(function(t,e){return t-e}),t}function Fo(t){if(t=+t,isNaN(t))return 0;for(var e=1,i=0;Math.round(t*e)/e!==t;)e*=10,i++;return i}function Wo(t){var e=t.toString(),i=e.indexOf("e");if(i>0){var n=+e.slice(i+1);return n<0?-n:0}var o=e.indexOf(".");return o<0?0:e.length-1-o}function Ho(t,e){var i=Math.log,n=Math.LN10,o=Math.floor(i(t[1]-t[0])/n),a=Math.round(i(Math.abs(e[1]-e[0]))/n),r=Math.min(Math.max(-o+a,0),20);return isFinite(r)?r:20}function Zo(t,e,i){if(!t[e])return 0;var n=p(t,function(t,e){return t+(isNaN(e)?0:e)},0);if(0===n)return 0;for(var o=Math.pow(10,i),a=f(t,function(t){return(isNaN(t)?0:t)/n*o*100}),r=100*o,s=f(a,function(t){return Math.floor(t)}),l=p(s,function(t,e){return t+e},0),u=f(a,function(t,e){return t-s[e]});lh&&(h=u[d],c=d);++s[c],u[c]=0,++l}return s[e]/o}function Uo(t){var e=2*Math.PI;return(t%e+e)%e}function Xo(t){return t>-UM&&t=-20?+t.toFixed(n<0?-n:0):t}function $o(t){function e(t,i,n){return t.interval[n]=0}function Qo(t){return isNaN(t)?"-":(t=(t+"").split("."))[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(t.length>1?"."+t[1]:"")}function ta(t,e){return t=(t||"").toLowerCase().replace(/-(.)/g,function(t,e){return e.toUpperCase()}),e&&t&&(t=t.charAt(0).toUpperCase()+t.slice(1)),t}function ea(t){return null==t?"":(t+"").replace(KM,function(t,e){return $M[e]})}function ia(t,e,i){y(e)||(e=[e]);var n=e.length;if(!n)return"";for(var o=e[0].$vars||[],a=0;a':'':{renderMode:o,content:"{marker"+a+"|} ",style:{color:i}}:""}function aa(t,e){return t+="","0000".substr(0,e-t.length)+t}function ra(t,e,i){"week"!==t&&"month"!==t&&"quarter"!==t&&"half-year"!==t&&"year"!==t||(t="MM-dd\nyyyy");var n=jo(e),o=i?"UTC":"",a=n["get"+o+"FullYear"](),r=n["get"+o+"Month"]()+1,s=n["get"+o+"Date"](),l=n["get"+o+"Hours"](),u=n["get"+o+"Minutes"](),h=n["get"+o+"Seconds"](),c=n["get"+o+"Milliseconds"]();return t=t.replace("MM",aa(r,2)).replace("M",r).replace("yyyy",a).replace("yy",a%100).replace("dd",aa(s,2)).replace("d",s).replace("hh",aa(l,2)).replace("h",l).replace("mm",aa(u,2)).replace("m",u).replace("ss",aa(h,2)).replace("s",h).replace("SSS",aa(c,3))}function sa(t){return t?t.charAt(0).toUpperCase()+t.substr(1):t}function la(t,e,i,n,o){var a=0,r=0;null==n&&(n=1/0),null==o&&(o=1/0);var s=0;e.eachChild(function(l,u){var h,c,d=l.position,f=l.getBoundingRect(),p=e.childAt(u+1),g=p&&p.getBoundingRect();if("horizontal"===t){var m=f.width+(g?-g.x+f.x:0);(h=a+m)>n||l.newline?(a=0,h=m,r+=s+i,s=f.height):s=Math.max(s,f.height)}else{var v=f.height+(g?-g.y+f.y:0);(c=r+v)>o||l.newline?(a+=s+i,r=0,c=v,s=f.width):s=Math.max(s,f.width)}l.newline||(d[0]=a,d[1]=r,"horizontal"===t?a=h+i:r=c+i)})}function ua(t,e,i){var n=e.width,o=e.height,a=Bo(t.x,n),r=Bo(t.y,o),s=Bo(t.x2,n),l=Bo(t.y2,o);return(isNaN(a)||isNaN(parseFloat(t.x)))&&(a=0),(isNaN(s)||isNaN(parseFloat(t.x2)))&&(s=n),(isNaN(r)||isNaN(parseFloat(t.y)))&&(r=0),(isNaN(l)||isNaN(parseFloat(t.y2)))&&(l=o),i=qM(i||0),{width:Math.max(s-a-i[1]-i[3],0),height:Math.max(l-r-i[0]-i[2],0)}}function ha(t,e,i){i=qM(i||0);var n=e.width,o=e.height,a=Bo(t.left,n),r=Bo(t.top,o),s=Bo(t.right,n),l=Bo(t.bottom,o),u=Bo(t.width,n),h=Bo(t.height,o),c=i[2]+i[0],d=i[1]+i[3],f=t.aspect;switch(isNaN(u)&&(u=n-s-d-a),isNaN(h)&&(h=o-l-c-r),null!=f&&(isNaN(u)&&isNaN(h)&&(f>n/o?u=.8*n:h=.8*o),isNaN(u)&&(u=f*h),isNaN(h)&&(h=u/f)),isNaN(a)&&(a=n-s-u-d),isNaN(r)&&(r=o-l-h-c),t.left||t.right){case"center":a=n/2-u/2-i[3];break;case"right":a=n-u-d}switch(t.top||t.bottom){case"middle":case"center":r=o/2-h/2-i[0];break;case"bottom":r=o-h-c}a=a||0,r=r||0,isNaN(u)&&(u=n-d-a-(s||0)),isNaN(h)&&(h=o-c-r-(l||0));var p=new de(a+i[3],r+i[0],u,h);return p.margin=i,p}function ca(t,e,i,n,o){var a=!o||!o.hv||o.hv[0],s=!o||!o.hv||o.hv[1],l=o&&o.boundingMode||"all";if(a||s){var u;if("raw"===l)u="group"===t.type?new de(0,0,+e.width||0,+e.height||0):t.getBoundingRect();else if(u=t.getBoundingRect(),t.needLocalTransform()){var h=t.getLocalTransform();(u=u.clone()).applyTransform(h)}e=ha(r({width:u.width,height:u.height},e),i,n);var c=t.position,d=a?e.x-u.x:0,f=s?e.y-u.y:0;t.attr("position","raw"===l?[d,f]:[c[0]+d,c[1]+f])}}function da(t,e){return null!=t[aI[e][0]]||null!=t[aI[e][1]]&&null!=t[aI[e][2]]}function fa(t,e,i){function n(i,n){var r={},l=0,u={},h=0;if(nI(i,function(e){u[e]=t[e]}),nI(i,function(t){o(e,t)&&(r[t]=u[t]=e[t]),a(r,t)&&l++,a(u,t)&&h++}),s[n])return a(e,i[1])?u[i[2]]=null:a(e,i[2])&&(u[i[1]]=null),u;if(2!==h&&l){if(l>=2)return r;for(var c=0;ce)return t[n];return t[i-1]}function va(t){var e=t.get("coordinateSystem"),i={coordSysName:e,coordSysDims:[],axisMap:R(),categoryAxisMap:R()},n=pI[e];if(n)return n(t,i,i.axisMap,i.categoryAxisMap),i}function ya(t){return"category"===t.get("type")}function xa(t){this.fromDataset=t.fromDataset,this.data=t.data||(t.sourceFormat===yI?{}:[]),this.sourceFormat=t.sourceFormat||xI,this.seriesLayoutBy=t.seriesLayoutBy||wI,this.dimensionsDefine=t.dimensionsDefine,this.encodeDefine=t.encodeDefine&&R(t.encodeDefine),this.startIndex=t.startIndex||0,this.dimensionsDetectCount=t.dimensionsDetectCount}function _a(t){var e=t.option.source,i=xI;if(S(e))i=_I;else if(y(e)){0===e.length&&(i=mI);for(var n=0,o=e.length;n=e:"max"===i?t<=e:t===e}function Ua(t,e){return t.join(",")===e.join(",")}function Xa(t,e){DI(e=e||{},function(e,i){if(null!=e){var n=t[i];if(uI.hasClass(i)){e=Di(e);var o=Pi(n=Di(n),e);t[i]=LI(o,function(t){return t.option&&t.exist?kI(t.exist,t.option,!0):t.exist||t.option})}else t[i]=kI(n,e,!0)}})}function ja(t){var e=t&&t.itemStyle;if(e)for(var i=0,o=EI.length;i=0;p--){var g=t[p];if(s||(d=g.data.rawIndexOf(g.stackedByDimension,c)),d>=0){var m=g.data.getByRawIndex(g.stackResultDimension,d);if(h>=0&&m>0||h<=0&&m<0){h+=m,f=m;break}}}return n[0]=h,n[1]=f,n});r.hostModel.setData(l),e.data=l})}function ar(t,e){xa.isInstance(t)||(t=xa.seriesDataToSource(t)),this._source=t;var i=this._data=t.data,n=t.sourceFormat;n===_I&&(this._offset=0,this._dimSize=e,this._data=i),a(this,FI[n===mI?n+"_"+t.seriesLayoutBy:n])}function rr(){return this._data.length}function sr(t){return this._data[t]}function lr(t){for(var e=0;ee.outputData.count()&&e.model.getRawData().cloneShallow(e.outputData)}function Sr(t,e){d(t.CHANGABLE_METHODS,function(i){t.wrapMethod(i,v(Mr,e))})}function Mr(t){var e=Ir(t);e&&e.setOutputEnd(this.count())}function Ir(t){var e=(t.ecModel||{}).scheduler,i=e&&e.getPipeline(t.uid);if(i){var n=i.currentTask;if(n){var o=n.agentStubMap;o&&(n=o.get(t.uid))}return n}}function Tr(){this.group=new tb,this.uid=Eo("viewChart"),this.renderTask=pr({plan:Cr,reset:Lr}),this.renderTask.context={view:this}}function Ar(t,e){if(t&&(t.trigger(e),"group"===t.type))for(var i=0;i=0?n():c=setTimeout(n,-a),u=o};return d.clear=function(){c&&(clearTimeout(c),c=null)},d.debounceNextCall=function(t){l=t},d}function Pr(t,e,i,n){var o=t[e];if(o){var a=o[nT]||o,r=o[aT];if(o[oT]!==i||r!==n){if(null==i||!n)return t[e]=a;(o=t[e]=kr(a,i,"debounce"===n))[nT]=a,o[aT]=n,o[oT]=i}return o}}function Nr(t,e){var i=t[e];i&&i[nT]&&(t[e]=i[nT])}function Or(t,e,i,n){this.ecInstance=t,this.api=e,this.unfinished;var i=this._dataProcessorHandlers=i.slice(),n=this._visualHandlers=n.slice();this._allHandlers=i.concat(n),this._stageTaskMap=R()}function Er(t,e,i,n,o){function a(t,e){return t.setDirty&&(!t.dirtyMap||t.dirtyMap.get(e.__pipeline.id))}o=o||{};var r;d(e,function(e,s){if(!o.visualType||o.visualType===e.visualType){var l=t._stageTaskMap.get(e.uid),u=l.seriesTaskMap,h=l.overallTask;if(h){var c,d=h.agentStubMap;d.each(function(t){a(o,t)&&(t.dirty(),c=!0)}),c&&h.dirty(),cT(h,n);var f=t.getPerformArgs(h,o.block);d.each(function(t){t.perform(f)}),r|=h.perform(f)}else u&&u.each(function(s,l){a(o,s)&&s.dirty();var u=t.getPerformArgs(s,o.block);u.skip=!e.performRawSeries&&i.isSeriesFiltered(s.context.model),cT(s,n),r|=s.perform(u)})}}),t.unfinished|=r}function Rr(t,e,i,n,o){function a(i){var a=i.uid,s=r.get(a)||r.set(a,pr({plan:Wr,reset:Hr,count:Ur}));s.context={model:i,ecModel:n,api:o,useClearVisual:e.isVisual&&!e.isLayout,plan:e.plan,reset:e.reset,scheduler:t},Xr(t,i,s)}var r=i.seriesTaskMap||(i.seriesTaskMap=R()),s=e.seriesType,l=e.getTargetSeries;e.createOnAllSeries?n.eachRawSeries(a):s?n.eachRawSeriesByType(s,a):l&&l(n,o).each(a);var u=t._pipelineMap;r.each(function(t,e){u.get(e)||(t.dispose(),r.removeKey(e))})}function zr(t,e,i,n,o){function a(e){var i=e.uid,n=s.get(i);n||(n=s.set(i,pr({reset:Vr,onDirty:Fr})),r.dirty()),n.context={model:e,overallProgress:h,modifyOutputEnd:c},n.agent=r,n.__block=h,Xr(t,e,n)}var r=i.overallTask=i.overallTask||pr({reset:Br});r.context={ecModel:n,api:o,overallReset:e.overallReset,scheduler:t};var s=r.agentStubMap=r.agentStubMap||R(),l=e.seriesType,u=e.getTargetSeries,h=!0,c=e.modifyOutputEnd;l?n.eachRawSeriesByType(l,a):u?u(n,o).each(a):(h=!1,d(n.getSeries(),a));var f=t._pipelineMap;s.each(function(t,e){f.get(e)||(t.dispose(),r.dirty(),s.removeKey(e))})}function Br(t){t.overallReset(t.ecModel,t.api,t.payload)}function Vr(t,e){return t.overallProgress&&Gr}function Gr(){this.agent.dirty(),this.getDownstream().dirty()}function Fr(){this.agent&&this.agent.dirty()}function Wr(t){return t.plan&&t.plan(t.model,t.ecModel,t.api,t.payload)}function Hr(t){t.useClearVisual&&t.data.clearAllVisual();var e=t.resetDefines=Di(t.reset(t.model,t.ecModel,t.api,t.payload));return e.length>1?f(e,function(t,e){return Zr(e)}):dT}function Zr(t){return function(e,i){var n=i.data,o=i.resetDefines[t];if(o&&o.dataEach)for(var a=e.start;a0?parseInt(n,10)/100:n?parseFloat(n):0;var o=i.getAttribute("stop-color")||"#000000";e.addColorStop(n,o)}i=i.nextSibling}}function Jr(t,e){t&&t.__inheritedStyle&&(e.__inheritedStyle||(e.__inheritedStyle={}),r(e.__inheritedStyle,t.__inheritedStyle))}function Qr(t){for(var e=P(t).split(wT),i=[],n=0;n0;a-=2){var r=o[a],s=o[a-1];switch(n=n||xt(),s){case"translate":r=P(r).split(wT),St(n,n,[parseFloat(r[0]),parseFloat(r[1]||0)]);break;case"scale":r=P(r).split(wT),It(n,n,[parseFloat(r[0]),parseFloat(r[1]||r[0])]);break;case"rotate":r=P(r).split(wT),Mt(n,n,parseFloat(r[0]));break;case"skew":r=P(r).split(wT),console.warn("Skew transform is not supported yet");break;case"matrix":r=P(r).split(wT);n[0]=parseFloat(r[0]),n[1]=parseFloat(r[1]),n[2]=parseFloat(r[2]),n[3]=parseFloat(r[3]),n[4]=parseFloat(r[4]),n[5]=parseFloat(r[5])}}e.setLocalTransform(n)}}function ns(t){var e=t.getAttribute("style"),i={};if(!e)return i;var n={};AT.lastIndex=0;for(var o;null!=(o=AT.exec(e));)n[o[1]]=o[2];for(var a in MT)MT.hasOwnProperty(a)&&null!=n[a]&&(i[MT[a]]=n[a]);return i}function os(t,e,i){var n=e/t.width,o=i/t.height,a=Math.min(n,o);return{scale:[a,a],position:[-(t.x+t.width/2)*a+e/2,-(t.y+t.height/2)*a+i/2]}}function as(t,e){return(new Kr).parse(t,e)}function rs(t){return function(e,i,n){e=e&&e.toLowerCase(),fw.prototype[t].call(this,e,i,n)}}function ss(){fw.call(this)}function ls(t,e,n){function o(t,e){return t.__prio-e.__prio}n=n||{},"string"==typeof e&&(e=QT[e]),this.id,this.group,this._dom=t;var a=this._zr=Ii(t,{renderer:n.renderer||"canvas",devicePixelRatio:n.devicePixelRatio,width:n.width,height:n.height});this._throttledZrFlush=kr(m(a.flush,a),17),(e=i(e))&&VI(e,!0),this._theme=e,this._chartsViews=[],this._chartsMap={},this._componentsViews=[],this._componentsMap={},this._coordSysMgr=new Ga;var r=this._api=Ts(this);_e(JT,o),_e(qT,o),this._scheduler=new Or(this,r,qT,JT),fw.call(this,this._ecEventProcessor=new As),this._messageCenter=new ss,this._initEvents(),this.resize=m(this.resize,this),this._pendingActions=[],a.animation.on("frame",this._onframe,this),ms(a,this),N(this)}function us(t,e,i){var n,o=this._model,a=this._coordSysMgr.getCoordinateSystems();e=Vi(o,e);for(var r=0;re.get("hoverLayerThreshold")&&!U_.node&&i.traverse(function(t){t.isGroup||(t.useHoverLayer=!0)})}function Ms(t,e){var i=t.get("blendMode")||null;e.group.traverse(function(t){t.isGroup||t.style.blend!==i&&t.setStyle("blend",i),t.eachPendingDisplayable&&t.eachPendingDisplayable(function(t){t.setStyle("blend",i)})})}function Is(t,e){var i=t.get("z"),n=t.get("zlevel");e.group.traverse(function(t){"group"!==t.type&&(null!=i&&(t.z=i),null!=n&&(t.zlevel=n))})}function Ts(t){var e=t._coordSysMgr;return a(new Va(t),{getCoordinateSystems:m(e.getCoordinateSystems,e),getComponentByElement:function(e){for(;e;){var i=e.__ecComponentInfo;if(null!=i)return t._model.getComponent(i.mainType,i.index);e=e.parent}}})}function As(){this.eventInfo}function Ds(t){function e(t,e){for(var n=0;n65535?fA:gA}function $s(t){var e=t.constructor;return e===Array?t.slice():new e(t)}function Js(t,e){d(mA.concat(e.__wrappedMethods||[]),function(i){e.hasOwnProperty(i)&&(t[i]=e[i])}),t.__wrappedMethods=e.__wrappedMethods,d(vA,function(n){t[n]=i(e[n])}),t._calculationInfo=a(e._calculationInfo)}function Qs(t,e,i,n,o){var a=dA[e.type],r=n-1,s=e.name,l=t[s][r];if(l&&l.length=0?this._indices[t]:-1}function ol(t,e){var i=t._idList[e];return null==i&&(i=el(t,t._idDimIdx,e)),null==i&&(i=cA+e),i}function al(t){return y(t)||(t=[t]),t}function rl(t,e){var i=t.dimensions,n=new yA(f(i,t.getDimensionInfo,t),t.hostModel);Js(n,t);for(var o=n._storage={},a=t._storage,r=0;r=0?(o[s]=sl(a[s]),n._rawExtent[s]=ll(),n._extent[s]=null):o[s]=a[s])}return n}function sl(t){for(var e=new Array(t.length),i=0;in&&(r=o.interval=n);var s=o.intervalPrecision=Sl(r);return Il(o.niceTickExtent=[IA(Math.ceil(t[0]/r)*r,s),IA(Math.floor(t[1]/r)*r,s)],t),o}function Sl(t){return Wo(t)+2}function Ml(t,e,i){t[e]=Math.max(Math.min(t[e],i[1]),i[0])}function Il(t,e){!isFinite(t[0])&&(t[0]=e[0]),!isFinite(t[1])&&(t[1]=e[1]),Ml(t,0,e),Ml(t,1,e),t[0]>t[1]&&(t[0]=t[1])}function Tl(t,e,i,n){var o=[];if(!t)return o;e[0]1e4)return[];return e[1]>(o.length?o[o.length-1]:i[1])&&o.push(e[1]),o}function Al(t){return t.get("stack")||DA+t.seriesIndex}function Dl(t){return t.dim+t.index}function Cl(t){var e=[],i=t.axis;if("category"===i.type){for(var n=i.getBandWidth(),o=0;o=0?"p":"n",b=m;p&&(o[r][_]||(o[r][_]={p:m,n:m}),b=o[r][_][w]);var S,M,I,T;if(g)S=b,M=(A=i.dataToPoint([x,_]))[1]+l,I=A[0]-m,T=u,Math.abs(I)a[1]?(n=a[1],o=a[0]):(n=a[0],o=a[1]);var r=e.toGlobalCoord(e.dataToCoord(0));return ro&&(r=o),r}function Bl(t,e){return GA(t,VA(e))}function Vl(t,e){var i,n,o,a=t.type,r=e.getMin(),s=e.getMax(),l=null!=r,u=null!=s,h=t.getExtent();"ordinal"===a?i=e.getCategories().length:(y(n=e.get("boundaryGap"))||(n=[n||0,n||0]),"boolean"==typeof n[0]&&(n=[0,0]),n[0]=Bo(n[0],1),n[1]=Bo(n[1],1),o=h[1]-h[0]||Math.abs(h[0])),null==r&&(r="ordinal"===a?i?0:NaN:h[0]-n[0]*o),null==s&&(s="ordinal"===a?i?i-1:NaN:h[1]+n[1]*o),"dataMin"===r?r=h[0]:"function"==typeof r&&(r=r({min:h[0],max:h[1]})),"dataMax"===s?s=h[1]:"function"==typeof s&&(s=s({min:h[0],max:h[1]})),(null==r||!isFinite(r))&&(r=NaN),(null==s||!isFinite(s))&&(s=NaN),t.setBlank(I(r)||I(s)||"ordinal"===a&&!t.getOrdinalMeta().categories.length),e.getNeedCrossZero()&&(r>0&&s>0&&!l&&(r=0),r<0&&s<0&&!u&&(s=0));var c=e.ecModel;if(c&&"time"===a){var f,p=Ll("bar",c);if(d(p,function(t){f|=t.getBaseAxis()===e.axis}),f){var g=kl(p),m=Gl(r,s,e,g);r=m.min,s=m.max}}return[r,s]}function Gl(t,e,i,n){var o=i.axis.getExtent(),a=o[1]-o[0],r=Nl(n,i.axis);if(void 0===r)return{min:t,max:e};var s=1/0;d(r,function(t){s=Math.min(t.offset,s)});var l=-1/0;d(r,function(t){l=Math.max(t.offset+t.width,l)}),s=Math.abs(s),l=Math.abs(l);var u=s+l,h=e-t,c=h/(1-(s+l)/a)-h;return e+=c*(l/u),t-=c*(s/u),{min:t,max:e}}function Fl(t,e){var i=Vl(t,e),n=null!=e.getMin(),o=null!=e.getMax(),a=e.get("splitNumber");"log"===t.type&&(t.base=e.get("logBase"));var r=t.type;t.setExtent(i[0],i[1]),t.niceExtent({splitNumber:a,fixMin:n,fixMax:o,minInterval:"interval"===r||"time"===r?e.get("minInterval"):null,maxInterval:"interval"===r||"time"===r?e.get("maxInterval"):null});var s=e.get("interval");null!=s&&t.setInterval&&t.setInterval(s)}function Wl(t,e){if(e=e||t.get("type"))switch(e){case"category":return new MA(t.getOrdinalMeta?t.getOrdinalMeta():t.getCategories(),[1/0,-1/0]);case"value":return new AA;default:return(yl.getClass(e)||AA).create(t)}}function Hl(t){var e=t.scale.getExtent(),i=e[0],n=e[1];return!(i>0&&n>0||i<0&&n<0)}function Zl(t){var e=t.getLabelModel().get("formatter"),i="category"===t.type?t.scale.getExtent()[0]:null;return"string"==typeof e?e=function(e){return function(i){return i=t.scale.getLabel(i),e.replace("{value}",null!=i?i:"")}}(e):"function"==typeof e?function(n,o){return null!=i&&(o=n-i),e(Ul(t,n),o)}:function(e){return t.scale.getLabel(e)}}function Ul(t,e){return"category"===t.type?t.scale.getLabel(e):e}function Xl(t){var e=t.model,i=t.scale;if(e.get("axisLabel.show")&&!i.isBlank()){var n,o,a="category"===t.type,r=i.getExtent();o=a?i.count():(n=i.getTicks()).length;var s,l=t.getLabelModel(),u=Zl(t),h=1;o>40&&(h=Math.ceil(o/40));for(var c=0;c>1^-(1&s),l=l>>1^-(1&l),o=s+=o,a=l+=a,n.push([s/i,l/i])}return n}function nu(t){return"category"===t.type?au(t):lu(t)}function ou(t,e){return"category"===t.type?su(t,e):{ticks:t.scale.getTicks()}}function au(t){var e=t.getLabelModel(),i=ru(t,e);return!e.get("show")||t.scale.isBlank()?{labels:[],labelCategoryInterval:i.labelCategoryInterval}:i}function ru(t,e){var i=uu(t,"labels"),n=Yl(e),o=hu(i,n);if(o)return o;var a,r;return a=x(n)?mu(t,n):gu(t,r="auto"===n?du(t):n),cu(i,n,{labels:a,labelCategoryInterval:r})}function su(t,e){var i=uu(t,"ticks"),n=Yl(e),o=hu(i,n);if(o)return o;var a,r;if(e.get("show")&&!t.scale.isBlank()||(a=[]),x(n))a=mu(t,n,!0);else if("auto"===n){var s=ru(t,t.getLabelModel());r=s.labelCategoryInterval,a=f(s.labels,function(t){return t.tickValue})}else a=gu(t,r=n,!0);return cu(i,n,{ticks:a,tickCategoryInterval:r})}function lu(t){var e=t.scale.getTicks(),i=Zl(t);return{labels:f(e,function(e,n){return{formattedLabel:i(e,n),rawLabel:t.scale.getLabel(e),tickValue:e}})}}function uu(t,e){return oD(t)[e]||(oD(t)[e]=[])}function hu(t,e){for(var i=0;i40&&(s=Math.max(1,Math.floor(r/40)));for(var l=a[0],u=t.dataToCoord(l+1)-t.dataToCoord(l),h=Math.abs(u*Math.cos(n)),c=Math.abs(u*Math.sin(n)),d=0,f=0;l<=a[1];l+=s){var p=0,g=0,m=ke(i(l),e.font,"center","top");p=1.3*m.width,g=1.3*m.height,d=Math.max(d,p,7),f=Math.max(f,g,7)}var v=d/h,y=f/c;isNaN(v)&&(v=1/0),isNaN(y)&&(y=1/0);var x=Math.max(0,Math.floor(Math.min(v,y))),_=oD(t.model),w=_.lastAutoInterval,b=_.lastTickCount;return null!=w&&null!=b&&Math.abs(w-x)<=1&&Math.abs(b-r)<=1&&w>x?x=w:(_.lastTickCount=r,_.lastAutoInterval=x),x}function pu(t){var e=t.getLabelModel();return{axisRotate:t.getRotate?t.getRotate():t.isHorizontal&&!t.isHorizontal()?90:0,labelRotate:e.get("rotate")||0,font:e.getFont()}}function gu(t,e,i){function n(t){l.push(i?t:{formattedLabel:o(t),rawLabel:a.getLabel(t),tickValue:t})}var o=Zl(t),a=t.scale,r=a.getExtent(),s=t.getLabelModel(),l=[],u=Math.max((e||0)+1,1),h=r[0],c=a.count();0!==h&&u>1&&c/u>2&&(h=Math.round(Math.ceil(h/u)*u));var d=ql(t),f=s.get("showMinLabel")||d,p=s.get("showMaxLabel")||d;f&&h!==r[0]&&n(r[0]);for(var g=h;g<=r[1];g+=u)n(g);return p&&g!==r[1]&&n(r[1]),l}function mu(t,e,i){var n=t.scale,o=Zl(t),a=[];return d(n.getTicks(),function(t){var r=n.getLabel(t);e(t,r)&&a.push(i?t:{formattedLabel:o(t),rawLabel:r,tickValue:t})}),a}function vu(t,e){var i=(t[1]-t[0])/e/2;t[0]+=i,t[1]-=i}function yu(t,e,i,n,o){function a(t,e){return h?t>e:t0&&(t.coord-=u/(2*(e+1)))}),s={coord:e[r-1].coord+u},e.push(s)}var h=l[0]>l[1];a(e[0].coord,l[0])&&(o?e[0].coord=l[0]:e.shift()),o&&a(l[0],e[0].coord)&&e.unshift({coord:l[0]}),a(l[1],s.coord)&&(o?s.coord=l[1]:e.pop()),o&&a(s.coord,l[1])&&e.push({coord:l[1]})}}function xu(t,e){var i=t.mapDimension("defaultedLabel",!0),n=i.length;if(1===n)return dr(t,e,i[0]);if(n){for(var o=[],a=0;a0?i=n[0]:n[1]<0&&(i=n[1]),i}function Nu(t,e,i,n){var o=NaN;t.stacked&&(o=i.get(i.getCalculationInfo("stackedOverDimension"),n)),isNaN(o)&&(o=t.valueStart);var a=t.baseDataOffset,r=[];return r[a]=i.get(t.baseDim,n),r[1-a]=o,e.dataToPoint(r)}function Ou(t,e){var i=[];return e.diff(t).add(function(t){i.push({cmd:"+",idx:t})}).update(function(t,e){i.push({cmd:"=",idx:e,idx1:t})}).remove(function(t){i.push({cmd:"-",idx:t})}).execute(),i}function Eu(t){return isNaN(t[0])||isNaN(t[1])}function Ru(t,e,i,n,o,a,r,s,l,u,h){return"none"!==u&&u?zu.apply(this,arguments):Bu.apply(this,arguments)}function zu(t,e,i,n,o,a,r,s,l,u,h){for(var c=0,d=i,f=0;f=o||d<0)break;if(Eu(p)){if(h){d+=a;continue}break}if(d===i)t[a>0?"moveTo":"lineTo"](p[0],p[1]);else if(l>0){var g=e[c],m="y"===u?1:0,v=(p[m]-g[m])*l;wD(SD,g),SD[m]=g[m]+v,wD(MD,p),MD[m]=p[m]-v,t.bezierCurveTo(SD[0],SD[1],MD[0],MD[1],p[0],p[1])}else t.lineTo(p[0],p[1]);c=d,d+=a}return f}function Bu(t,e,i,n,o,a,r,s,l,u,h){for(var c=0,d=i,f=0;f=o||d<0)break;if(Eu(p)){if(h){d+=a;continue}break}if(d===i)t[a>0?"moveTo":"lineTo"](p[0],p[1]),wD(SD,p);else if(l>0){var g=d+a,m=e[g];if(h)for(;m&&Eu(e[g]);)m=e[g+=a];var v=.5,y=e[c];if(!(m=e[g])||Eu(m))wD(MD,p);else{Eu(m)&&!h&&(m=p),U(bD,m,y);var x,_;if("x"===u||"y"===u){var w="x"===u?0:1;x=Math.abs(p[w]-y[w]),_=Math.abs(p[w]-m[w])}else x=uw(p,y),_=uw(p,m);_D(MD,p,bD,-l*(1-(v=_/(_+x))))}yD(SD,SD,s),xD(SD,SD,r),yD(MD,MD,s),xD(MD,MD,r),t.bezierCurveTo(SD[0],SD[1],MD[0],MD[1],p[0],p[1]),_D(SD,p,bD,l*v)}else t.lineTo(p[0],p[1]);c=d,d+=a}return f}function Vu(t,e){var i=[1/0,1/0],n=[-1/0,-1/0];if(e)for(var o=0;on[0]&&(n[0]=a[0]),a[1]>n[1]&&(n[1]=a[1])}return{min:e?i:n,max:e?n:i}}function Gu(t,e){if(t.length===e.length){for(var i=0;ie[0]?1:-1;e[0]+=n*i,e[1]-=n*i}return e}function Hu(t,e,i){if(!i.valueDim)return[];for(var n=[],o=0,a=e.count();oa[1]&&a.reverse();var r=o.getExtent(),s=Math.PI/180;i&&(a[0]-=.5,a[1]+=.5);var l=new hM({shape:{cx:Vo(t.cx,1),cy:Vo(t.cy,1),r0:Vo(a[0],1),r:Vo(a[1],1),startAngle:-r[0]*s,endAngle:-r[1]*s,clockwise:o.inverse}});return e&&(l.shape.endAngle=-r[0]*s,Io(l,{shape:{endAngle:-r[1]*s}},n)),l}function Xu(t,e,i,n){return"polar"===t.type?Uu(t,e,i,n):Zu(t,e,i,n)}function ju(t,e,i){for(var n=e.getBaseAxis(),o="x"===n.dim||"radius"===n.dim?0:1,a=[],r=0;r=0;a--){var r=i[a].dimension,s=t.dimensions[r],l=t.getDimensionInfo(s);if("x"===(n=l&&l.coordDim)||"y"===n){o=i[a];break}}if(o){var u=e.getAxis(n),h=f(o.stops,function(t){return{coord:u.toGlobalCoord(u.dataToCoord(t.value)),color:t.color}}),c=h.length,p=o.outerColors.slice();c&&h[0].coord>h[c-1].coord&&(h.reverse(),p.reverse());var g=h[0].coord-10,m=h[c-1].coord+10,v=m-g;if(v<.001)return"transparent";d(h,function(t){t.offset=(t.coord-g)/v}),h.push({offset:c?h[c-1].offset:.5,color:p[1]||"transparent"}),h.unshift({offset:c?h[0].offset:.5,color:p[0]||"transparent"});var y=new TM(0,0,0,0,h,!0);return y[n]=g,y[n+"2"]=m,y}}}function qu(t,e,i){var n=t.get("showAllSymbol"),o="auto"===n;if(!n||o){var a=i.getAxesByScale("ordinal")[0];if(a&&(!o||!Ku(a,e))){var r=e.mapDimension(a.dim),s={};return d(a.getViewLabels(),function(t){s[t.tickValue]=1}),function(t){return!s.hasOwnProperty(e.get(r,t))}}}}function Ku(t,e){var i=t.getExtent(),n=Math.abs(i[1]-i[0])/t.scale.count();isNaN(n)&&(n=0);for(var o=e.count(),a=Math.max(1,Math.round(o/5)),r=0;rn)return!1;return!0}function $u(t){return this._axes[t]}function Ju(t){kD.call(this,t)}function Qu(t,e){return e.type||(e.data?"category":"value")}function th(t,e,i){return t.getCoordSysModel()===e}function eh(t,e,i){this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this._initCartesian(t,e,i),this.model=t}function ih(t,e,i,n){function o(t){return t.dim+"_"+t.index}i.getAxesOnZeroOf=function(){return a?[a]:[]};var a,r=t[e],s=i.model,l=s.get("axisLine.onZero"),u=s.get("axisLine.onZeroAxisIndex");if(l){if(null!=u)nh(r[u])&&(a=r[u]);else for(var h in r)if(r.hasOwnProperty(h)&&nh(r[h])&&!n[o(r[h])]){a=r[h];break}a&&(n[o(a)]=!0)}}function nh(t){return t&&"category"!==t.type&&"time"!==t.type&&Hl(t)}function oh(t,e){var i=t.getExtent(),n=i[0]+i[1];t.toGlobalCoord="x"===t.dim?function(t){return t+e}:function(t){return n-t+e},t.toLocalCoord="x"===t.dim?function(t){return t-e}:function(t){return n-t+e}}function ah(t,e){return f(GD,function(e){return t.getReferringComponents(e)[0]})}function rh(t){return"cartesian2d"===t.get("coordinateSystem")}function sh(t){var e={componentType:t.mainType,componentIndex:t.componentIndex};return e[t.mainType+"Index"]=t.componentIndex,e}function lh(t,e,i,n){var o,a,r=Uo(i-t.rotation),s=n[0]>n[1],l="start"===e&&!s||"start"!==e&&s;return Xo(r-FD/2)?(a=l?"bottom":"top",o="center"):Xo(r-1.5*FD)?(a=l?"top":"bottom",o="center"):(a="middle",o=r<1.5*FD&&r>FD/2?l?"left":"right":l?"right":"left"),{rotation:r,textAlign:o,textVerticalAlign:a}}function uh(t){var e=t.get("tooltip");return t.get("silent")||!(t.get("triggerEvent")||e&&e.show)}function hh(t,e,i){if(!ql(t.axis)){var n=t.get("axisLabel.showMinLabel"),o=t.get("axisLabel.showMaxLabel");e=e||[],i=i||[];var a=e[0],r=e[1],s=e[e.length-1],l=e[e.length-2],u=i[0],h=i[1],c=i[i.length-1],d=i[i.length-2];!1===n?(ch(a),ch(u)):dh(a,r)&&(n?(ch(r),ch(h)):(ch(a),ch(u))),!1===o?(ch(s),ch(c)):dh(l,s)&&(o?(ch(l),ch(d)):(ch(s),ch(c)))}}function ch(t){t&&(t.ignore=!0)}function dh(t,e,i){var n=t&&t.getBoundingRect().clone(),o=e&&e.getBoundingRect().clone();if(n&&o){var a=_t([]);return Mt(a,a,-t.rotation),n.applyTransform(bt([],a,t.getLocalTransform())),o.applyTransform(bt([],a,e.getLocalTransform())),n.intersect(o)}}function fh(t){return"middle"===t||"center"===t}function ph(t,e,i){var n=e.axis;if(e.get("axisTick.show")&&!n.scale.isBlank()){for(var o=e.getModel("axisTick"),a=o.getModel("lineStyle"),s=o.get("length"),l=n.getTicksCoords(),u=[],h=[],c=t._transform,d=[],f=0;f=0||t===e}function bh(t){var e=Sh(t);if(e){var i=e.axisPointerModel,n=e.axis.scale,o=i.option,a=i.get("status"),r=i.get("value");null!=r&&(r=n.parse(r));var s=Ih(i);null==a&&(o.status=s?"show":"hide");var l=n.getExtent().slice();l[0]>l[1]&&l.reverse(),(null==r||r>l[1])&&(r=l[1]),r0?"bottom":"top":o.width>0?"left":"right";l||Lh(t.style,d,n,u,a,i,p),co(t,d)}function Eh(t,e){var i=t.get(eC)||0;return Math.min(i,Math.abs(e.width),Math.abs(e.height))}function Rh(t,e,i){var n=t.getData(),o=[],a=n.getLayout("valueAxisHorizontal")?1:0;o[1-a]=n.getLayout("valueAxisStart");var r=new oC({shape:{points:n.getLayout("largePoints")},incremental:!!i,__startPoint:o,__valueIdx:a});e.add(r),zh(r,t,n)}function zh(t,e,i){var n=i.getVisual("borderColor")||i.getVisual("color"),o=e.getModel("itemStyle").getItemStyle(["color","borderColor"]);t.useStyle(o),t.style.fill=null,t.style.stroke=n,t.style.lineWidth=i.getLayout("barWidth")}function Bh(t,e,i,n){var o=e.getData(),a=this.dataIndex,r=o.getName(a),s=e.get("selectedOffset");n.dispatchAction({type:"pieToggleSelect",from:t,name:r,seriesId:e.id}),o.each(function(t){Vh(o.getItemGraphicEl(t),o.getItemLayout(t),e.isSelected(o.getName(t)),s,i)})}function Vh(t,e,i,n,o){var a=(e.startAngle+e.endAngle)/2,r=Math.cos(a),s=Math.sin(a),l=i?n:0,u=[r*l,s*l];o?t.animate().when(200,{position:u}).start("bounceOut"):t.attr("position",u)}function Gh(t,e){function i(){a.ignore=a.hoverIgnore,r.ignore=r.hoverIgnore}function n(){a.ignore=a.normalIgnore,r.ignore=r.normalIgnore}tb.call(this);var o=new hM({z2:2}),a=new gM,r=new rM;this.add(o),this.add(a),this.add(r),this.updateData(t,e,!0),this.on("emphasis",i).on("normal",n).on("mouseover",i).on("mouseout",n)}function Fh(t,e,i,n,o,a,r){function s(e,i){for(var n=e;n>=0&&(t[n].y-=i,!(n>0&&t[n].y>t[n-1].y+t[n-1].height));n--);}function l(t,e,i,n,o,a){for(var r=e?Number.MAX_VALUE:0,s=0,l=t.length;s=r&&(d=r-10),!e&&d<=r&&(d=r+10),t[s].x=i+d*a,r=d}}t.sort(function(t,e){return t.y-e.y});for(var u,h=0,c=t.length,d=[],f=[],p=0;pe&&a+1t[a].y+t[a].height)return void s(a,n/2);s(i-1,n/2)}(p,c,-u),h=t[p].y+t[p].height;r-h<0&&s(c-1,h-r);for(p=0;p=i?f.push(t[p]):d.push(t[p]);l(d,!1,e,i,n,o),l(f,!0,e,i,n,o)}function Wh(t,e,i,n,o,a){for(var r=[],s=[],l=0;l3?1.4:o>1?1.2:1.1;uc(this,"zoom","zoomOnMouseWheel",t,{scale:n>0?s:1/s,originX:a,originY:r})}if(i){var l=Math.abs(n);uc(this,"scrollMove","moveOnMouseWheel",t,{scrollDelta:(n>0?1:-1)*(l>3?.4:l>1?.15:.05),originX:a,originY:r})}}}function lc(t){ec(this._zr,"globalPan")||uc(this,"zoom",null,t,{scale:t.pinchScale>1?1.1:1/1.1,originX:t.pinchX,originY:t.pinchY})}function uc(t,e,i,n,o){t.pointerChecker&&t.pointerChecker(n,o.originX,o.originY)&&(mw(n.event),hc(t,e,i,n,o))}function hc(t,e,i,n,o){o.isAvailableBehavior=m(cc,null,i,n),t.trigger(e,o)}function cc(t,e,i){var n=i[t];return!t||n&&(!_(n)||e.event[n+"Key"])}function dc(t,e,i){var n=t.target,o=n.position;o[0]+=e,o[1]+=i,n.dirty()}function fc(t,e,i,n){var o=t.target,a=t.zoomLimit,r=o.position,s=o.scale,l=t.zoom=t.zoom||1;if(l*=e,a){var u=a.min||0,h=a.max||1/0;l=Math.max(Math.min(h,l),u)}var c=l/t.zoom;t.zoom=l,r[0]-=(i-r[0])*(c-1),r[1]-=(n-r[1])*(c-1),s[0]*=c,s[1]*=c,o.dirty()}function pc(t,e,i){var n=e.getComponentByElement(t.topTarget),o=n&&n.coordinateSystem;return n&&n!==i&&!zC[n.mainType]&&o&&o.model!==i}function gc(t,e){var i=t.getItemStyle(),n=t.get("areaColor");return null!=n&&(i.fill=n),i}function mc(t,e,i,n,o){i.off("click"),i.off("mousedown"),e.get("selectedMode")&&(i.on("mousedown",function(){t._mouseDownFlag=!0}),i.on("click",function(a){if(t._mouseDownFlag){t._mouseDownFlag=!1;for(var r=a.target;!r.__regions;)r=r.parent;if(r){var s={type:("geo"===e.mainType?"geo":"map")+"ToggleSelect",batch:f(r.__regions,function(t){return{name:t.name,from:o.uid}})};s[e.mainType+"Id"]=e.id,n.dispatchAction(s),vc(e,i)}}}))}function vc(t,e){e.eachChild(function(e){d(e.__regions,function(i){e.trigger(t.isSelected(i.name)?"emphasis":"normal")})})}function yc(t,e){var i=new tb;this.uid=Eo("ec_map_draw"),this._controller=new nc(t.getZr()),this._controllerHost={target:e?i:null},this.group=i,this._updateGroup=e,this._mouseDownFlag,this._mapName,this._initialized,i.add(this._regionsGroup=new tb),i.add(this._backgroundGroup=new tb)}function xc(t){var e=this[BC];e&&e.recordVersion===this[VC]&&_c(e,t)}function _c(t,e){var i=t.circle,n=t.labelModel,o=t.hoverLabelModel,a=t.emphasisText,r=t.normalText;e?(i.style.extendFrom(go({},o,{text:o.get("show")?a:null},{isRectText:!0,useInsideStyle:!1},!0)),i.__mapOriginalZ2=i.z2,i.z2+=NM):(go(i.style,n,{text:n.get("show")?r:null,textPosition:n.getShallow("position")||"bottom"},{isRectText:!0,useInsideStyle:!1}),i.dirty(!1),null!=i.__mapOriginalZ2&&(i.z2=i.__mapOriginalZ2,i.__mapOriginalZ2=null))}function wc(t,e,i){var n=t.getZoom(),o=t.getCenter(),a=e.zoom,r=t.dataToPoint(o);if(null!=e.dx&&null!=e.dy){r[0]-=e.dx,r[1]-=e.dy;o=t.pointToData(r);t.setCenter(o)}if(null!=a){if(i){var s=i.min||0,l=i.max||1/0;a=Math.max(Math.min(n*a,l),s)/n}t.scale[0]*=a,t.scale[1]*=a;var u=t.position,h=(e.originX-u[0])*(a-1),c=(e.originY-u[1])*(a-1);u[0]-=h,u[1]-=c,t.updateTransform();o=t.pointToData(r);t.setCenter(o),t.setZoom(a*n)}return{center:t.getCenter(),zoom:t.getZoom()}}function bc(){Tw.call(this)}function Sc(t){this.name=t,this.zoomLimit,Tw.call(this),this._roamTransformable=new bc,this._rawTransformable=new bc,this._center,this._zoom}function Mc(t,e,i,n){var o=i.seriesModel,a=o?o.coordinateSystem:null;return a===this?a[t](n):null}function Ic(t,e,i,n){Sc.call(this,t),this.map=e;var o=EC.load(e,i);this._nameCoordMap=o.nameCoordMap,this._regionsMap=o.regionsMap,this._invertLongitute=null==n||n,this.regions=o.regions,this._rect=o.boundingRect}function Tc(t,e,i,n){var o=i.geoModel,a=i.seriesModel,r=o?o.coordinateSystem:a?a.coordinateSystem||(a.getReferringComponents("geo")[0]||{}).coordinateSystem:null;return r===this?r[t](n):null}function Ac(t,e){var i=t.get("boundingCoords");if(null!=i){var n=i[0],o=i[1];isNaN(n[0])||isNaN(n[1])||isNaN(o[0])||isNaN(o[1])||this.setBoundingRect(n[0],n[1],o[0]-n[0],o[1]-n[1])}var a,r=this.getBoundingRect(),s=t.get("layoutCenter"),l=t.get("layoutSize"),u=e.getWidth(),h=e.getHeight(),c=r.width/r.height*this.aspectScale,d=!1;s&&l&&(s=[Bo(s[0],u),Bo(s[1],h)],l=Bo(l,Math.min(u,h)),isNaN(s[0])||isNaN(s[1])||isNaN(l)||(d=!0));if(d){var f={};c>1?(f.width=l,f.height=l/c):(f.height=l,f.width=l*c),f.y=s[1]-f.height/2,f.x=s[0]-f.width/2}else(a=t.getBoxLayoutParams()).aspect=c,f=ha(a,{width:u,height:h});this.setViewRect(f.x,f.y,f.width,f.height),this.setCenter(t.get("center")),this.setZoom(t.get("zoom"))}function Dc(t,e){d(e.get("geoCoord"),function(e,i){t.addGeoCoord(i,e)})}function Cc(t,e){var i={};return d(t,function(t){t.each(t.mapDimension("value"),function(e,n){var o="ec-"+t.getName(n);i[o]=i[o]||[],isNaN(e)||i[o].push(e)})}),t[0].map(t[0].mapDimension("value"),function(n,o){for(var a="ec-"+t[0].getName(o),r=0,s=1/0,l=-1/0,u=i[a].length,h=0;h=0;o--){var a=i[o];a.hierNode={defaultAncestor:null,ancestor:a,prelim:0,modifier:0,change:0,shift:0,i:o,thread:null},n.push(a)}}function Fc(t,e){var i=t.isExpand?t.children:[],n=t.parentNode.children,o=t.hierNode.i?n[t.hierNode.i-1]:null;if(i.length){Xc(t);var a=(i[0].hierNode.prelim+i[i.length-1].hierNode.prelim)/2;o?(t.hierNode.prelim=o.hierNode.prelim+e(t,o),t.hierNode.modifier=t.hierNode.prelim-a):t.hierNode.prelim=a}else o&&(t.hierNode.prelim=o.hierNode.prelim+e(t,o));t.parentNode.hierNode.defaultAncestor=jc(t,o,t.parentNode.hierNode.defaultAncestor||n[0],e)}function Wc(t){var e=t.hierNode.prelim+t.parentNode.hierNode.modifier;t.setLayout({x:e},!0),t.hierNode.modifier+=t.parentNode.hierNode.modifier}function Hc(t){return arguments.length?t:Jc}function Zc(t,e){var i={};return t-=Math.PI/2,i.x=e*Math.cos(t),i.y=e*Math.sin(t),i}function Uc(t,e){return ha(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function Xc(t){for(var e=t.children,i=e.length,n=0,o=0;--i>=0;){var a=e[i];a.hierNode.prelim+=n,a.hierNode.modifier+=n,o+=a.hierNode.change,n+=a.hierNode.shift+o}}function jc(t,e,i,n){if(e){for(var o=t,a=t,r=a.parentNode.children[0],s=e,l=o.hierNode.modifier,u=a.hierNode.modifier,h=r.hierNode.modifier,c=s.hierNode.modifier;s=Yc(s),a=qc(a),s&&a;){o=Yc(o),r=qc(r),o.hierNode.ancestor=t;var d=s.hierNode.prelim+c-a.hierNode.prelim-u+n(s,a);d>0&&($c(Kc(s,t,i),t,d),u+=d,l+=d),c+=s.hierNode.modifier,u+=a.hierNode.modifier,l+=o.hierNode.modifier,h+=r.hierNode.modifier}s&&!Yc(o)&&(o.hierNode.thread=s,o.hierNode.modifier+=c-l),a&&!qc(r)&&(r.hierNode.thread=a,r.hierNode.modifier+=u-h,i=t)}return i}function Yc(t){var e=t.children;return e.length&&t.isExpand?e[e.length-1]:t.hierNode.thread}function qc(t){var e=t.children;return e.length&&t.isExpand?e[0]:t.hierNode.thread}function Kc(t,e,i){return t.hierNode.ancestor.parentNode===e.parentNode?t.hierNode.ancestor:i}function $c(t,e,i){var n=i/(e.hierNode.i-t.hierNode.i);e.hierNode.change-=n,e.hierNode.shift+=i,e.hierNode.modifier+=i,e.hierNode.prelim+=i,t.hierNode.change+=n}function Jc(t,e){return t.parentNode===e.parentNode?1:2}function Qc(t,e){var i=t.getItemLayout(e);return i&&!isNaN(i.x)&&!isNaN(i.y)&&"none"!==t.getItemVisual(e,"symbol")}function td(t,e,i){return i.itemModel=e,i.itemStyle=e.getModel("itemStyle").getItemStyle(),i.hoverItemStyle=e.getModel("emphasis.itemStyle").getItemStyle(),i.lineStyle=e.getModel("lineStyle").getLineStyle(),i.labelModel=e.getModel("label"),i.hoverLabelModel=e.getModel("emphasis.label"),!1===t.isExpand&&0!==t.children.length?i.symbolInnerColor=i.itemStyle.fill:i.symbolInnerColor="#fff",i}function ed(t,e,i,n,o,a){var s=!i,l=t.tree.getNodeByDataIndex(e),a=td(l,l.getModel(),a),u=t.tree.root,h=l.parentNode===u?l:l.parentNode||l,c=t.getItemGraphicEl(h.dataIndex),d=h.getLayout(),f=c?{x:c.position[0],y:c.position[1],rawX:c.__radialOldRawX,rawY:c.__radialOldRawY}:d,p=l.getLayout();s?(i=new _u(t,e,a)).attr("position",[f.x,f.y]):i.updateData(t,e,a),i.__radialOldRawX=i.__radialRawX,i.__radialOldRawY=i.__radialRawY,i.__radialRawX=p.rawX,i.__radialRawY=p.rawY,n.add(i),t.setItemGraphicEl(e,i),Mo(i,{position:[p.x,p.y]},o);var g=i.getSymbolPath();if("radial"===a.layout){var m,v,y=u.children[0],x=y.getLayout(),_=y.children.length;if(p.x===x.x&&!0===l.isExpand){var w={};w.x=(y.children[0].getLayout().x+y.children[_-1].getLayout().x)/2,w.y=(y.children[0].getLayout().y+y.children[_-1].getLayout().y)/2,(m=Math.atan2(w.y-x.y,w.x-x.x))<0&&(m=2*Math.PI+m),(v=w.xx.x)||(m-=Math.PI);var b=v?"left":"right";g.setStyle({textPosition:b,textRotation:-m,textOrigin:"center",verticalAlign:"middle"})}if(l.parentNode&&l.parentNode!==u){var S=i.__edge;S||(S=i.__edge=new bM({shape:nd(a,f,f),style:r({opacity:0,strokeNoScale:!0},a.lineStyle)})),Mo(S,{shape:nd(a,d,p),style:{opacity:1}},o),n.add(S)}}function id(t,e,i,n,o,a){for(var r,s=t.tree.getNodeByDataIndex(e),l=t.tree.root,a=td(s,s.getModel(),a),u=s.parentNode===l?s:s.parentNode||s;null==(r=u.getLayout());)u=u.parentNode===l?u:u.parentNode||u;Mo(i,{position:[r.x+1,r.y+1]},o,function(){n.remove(i),t.setItemGraphicEl(e,null)}),i.fadeOut(null,{keepLabel:!0});var h=i.__edge;h&&Mo(h,{shape:nd(a,r,r),style:{opacity:0}},o,function(){n.remove(h)})}function nd(t,e,i){var n,o,a,r,s,l,u,h,c=t.orient;if("radial"===t.layout){s=e.rawX,u=e.rawY,l=i.rawX,h=i.rawY;var d=Zc(s,u),f=Zc(s,u+(h-u)*t.curvature),p=Zc(l,h+(u-h)*t.curvature),g=Zc(l,h);return{x1:d.x,y1:d.y,x2:g.x,y2:g.y,cpx1:f.x,cpy1:f.y,cpx2:p.x,cpy2:p.y}}return s=e.x,u=e.y,l=i.x,h=i.y,"LR"!==c&&"RL"!==c||(n=s+(l-s)*t.curvature,o=u,a=l+(s-l)*t.curvature,r=h),"TB"!==c&&"BT"!==c||(n=s,o=u+(h-u)*t.curvature,a=l,r=h+(u-h)*t.curvature),{x1:s,y1:u,x2:l,y2:h,cpx1:n,cpy1:o,cpx2:a,cpy2:r}}function od(t,e,i){for(var n,o=[t],a=[];n=o.pop();)if(a.push(n),n.isExpand){var r=n.children;if(r.length)for(var s=0;s=0;a--)n.push(o[a])}}function rd(t,e){var i=Uc(t,e);t.layoutInfo=i;var n=t.get("layout"),o=0,a=0,r=null;"radial"===n?(o=2*Math.PI,a=Math.min(i.height,i.width)/2,r=Hc(function(t,e){return(t.parentNode===e.parentNode?1:2)/t.depth})):(o=i.width,a=i.height,r=Hc());var s=t.getData().tree.root,l=s.children[0];if(l){Gc(s),od(l,Fc,r),s.hierNode.modifier=-l.hierNode.prelim,ad(l,Wc);var u=l,h=l,c=l;ad(l,function(t){var e=t.getLayout().x;eh.getLayout().x&&(h=t),t.depth>c.depth&&(c=t)});var d=u===h?1:r(u,h)/2,f=d-u.getLayout().x,p=0,g=0,m=0,v=0;if("radial"===n)p=o/(h.getLayout().x+d+f),g=a/(c.depth-1||1),ad(l,function(t){m=(t.getLayout().x+f)*p,v=(t.depth-1)*g;var e=Zc(m,v);t.setLayout({x:e.x,y:e.y,rawX:m,rawY:v},!0)});else{var y=t.getOrient();"RL"===y||"LR"===y?(g=a/(h.getLayout().x+d+f),p=o/(c.depth-1||1),ad(l,function(t){v=(t.getLayout().x+f)*g,m="LR"===y?(t.depth-1)*p:o-(t.depth-1)*p,t.setLayout({x:m,y:v},!0)})):"TB"!==y&&"BT"!==y||(p=o/(h.getLayout().x+d+f),g=a/(c.depth-1||1),ad(l,function(t){m=(t.getLayout().x+f)*p,v="TB"===y?(t.depth-1)*g:a-(t.depth-1)*g,t.setLayout({x:m,y:v},!0)}))}}}function sd(t,e,i){if(t&&l(e,t.type)>=0){var n=i.getData().tree.root,o=t.targetNode;if("string"==typeof o&&(o=n.getNodeById(o)),o&&n.contains(o))return{node:o};var a=t.targetNodeId;if(null!=a&&(o=n.getNodeById(a)))return{node:o}}}function ld(t){for(var e=[];t;)(t=t.parentNode)&&e.push(t);return e.reverse()}function ud(t,e){return l(ld(t),e)>=0}function hd(t,e){for(var i=[];t;){var n=t.dataIndex;i.push({name:t.name,dataIndex:n,value:e.getRawValue(n)}),t=t.parentNode}return i.reverse(),i}function cd(t){var e=0;d(t.children,function(t){cd(t);var i=t.value;y(i)&&(i=i[0]),e+=i});var i=t.value;y(i)&&(i=i[0]),(null==i||isNaN(i))&&(i=e),i<0&&(i=0),y(t.value)?t.value[0]=i:t.value=i}function dd(t,e){var i=e.get("color");if(i){var n;return d(t=t||[],function(t){var e=new Po(t),i=e.get("color");(e.get("itemStyle.color")||i&&"none"!==i)&&(n=!0)}),n||((t[0]||(t[0]={})).color=i.slice()),t}}function fd(t){this.group=new tb,t.add(this.group)}function pd(t,e,i,n,o,a){var r=[[o?t:t-XC,e],[t+i,e],[t+i,e+n],[o?t:t-XC,e+n]];return!a&&r.splice(2,0,[t+i+XC,e+n/2]),!o&&r.push([t,e+n/2]),r}function gd(t,e,i){t.eventData={componentType:"series",componentSubType:"treemap",componentIndex:e.componentIndex,seriesIndex:e.componentIndex,seriesName:e.name,seriesType:"treemap",selfType:"breadcrumb",nodeData:{dataIndex:i&&i.dataIndex,name:i&&i.name},treePathInfo:i&&hd(i,e)}}function md(){var t,e=[],i={};return{add:function(t,n,o,a,r){return _(a)&&(r=a,a=0),!i[t.id]&&(i[t.id]=1,e.push({el:t,target:n,time:o,delay:a,easing:r}),!0)},done:function(e){return t=e,this},start:function(){for(var n=e.length,o=0,a=e.length;o=0;a--)null==i[a]&&(delete n[e[a]],e.pop())}function wd(t,e){var i=t.visual,n=[];w(i)?lL(i,function(t){n.push(t)}):null!=i&&n.push(i);var o={color:1,symbol:1};e||1!==n.length||o.hasOwnProperty(t.type)||(n[1]=n[0]),Cd(t,n)}function bd(t){return{applyVisual:function(e,i,n){e=this.mapValueToVisual(e),n("color",t(i("color"),e))},_doMap:Ad([0,1])}}function Sd(t){var e=this.option.visual;return e[Math.round(zo(t,[0,1],[0,e.length-1],!0))]||{}}function Md(t){return function(e,i,n){n(t,this.mapValueToVisual(e))}}function Id(t){var e=this.option.visual;return e[this.option.loop&&t!==hL?t%e.length:t]}function Td(){return this.option.visual[0]}function Ad(t){return{linear:function(e){return zo(e,t,this.option.visual,!0)},category:Id,piecewise:function(e,i){var n=Dd.call(this,i);return null==n&&(n=zo(e,t,this.option.visual,!0)),n},fixed:Td}}function Dd(t){var e=this.option,i=e.pieceList;if(e.hasSpecialVisual){var n=i[cL.findPieceIndex(t,i)];if(n&&n.visual)return n.visual[this.type]}}function Cd(t,e){return t.visual=e,"color"===t.type&&(t.parsedVisual=f(e,function(t){return Gt(t)})),e}function Ld(t,e,i){return t?e<=i:e=o.length||t===o[t.depth])&&kd(t,Bd(r,h,t,e,g,a),i,n,o,a)})}else l=Nd(h),t.setVisual("color",l)}}function Pd(t,e,i,n){var o=a({},e);return d(["color","colorAlpha","colorSaturation"],function(a){var r=t.get(a,!0);null==r&&i&&(r=i[a]),null==r&&(r=e[a]),null==r&&(r=n.get(a)),null!=r&&(o[a]=r)}),o}function Nd(t){var e=Ed(t,"color");if(e){var i=Ed(t,"colorAlpha"),n=Ed(t,"colorSaturation");return n&&(e=jt(e,null,null,n)),i&&(e=Yt(e,i)),e}}function Od(t,e){return null!=e?jt(e,null,null,t):null}function Ed(t,e){var i=t[e];if(null!=i&&"none"!==i)return i}function Rd(t,e,i,n,o,a){if(a&&a.length){var r=zd(e,"color")||null!=o.color&&"none"!==o.color&&(zd(e,"colorAlpha")||zd(e,"colorSaturation"));if(r){var s=e.get("visualMin"),l=e.get("visualMax"),u=i.dataExtent.slice();null!=s&&su[1]&&(u[1]=l);var h=e.get("colorMappingBy"),c={type:r.name,dataExtent:u,visual:r.range};"color"!==c.type||"index"!==h&&"id"!==h?c.mappingMethod="linear":(c.mappingMethod="category",c.loop=!0);var d=new cL(c);return d.__drColorMappingBy=h,d}}}function zd(t,e){var i=t.get(e);return pL(i)&&i.length?{name:e,range:i}:null}function Bd(t,e,i,n,o,r){var s=a({},e);if(o){var l=o.type,u="color"===l&&o.__drColorMappingBy,h="index"===u?n:"id"===u?r.mapIdToIndex(i.getId()):i.getValue(t.get("visualDimension"));s[l]=o.mapValueToVisual(h)}return s}function Vd(t,e,i,n){var o,a;if(!t.isRemoved()){var r=t.getLayout();o=r.width,a=r.height;var s=(f=t.getModel()).get(wL),l=f.get(bL)/2,u=qd(f),h=Math.max(s,u),c=s-l,d=h-l,f=t.getModel();t.setLayout({borderWidth:s,upperHeight:h,upperLabelHeight:u},!0);var p=(o=vL(o-2*c,0))*(a=vL(a-c-d,0)),g=Gd(t,f,p,e,i,n);if(g.length){var m={x:c,y:d,width:o,height:a},v=yL(o,a),y=1/0,x=[];x.area=0;for(var _=0,w=g.length;_=0;l--){var u=o["asc"===n?r-l-1:l].getValue();u/i*es[1]&&(s[1]=e)})}else s=[NaN,NaN];return{sum:n,dataExtent:s}}function Zd(t,e,i){for(var n,o=0,a=1/0,r=0,s=t.length;ro&&(o=n));var l=t.area*t.area,u=e*e*i;return l?vL(u*o/l,l/(u*a)):1/0}function Ud(t,e,i,n,o){var a=e===i.width?0:1,r=1-a,s=["x","y"],l=["width","height"],u=i[s[a]],h=e?t.area/e:0;(o||h>i[l[r]])&&(h=i[l[r]]);for(var c=0,d=t.length;cXM&&(u=XM),a=s}u=0?n+=u:n-=u:p>=0?n-=u:n+=u}return n}function ff(t,e){return t.getVisual("opacity")||t.getModel().get(e)}function pf(t,e,i){var n=t.getGraphicEl(),o=ff(t,e);null!=i&&(null==o&&(o=1),o*=i),n.downplay&&n.downplay(),n.traverse(function(t){if("group"!==t.type){var e=t.lineLabelOriginalOpacity;null!=e&&null==i||(e=o),t.setStyle("opacity",e)}})}function gf(t,e){var i=ff(t,e),n=t.getGraphicEl();n.highlight&&n.highlight(),n.traverse(function(t){"group"!==t.type&&t.setStyle("opacity",i)})}function mf(t){return t instanceof Array||(t=[t,t]),t}function vf(t){var e=t.coordinateSystem;if(!e||"view"===e.type){var i=t.getGraph();i.eachNode(function(t){var e=t.getModel();t.setLayout([+e.get("x"),+e.get("y")])}),yf(i)}}function yf(t){t.eachEdge(function(t){var e=t.getModel().get("lineStyle.curveness")||0,i=F(t.node1.getLayout()),n=F(t.node2.getLayout()),o=[i,n];+e&&o.push([(i[0]+n[0])/2-(i[1]-n[1])*e,(i[1]+n[1])/2-(n[0]-i[0])*e]),t.setLayout(o)})}function xf(t){var e=t.coordinateSystem;if(!e||"view"===e.type){var i=e.getBoundingRect(),n=t.getData(),o=n.graph,a=0,r=n.getSum("value"),s=2*Math.PI/(r||n.count()),l=i.width/2+i.x,u=i.height/2+i.y,h=Math.min(i.width,i.height)/2;o.eachNode(function(t){var e=t.getValue("value");a+=s*(r?e:1)/2,t.setLayout([h*Math.cos(a)+l,h*Math.sin(a)+u]),a+=s*(r?e:1)/2}),n.setLayout({cx:l,cy:u}),o.eachEdge(function(t){var e,i=t.getModel().get("lineStyle.curveness")||0,n=F(t.node1.getLayout()),o=F(t.node2.getLayout()),a=(n[0]+o[0])/2,r=(n[1]+o[1])/2;+i&&(e=[l*(i*=3)+a*(1-i),u*i+r*(1-i)]),t.setLayout([n,o,e])})}}function _f(t,e,i){for(var n=i.rect,o=n.width,a=n.height,r=[n.x+o/2,n.y+a/2],s=null==i.gravity?.1:i.gravity,l=0;l0?-1:i<0?1:e?-1:1}}function kf(t,e){return Math.min(e[1],Math.max(e[0],t))}function Pf(t,e,i){this._axesMap=R(),this._axesLayout={},this.dimensions=t.dimensions,this._rect,this._model=t,this._init(t,e,i)}function Nf(t,e){return ik(nk(t,e[0]),e[1])}function Of(t,e){var i=e.layoutLength/(e.axisCount-1);return{position:i*t,axisNameAvailableWidth:i,axisLabelShow:!0}}function Ef(t,e){var i,n,o=e.layoutLength,a=e.axisExpandWidth,r=e.axisCount,s=e.axisCollapseWidth,l=e.winInnerIndices,u=s,h=!1;return tvk}function Kf(t){var e=t.length-1;return e<0&&(e=0),[t[0],t[e]]}function $f(t,e,i,n){var o=new tb;return o.add(new yM({name:"main",style:ep(i),silent:!0,draggable:!0,cursor:"move",drift:hk(t,e,o,"nswe"),ondragend:hk(Yf,e,{isEnd:!0})})),ck(n,function(i){o.add(new yM({name:i,style:{opacity:0},draggable:!0,silent:!0,invisible:!0,drift:hk(t,e,o,i),ondragend:hk(Yf,e,{isEnd:!0})}))}),o}function Jf(t,e,i,n){var o=n.brushStyle.lineWidth||0,a=pk(o,yk),r=i[0][0],s=i[1][0],l=r-o/2,u=s-o/2,h=i[0][1],c=i[1][1],d=h-a+o/2,f=c-a+o/2,p=h-r,g=c-s,m=p+o,v=g+o;tp(t,e,"main",r,s,p,g),n.transformable&&(tp(t,e,"w",l,u,a,v),tp(t,e,"e",d,u,a,v),tp(t,e,"n",l,u,m,a),tp(t,e,"s",l,f,m,a),tp(t,e,"nw",l,u,a,a),tp(t,e,"ne",d,u,a,a),tp(t,e,"sw",l,f,a,a),tp(t,e,"se",d,f,a,a))}function Qf(t,e){var i=e.__brushOption,n=i.transformable,o=e.childAt(0);o.useStyle(ep(i)),o.attr({silent:!n,cursor:n?"move":"default"}),ck(["w","e","n","s","se","sw","ne","nw"],function(i){var o=e.childOfName(i),a=op(t,i);o&&o.attr({silent:!n,invisible:!n,cursor:n?wk[a]+"-resize":null})})}function tp(t,e,i,n,o,a,r){var s=e.childOfName(i);s&&s.setShape(up(lp(t,e,[[n,o],[n+a,o+r]])))}function ep(t){return r({strokeNoScale:!0},t.brushStyle)}function ip(t,e,i,n){var o=[fk(t,i),fk(e,n)],a=[pk(t,i),pk(e,n)];return[[o[0],a[0]],[o[1],a[1]]]}function np(t){return To(t.group)}function op(t,e){if(e.length>1)return("e"===(n=[op(t,(e=e.split(""))[0]),op(t,e[1])])[0]||"w"===n[0])&&n.reverse(),n.join("");var i={left:"w",right:"e",top:"n",bottom:"s"},n=Do({w:"left",e:"right",n:"top",s:"bottom"}[e],np(t));return i[n]}function ap(t,e,i,n,o,a,r,s){var l=n.__brushOption,u=t(l.range),h=sp(i,a,r);ck(o.split(""),function(t){var e=_k[t];u[e[0]][e[1]]+=h[e[0]]}),l.range=e(ip(u[0][0],u[1][0],u[0][1],u[1][1])),Hf(i,n),Yf(i,{isEnd:!1})}function rp(t,e,i,n,o){var a=e.__brushOption.range,r=sp(t,i,n);ck(a,function(t){t[0]+=r[0],t[1]+=r[1]}),Hf(t,e),Yf(t,{isEnd:!1})}function sp(t,e,i){var n=t.group,o=n.transformCoordToLocal(e,i),a=n.transformCoordToLocal(0,0);return[o[0]-a[0],o[1]-a[1]]}function lp(t,e,n){var o=Xf(t,e);return o&&!0!==o?o.clipPath(n,t._transform):i(n)}function up(t){var e=fk(t[0][0],t[1][0]),i=fk(t[0][1],t[1][1]);return{x:e,y:i,width:pk(t[0][0],t[1][0])-e,height:pk(t[0][1],t[1][1])-i}}function hp(t,e,i){if(t._brushType){var n=t._zr,o=t._covers,a=Uf(t,e,i);if(!t._dragging)for(var r=0;r=i.length)return e;for(var o=-1,a=e.length,r=i[n++],s={},l={};++o=i.length)return t;var a=[],r=n[o++];return d(t,function(t,i){a.push({key:i,values:e(t,o)})}),r?a.sort(function(t,e){return r(t.key,e.key)}):a}var i=[],n=[];return{key:function(t){return i.push(t),this},sortKeys:function(t){return n[i.length-1]=t,this},entries:function(i){return e(t(i,0),0)}}}function Bp(t,e){return ha(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function Vp(t,e,i,n,o,a,r,s){Fp(t,e,i,o,a,s),Zp(t,e,a,o,n,r,s),eg(t,s)}function Gp(t){d(t,function(t){var e=Qp(t.outEdges,Jp),i=Qp(t.inEdges,Jp),n=Math.max(e,i);t.setLayout({value:n},!0)})}function Fp(t,e,i,n,o,a){for(var r=[],s=[],l=[],u=[],h=0,c=0;c0;a--)Yp(s,l*=.99,r),jp(s,o,i,n,r),tg(s,l,r),jp(s,o,i,n,r)}function Up(t){return"vertical"===t?function(t){return t.getLayout().y}:function(t){return t.getLayout().x}}function Xp(t,e,i,n,o,a,r){var s=[];d(e,function(t){var e=t.length,i=0,l=0;d(t,function(t){i+=t.getLayout().value}),l="vertical"===r?(o-(e-1)*a)/i:(n-(e-1)*a)/i,s.push(l)}),s.sort(function(t,e){return t-e});var l=s[0];d(e,function(t){d(t,function(t,e){var i=t.getLayout().value*l;"vertical"===r?(t.setLayout({x:e},!0),t.setLayout({dx:i},!0)):(t.setLayout({y:e},!0),t.setLayout({dy:i},!0))})}),d(i,function(t){var e=+t.getValue()*l;t.setLayout({dy:e},!0)})}function jp(t,e,i,n,o){d(t,function(t){var a,r,s,l=0,u=t.length;if("vertical"===o){var h;for(t.sort(function(t,e){return t.getLayout().x-e.getLayout().x}),s=0;s0&&(h=a.getLayout().x+r,a.setLayout({x:h},!0)),l=a.getLayout().x+a.getLayout().dx+e;if((r=l-e-n)>0)for(h=a.getLayout().x-r,a.setLayout({x:h},!0),l=h,s=u-2;s>=0;--s)(r=(a=t[s]).getLayout().x+a.getLayout().dx+e-l)>0&&(h=a.getLayout().x-r,a.setLayout({x:h},!0)),l=a.getLayout().x}else{var c;for(t.sort(function(t,e){return t.getLayout().y-e.getLayout().y}),s=0;s0&&(c=a.getLayout().y+r,a.setLayout({y:c},!0)),l=a.getLayout().y+a.getLayout().dy+e;if((r=l-e-i)>0)for(c=a.getLayout().y-r,a.setLayout({y:c},!0),l=c,s=u-2;s>=0;--s)(r=(a=t[s]).getLayout().y+a.getLayout().dy+e-l)>0&&(c=a.getLayout().y-r,a.setLayout({y:c},!0)),l=a.getLayout().y}})}function Yp(t,e,i){d(t.slice().reverse(),function(t){d(t,function(t){if(t.outEdges.length){var n=Qp(t.outEdges,qp,i)/Qp(t.outEdges,Jp,i);if("vertical"===i){var o=t.getLayout().x+(n-$p(t,i))*e;t.setLayout({x:o},!0)}else{var a=t.getLayout().y+(n-$p(t,i))*e;t.setLayout({y:a},!0)}}})})}function qp(t,e){return $p(t.node2,e)*t.getValue()}function Kp(t,e){return $p(t.node1,e)*t.getValue()}function $p(t,e){return"vertical"===e?t.getLayout().x+t.getLayout().dx/2:t.getLayout().y+t.getLayout().dy/2}function Jp(t){return t.getValue()}function Qp(t,e,i){for(var n=0,o=t.length,a=-1;++a0?"P":"N",a=n.getVisual("borderColor"+o)||n.getVisual("color"+o),r=i.getModel(Fk).getItemStyle(Hk);e.useStyle(r),e.style.fill=null,e.style.stroke=a}function fg(t,e,i,n,o){return i>n?-1:i0?t.get(o,e-1)<=n?1:-1:1}function pg(t,e){var i,n=t.getBaseAxis(),o="category"===n.type?n.getBandWidth():(i=n.getExtent(),Math.abs(i[1]-i[0])/e.count()),a=Bo(A(t.get("barMaxWidth"),o),o),r=Bo(A(t.get("barMinWidth"),1),o),s=t.get("barWidth");return null!=s?Bo(s,o):Math.max(Math.min(o/2,a),r)}function gg(t){return y(t)||(t=[+t,+t]),t}function mg(t,e){t.eachChild(function(t){t.attr({z:e.z,zlevel:e.zlevel,style:{stroke:"stroke"===e.brushType?e.color:null,fill:"fill"===e.brushType?e.color:null}})})}function vg(t,e){tb.call(this);var i=new _u(t,e),n=new tb;this.add(i),this.add(n),n.beforeUpdate=function(){this.attr(i.getScale())},this.updateData(t,e)}function yg(t){var e=t.data;e&&e[0]&&e[0][0]&&e[0][0].coord&&(t.data=f(e,function(t){var e={coords:[t[0].coord,t[1].coord]};return t[0].name&&(e.fromName=t[0].name),t[1].name&&(e.toName=t[1].name),o([e,t[0],t[1]])}))}function xg(t,e,i){tb.call(this),this.add(this.createLine(t,e,i)),this._updateEffectSymbol(t,e)}function _g(t,e,i){tb.call(this),this._createPolyline(t,e,i)}function wg(t,e,i){xg.call(this,t,e,i),this._lastFrame=0,this._lastFramePercent=0}function bg(){this.group=new tb}function Sg(t){return t instanceof Array||(t=[t,t]),t}function Mg(){var t=iw();this.canvas=t,this.blurSize=30,this.pointSize=20,this.maxOpacity=1,this.minOpacity=0,this._gradientPixels={}}function Ig(t,e,i){var n=t[1]-t[0],o=(e=f(e,function(e){return{interval:[(e.interval[0]-t[0])/n,(e.interval[1]-t[0])/n]}})).length,a=0;return function(t){for(n=a;n=0;n--){var r=e[n].interval;if(r[0]<=t&&t<=r[1]){a=n;break}}return n>=0&&n=e[0]&&t<=e[1]}}function Ag(t){var e=t.dimensions;return"lng"===e[0]&&"lat"===e[1]}function Dg(t,e,i,n){var o=t.getItemLayout(e),a=i.get("symbolRepeat"),r=i.get("symbolClip"),s=i.get("symbolPosition")||"start",l=(i.get("symbolRotate")||0)*Math.PI/180||0,u=i.get("symbolPatternSize")||2,h=i.isAnimationEnabled(),c={dataIndex:e,layout:o,itemModel:i,symbolType:t.getItemVisual(e,"symbol")||"circle",color:t.getItemVisual(e,"color"),symbolClip:r,symbolRepeat:a,symbolRepeatDirection:i.get("symbolRepeatDirection"),symbolPatternSize:u,rotation:l,animationModel:h?i:null,hoverAnimation:h&&i.get("hoverAnimation"),z2:i.getShallow("z",!0)||0};Cg(i,a,o,n,c),kg(t,e,o,a,r,c.boundingLength,c.pxSign,u,n,c),Pg(i,c.symbolScale,l,n,c);var d=c.symbolSize,f=i.get("symbolOffset");return y(f)&&(f=[Bo(f[0],d[0]),Bo(f[1],d[1])]),Ng(i,d,o,a,r,f,s,c.valueLineWidth,c.boundingLength,c.repeatCutLength,n,c),c}function Cg(t,e,i,n,o){var a,r=n.valueDim,s=t.get("symbolBoundingData"),l=n.coordSys.getOtherAxis(n.coordSys.getBaseAxis()),u=l.toGlobalCoord(l.dataToCoord(0)),h=1-+(i[r.wh]<=0);if(y(s)){var c=[Lg(l,s[0])-u,Lg(l,s[1])-u];c[1]0?1:a<0?-1:0}function Lg(t,e){return t.toGlobalCoord(t.dataToCoord(t.scale.parse(e)))}function kg(t,e,i,n,o,a,r,s,l,u){var h=l.valueDim,c=l.categoryDim,d=Math.abs(i[c.wh]),f=t.getItemVisual(e,"symbolSize");y(f)?f=f.slice():(null==f&&(f="100%"),f=[f,f]),f[c.index]=Bo(f[c.index],d),f[h.index]=Bo(f[h.index],n?d:Math.abs(a)),u.symbolSize=f,(u.symbolScale=[f[0]/s,f[1]/s])[h.index]*=(l.isHorizontal?-1:1)*r}function Pg(t,e,i,n,o){var a=t.get(dP)||0;a&&(pP.attr({scale:e.slice(),rotation:i}),pP.updateTransform(),a/=pP.getLineScale(),a*=e[n.valueDim.index]),o.valueLineWidth=a}function Ng(t,e,i,n,o,r,s,l,u,h,c,d){var f=c.categoryDim,p=c.valueDim,g=d.pxSign,m=Math.max(e[p.index]+l,0),v=m;if(n){var y=Math.abs(u),x=T(t.get("symbolMargin"),"15%")+"",_=!1;x.lastIndexOf("!")===x.length-1&&(_=!0,x=x.slice(0,x.length-1)),x=Bo(x,e[p.index]);var w=Math.max(m+2*x,0),b=_?0:2*x,S=Jo(n),M=S?n:Kg((y+b)/w);w=m+2*(x=(y-M*m)/2/(_?M:M-1)),b=_?0:2*x,S||"fixed"===n||(M=h?Kg((Math.abs(h)+b)/w):0),v=M*w-b,d.repeatTimes=M,d.symbolMargin=x}var I=g*(v/2),A=d.pathPosition=[];A[f.index]=i[f.wh]/2,A[p.index]="start"===s?I:"end"===s?u-I:u/2,r&&(A[0]+=r[0],A[1]+=r[1]);var D=d.bundlePosition=[];D[f.index]=i[f.xy],D[p.index]=i[p.xy];var C=d.barRectShape=a({},i);C[p.wh]=g*Math.max(Math.abs(i[p.wh]),Math.abs(A[p.index]+I)),C[f.wh]=i[f.wh];var L=d.clipShape={};L[f.xy]=-i[f.xy],L[f.wh]=c.ecSize[f.wh],L[p.xy]=0,L[p.wh]=i[p.wh]}function Og(t){var e=t.symbolPatternSize,i=$l(t.symbolType,-e/2,-e/2,e,e,t.color);return i.attr({culling:!0}),"image"!==i.type&&i.setStyle({strokeNoScale:!0}),i}function Eg(t,e,i,n){function o(t){var e=l.slice(),n=i.pxSign,o=t;return("start"===i.symbolRepeatDirection?n>0:n<0)&&(o=h-1-t),e[u.index]=d*(o-h/2+.5)+l[u.index],{position:e,scale:i.symbolScale.slice(),rotation:i.rotation}}var a=t.__pictorialBundle,r=i.symbolSize,s=i.valueLineWidth,l=i.pathPosition,u=e.valueDim,h=i.repeatTimes||0,c=0,d=r[e.valueDim.index]+s+2*i.symbolMargin;for(jg(t,function(t){t.__pictorialAnimationIndex=c,t.__pictorialRepeatTimes=h,c0)],d=t.__pictorialBarRect;Lh(d.style,h,a,n,e.seriesModel,o,c),co(d,h)}function Kg(t){var e=Math.round(t);return Math.abs(t-e)<1e-4?e:Math.ceil(t)}function $g(t,e,i){this.dimension="single",this.dimensions=["single"],this._axis=null,this._rect,this._init(t,e,i),this.model=t}function Jg(t,e){e=e||{};var i=t.coordinateSystem,n=t.axis,o={},a=n.position,r=n.orient,s=i.getRect(),l=[s.x,s.x+s.width,s.y,s.y+s.height],u={horizontal:{top:l[2],bottom:l[3]},vertical:{left:l[0],right:l[1]}};o.position=["vertical"===r?u.vertical[a]:l[0],"horizontal"===r?u.horizontal[a]:l[3]];var h={horizontal:0,vertical:1};o.rotation=Math.PI/2*h[r];var c={top:-1,bottom:1,right:1,left:-1};o.labelDirection=o.tickDirection=o.nameDirection=c[a],t.get("axisTick.inside")&&(o.tickDirection=-o.tickDirection),T(e.labelInside,t.get("axisLabel.inside"))&&(o.labelDirection=-o.labelDirection);var d=e.rotate;return null==d&&(d=t.get("axisLabel.rotate")),o.labelRotation="top"===a?-d:d,o.z2=1,o}function Qg(t,e,i,n,o){var r=t.axis;if(!r.scale.isBlank()&&r.containData(e))if(t.involveSeries){var s=tm(e,t),l=s.payloadBatch,u=s.snapToValue;l[0]&&null==o.seriesIndex&&a(o,l[0]),!n&&t.snap&&r.containData(u)&&null!=u&&(e=u),i.showPointer(t,e,l,o),i.showTooltip(t,s,u)}else i.showPointer(t,e)}function tm(t,e){var i=e.axis,n=i.dim,o=t,a=[],r=Number.MAX_VALUE,s=-1;return wP(e.seriesModels,function(e,l){var u,h,c=e.getData().mapDimension(n,!0);if(e.getAxisTooltipData){var d=e.getAxisTooltipData(c,t,i);h=d.dataIndices,u=d.nestestValue}else{if(!(h=e.getData().indicesOfNearest(c[0],t,"category"===i.type?.5:null)).length)return;u=e.getData().get(c[0],h[0])}if(null!=u&&isFinite(u)){var f=t-u,p=Math.abs(f);p<=r&&((p=0&&s<0)&&(r=p,s=f,o=u,a.length=0),wP(h,function(t){a.push({seriesIndex:e.seriesIndex,dataIndexInside:t,dataIndex:e.getData().getRawIndex(t)})}))}}),{payloadBatch:a,snapToValue:o}}function em(t,e,i,n){t[e.key]={value:i,payloadBatch:n}}function im(t,e,i,n){var o=i.payloadBatch,a=e.axis,r=a.model,s=e.axisPointerModel;if(e.triggerTooltip&&o.length){var l=e.coordSys.model,u=Th(l),h=t.map[u];h||(h=t.map[u]={coordSysId:l.id,coordSysIndex:l.componentIndex,coordSysType:l.type,coordSysMainType:l.mainType,dataByAxis:[]},t.list.push(h)),h.dataByAxis.push({axisDim:a.dim,axisIndex:r.componentIndex,axisType:r.type,axisId:r.id,value:n,valueLabelOpt:{precision:s.get("label.precision"),formatter:s.get("label.formatter")},seriesDataIndices:o.slice()})}}function nm(t,e,i){var n=i.axesInfo=[];wP(e,function(e,i){var o=e.axisPointerModel.option,a=t[i];a?(!e.useHandle&&(o.status="show"),o.value=a.value,o.seriesDataIndices=(a.payloadBatch||[]).slice()):!e.useHandle&&(o.status="hide"),"show"===o.status&&n.push({axisDim:e.axis.dim,axisIndex:e.axis.model.componentIndex,value:o.value})})}function om(t,e,i,n){if(!lm(e)&&t.list.length){var o=((t.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};n({type:"showTip",escapeConnect:!0,x:e[0],y:e[1],tooltipOption:i.tooltipOption,position:i.position,dataIndexInside:o.dataIndexInside,dataIndex:o.dataIndex,seriesIndex:o.seriesIndex,dataByCoordSys:t.list})}else n({type:"hideTip"})}function am(t,e,i){var n=i.getZr(),o=SP(n).axisPointerLastHighlights||{},a=SP(n).axisPointerLastHighlights={};wP(t,function(t,e){var i=t.axisPointerModel.option;"show"===i.status&&wP(i.seriesDataIndices,function(t){var e=t.seriesIndex+" | "+t.dataIndex;a[e]=t})});var r=[],s=[];d(o,function(t,e){!a[e]&&s.push(t)}),d(a,function(t,e){!o[e]&&r.push(t)}),s.length&&i.dispatchAction({type:"downplay",escapeConnect:!0,batch:s}),r.length&&i.dispatchAction({type:"highlight",escapeConnect:!0,batch:r})}function rm(t,e){for(var i=0;i<(t||[]).length;i++){var n=t[i];if(e.axis.dim===n.axisDim&&e.axis.model.componentIndex===n.axisIndex)return n}}function sm(t){var e=t.axis.model,i={},n=i.axisDim=t.axis.dim;return i.axisIndex=i[n+"AxisIndex"]=e.componentIndex,i.axisName=i[n+"AxisName"]=e.name,i.axisId=i[n+"AxisId"]=e.id,i}function lm(t){return!t||null==t[0]||isNaN(t[0])||null==t[1]||isNaN(t[1])}function um(t,e,i){if(!U_.node){var n=e.getZr();MP(n).records||(MP(n).records={}),hm(n,e),(MP(n).records[t]||(MP(n).records[t]={})).handler=i}}function hm(t,e){function i(i,n){t.on(i,function(i){var o=pm(e);IP(MP(t).records,function(t){t&&n(t,i,o.dispatchAction)}),cm(o.pendings,e)})}MP(t).initialized||(MP(t).initialized=!0,i("click",v(fm,"click")),i("mousemove",v(fm,"mousemove")),i("globalout",dm))}function cm(t,e){var i,n=t.showTip.length,o=t.hideTip.length;n?i=t.showTip[n-1]:o&&(i=t.hideTip[o-1]),i&&(i.dispatchAction=null,e.dispatchAction(i))}function dm(t,e,i){t.handler("leave",null,i)}function fm(t,e,i,n){e.handler(t,i,n)}function pm(t){var e={showTip:[],hideTip:[]},i=function(n){var o=e[n.type];o?o.push(n):(n.dispatchAction=i,t.dispatchAction(n))};return{dispatchAction:i,pendings:e}}function gm(t,e){if(!U_.node){var i=e.getZr();(MP(i).records||{})[t]&&(MP(i).records[t]=null)}}function mm(){}function vm(t,e,i,n){ym(AP(i).lastProp,n)||(AP(i).lastProp=n,e?Mo(i,n,t):(i.stopAnimation(),i.attr(n)))}function ym(t,e){if(w(t)&&w(e)){var i=!0;return d(e,function(e,n){i=i&&ym(t[n],e)}),!!i}return t===e}function xm(t,e){t[e.get("label.show")?"show":"hide"]()}function _m(t){return{position:t.position.slice(),rotation:t.rotation||0}}function wm(t,e,i){var n=e.get("z"),o=e.get("zlevel");t&&t.traverse(function(t){"group"!==t.type&&(null!=n&&(t.z=n),null!=o&&(t.zlevel=o),t.silent=i)})}function bm(t){var e,i=t.get("type"),n=t.getModel(i+"Style");return"line"===i?(e=n.getLineStyle()).fill=null:"shadow"===i&&((e=n.getAreaStyle()).stroke=null),e}function Sm(t,e,i,n,o){var a=Im(i.get("value"),e.axis,e.ecModel,i.get("seriesDataIndices"),{precision:i.get("label.precision"),formatter:i.get("label.formatter")}),r=i.getModel("label"),s=qM(r.get("padding")||0),l=r.getFont(),u=ke(a,l),h=o.position,c=u.width+s[1]+s[3],d=u.height+s[0]+s[2],f=o.align;"right"===f&&(h[0]-=c),"center"===f&&(h[0]-=c/2);var p=o.verticalAlign;"bottom"===p&&(h[1]-=d),"middle"===p&&(h[1]-=d/2),Mm(h,c,d,n);var g=r.get("backgroundColor");g&&"auto"!==g||(g=e.get("axisLine.lineStyle.color")),t.label={shape:{x:0,y:0,width:c,height:d,r:r.get("borderRadius")},position:h.slice(),style:{text:a,textFont:l,textFill:r.getTextColor(),textPosition:"inside",fill:g,stroke:r.get("borderColor")||"transparent",lineWidth:r.get("borderWidth")||0,shadowBlur:r.get("shadowBlur"),shadowColor:r.get("shadowColor"),shadowOffsetX:r.get("shadowOffsetX"),shadowOffsetY:r.get("shadowOffsetY")},z2:10}}function Mm(t,e,i,n){var o=n.getWidth(),a=n.getHeight();t[0]=Math.min(t[0]+e,o)-e,t[1]=Math.min(t[1]+i,a)-i,t[0]=Math.max(t[0],0),t[1]=Math.max(t[1],0)}function Im(t,e,i,n,o){t=e.scale.parse(t);var a=e.scale.getLabel(t,{precision:o.precision}),r=o.formatter;if(r){var s={value:Ul(e,t),seriesData:[]};d(n,function(t){var e=i.getSeriesByIndex(t.seriesIndex),n=t.dataIndexInside,o=e&&e.getDataParams(n);o&&s.seriesData.push(o)}),_(r)?a=r.replace("{value}",a):x(r)&&(a=r(s))}return a}function Tm(t,e,i){var n=xt();return Mt(n,n,i.rotation),St(n,n,i.position),Ao([t.dataToCoord(e),(i.labelOffset||0)+(i.labelDirection||1)*(i.labelMargin||0)],n)}function Am(t,e,i,n,o,a){var r=WD.innerTextLayout(i.rotation,0,i.labelDirection);i.labelMargin=o.get("label.margin"),Sm(e,n,o,a,{position:Tm(n.axis,t,i),align:r.textAlign,verticalAlign:r.textVerticalAlign})}function Dm(t,e,i){return i=i||0,{x1:t[i],y1:t[1-i],x2:e[i],y2:e[1-i]}}function Cm(t,e,i){return i=i||0,{x:t[i],y:t[1-i],width:e[i],height:e[1-i]}}function Lm(t,e,i,n,o,a){return{cx:t,cy:e,r0:i,r:n,startAngle:o,endAngle:a,clockwise:!0}}function km(t,e){var i={};return i[e.dim+"AxisIndex"]=e.index,t.getCartesian(i)}function Pm(t){return"x"===t.dim?0:1}function Nm(t){return t.isHorizontal()?0:1}function Om(t,e){var i=t.getRect();return[i[PP[e]],i[PP[e]]+i[NP[e]]]}function Em(t,e,i){var n=new yM({shape:{x:t.x-10,y:t.y-10,width:0,height:t.height+20}});return Io(n,{shape:{width:t.width+20,height:t.height+20}},e,i),n}function Rm(t,e,i){if(t.count())for(var n,o=e.coordinateSystem,a=e.getLayerSeries(),r=t.mapDimension("single"),s=t.mapDimension("value"),l=f(a,function(e){return f(e.indices,function(e){var i=o.dataToPoint(t.get(r,e));return i[1]=t.get(s,e),i})}),u=zm(l),h=u.y0,c=i/u.max,d=a.length,p=a[0].indices.length,g=0;ga&&(a=u),n.push(u)}for(var h=0;ha&&(a=d)}return r.y0=o,r.max=a,r}function Bm(t){var e=0;d(t.children,function(t){Bm(t);var i=t.value;y(i)&&(i=i[0]),e+=i});var i=t.value;y(i)&&(i=i[0]),(null==i||isNaN(i))&&(i=e),i<0&&(i=0),y(t.value)?t.value[0]=i:t.value=i}function Vm(t,e,i){function n(){r.ignore=r.hoverIgnore}function o(){r.ignore=r.normalIgnore}tb.call(this);var a=new hM({z2:BP});a.seriesIndex=e.seriesIndex;var r=new rM({z2:VP,silent:t.getModel("label").get("silent")});this.add(a),this.add(r),this.updateData(!0,t,"normal",e,i),this.on("emphasis",n).on("normal",o).on("mouseover",n).on("mouseout",o)}function Gm(t,e,i){var n=t.getVisual("color"),o=t.getVisual("visualMeta");o&&0!==o.length||(n=null);var a=t.getModel("itemStyle").get("color");if(a)return a;if(n)return n;if(0===t.depth)return i.option.color[0];var r=i.option.color.length;return a=i.option.color[Fm(t)%r]}function Fm(t){for(var e=t;e.depth>1;)e=e.parentNode;return l(t.getAncestors()[0].children,e)}function Wm(t,e,i){return i!==zP.NONE&&(i===zP.SELF?t===e:i===zP.ANCESTOR?t===e||t.isAncestorOf(e):t===e||t.isDescendantOf(e))}function Hm(t,e,i){e.getData().setItemVisual(t.dataIndex,"color",i)}function Zm(t,e){var i=t.children||[];t.children=Um(i,e),i.length&&d(t.children,function(t){Zm(t,e)})}function Um(t,e){if("function"==typeof e)return t.sort(e);var i="asc"===e;return t.sort(function(t,e){var n=(t.getValue()-e.getValue())*(i?1:-1);return 0===n?(t.dataIndex-e.dataIndex)*(i?-1:1):n})}function Xm(t,e){return e=e||[0,0],f(["x","y"],function(i,n){var o=this.getAxis(i),a=e[n],r=t[n]/2;return"category"===o.type?o.getBandWidth():Math.abs(o.dataToCoord(a-r)-o.dataToCoord(a+r))},this)}function jm(t,e){return e=e||[0,0],f([0,1],function(i){var n=e[i],o=t[i]/2,a=[],r=[];return a[i]=n-o,r[i]=n+o,a[1-i]=r[1-i]=e[1-i],Math.abs(this.dataToPoint(a)[i]-this.dataToPoint(r)[i])},this)}function Ym(t,e){var i=this.getAxis(),n=e instanceof Array?e[0]:e,o=(t instanceof Array?t[0]:t)/2;return"category"===i.type?i.getBandWidth():Math.abs(i.dataToCoord(n-o)-i.dataToCoord(n+o))}function qm(t,e){return f(["Radius","Angle"],function(i,n){var o=this["get"+i+"Axis"](),a=e[n],r=t[n]/2,s="dataTo"+i,l="category"===o.type?o.getBandWidth():Math.abs(o[s](a-r)-o[s](a+r));return"Angle"===i&&(l=l*Math.PI/180),l},this)}function Km(t){var e,i=t.type;if("path"===i){var n=t.shape,o=null!=n.width&&null!=n.height?{x:n.x||0,y:n.y||0,width:n.width,height:n.height}:null,a=lv(n);(e=Un(a,null,o,n.layout||"center")).__customPathData=a}else"image"===i?(e=new fi({})).__customImagePath=t.style.image:"text"===i?(e=new rM({})).__customText=t.style.text:e=new(0,zM[i.charAt(0).toUpperCase()+i.slice(1)]);return e.__customGraphicType=i,e.name=t.name,e}function $m(t,e,n,o,a,r,s){var l={},u=n.style||{};if(n.shape&&(l.shape=i(n.shape)),n.position&&(l.position=n.position.slice()),n.scale&&(l.scale=n.scale.slice()),n.origin&&(l.origin=n.origin.slice()),n.rotation&&(l.rotation=n.rotation),"image"===t.type&&n.style){h=l.style={};d(["x","y","width","height"],function(e){Jm(e,h,u,t.style,r)})}if("text"===t.type&&n.style){var h=l.style={};d(["x","y"],function(e){Jm(e,h,u,t.style,r)}),!u.hasOwnProperty("textFill")&&u.fill&&(u.textFill=u.fill),!u.hasOwnProperty("textStroke")&&u.stroke&&(u.textStroke=u.stroke)}if("group"!==t.type&&(t.useStyle(u),r)){t.style.opacity=0;var c=u.opacity;null==c&&(c=1),Io(t,{style:{opacity:c}},o,e)}r?t.attr(l):Mo(t,l,o,e),n.hasOwnProperty("z2")&&t.attr("z2",n.z2||0),n.hasOwnProperty("silent")&&t.attr("silent",n.silent),n.hasOwnProperty("invisible")&&t.attr("invisible",n.invisible),n.hasOwnProperty("ignore")&&t.attr("ignore",n.ignore),n.hasOwnProperty("info")&&t.attr("info",n.info);var f=n.styleEmphasis,p=!1===f;t.__cusHasEmphStl&&null==f||!t.__cusHasEmphStl&&p||(ao(t,f),t.__cusHasEmphStl=!p),s&&fo(t,!p)}function Jm(t,e,i,n,o){null==i[t]||o||(e[t]=i[t],i[t]=n[t])}function Qm(t,e,i,n){function o(t){null==t&&(t=h),v&&(c=e.getItemModel(t),d=c.getModel(XP),f=c.getModel(jP),p=e.getItemVisual(t,"color"),v=!1)}var s=t.get("renderItem"),l=t.coordinateSystem,u={};l&&(u=l.prepareCustoms?l.prepareCustoms():qP[l.type](l));var h,c,d,f,p,g=r({getWidth:n.getWidth,getHeight:n.getHeight,getZr:n.getZr,getDevicePixelRatio:n.getDevicePixelRatio,value:function(t,i){return null==i&&(i=h),e.get(e.getDimension(t||0),i)},style:function(i,n){null==n&&(n=h),o(n);var r=c.getModel(ZP).getItemStyle();null!=p&&(r.fill=p);var s=e.getItemVisual(n,"opacity");return null!=s&&(r.opacity=s),go(r,d,null,{autoColor:p,isRectText:!0}),r.text=d.getShallow("show")?A(t.getFormattedLabel(n,"normal"),xu(e,n)):null,i&&a(r,i),r},styleEmphasis:function(i,n){null==n&&(n=h),o(n);var r=c.getModel(UP).getItemStyle();return go(r,f,null,{isRectText:!0},!0),r.text=f.getShallow("show")?D(t.getFormattedLabel(n,"emphasis"),t.getFormattedLabel(n,"normal"),xu(e,n)):null,i&&a(r,i),r},visual:function(t,i){return null==i&&(i=h),e.getItemVisual(i,t)},barLayout:function(t){if(l.getBaseAxis)return Cl(r({axis:l.getBaseAxis()},t),n)},currentSeriesIndices:function(){return i.getCurrentSeriesIndices()},font:function(t){return bo(t,i)}},u.api||{}),m={context:{},seriesId:t.id,seriesName:t.name,seriesIndex:t.seriesIndex,coordSys:u.coordSys,dataInsideLength:e.count(),encode:tv(t.getData())},v=!0;return function(t,i){return h=t,v=!0,s&&s(r({dataIndexInside:t,dataIndex:e.getRawIndex(t),actionType:i?i.type:null},m),g)}}function tv(t){var e={};return d(t.dimensions,function(i,n){var o=t.getDimensionInfo(i);if(!o.isExtraCoord){var a=o.coordDim;(e[a]=e[a]||[])[o.coordDimIndex]=n}}),e}function ev(t,e,i,n,o,a){return(t=iv(t,e,i,n,o,a,!0))&&a.setItemGraphicEl(e,t),t}function iv(t,e,i,n,o,a,r){var s=!i,l=(i=i||{}).type,u=i.shape,h=i.style;if(t&&(s||null!=l&&l!==t.__customGraphicType||"path"===l&&uv(u)&&lv(u)!==t.__customPathData||"image"===l&&hv(h,"image")&&h.image!==t.__customImagePath||"text"===l&&hv(u,"text")&&h.text!==t.__customText)&&(o.remove(t),t=null),!s){var c=!t;return!t&&(t=Km(i)),$m(t,e,i,n,a,c,r),"group"===l&&nv(t,e,i,n,a),o.add(t),t}}function nv(t,e,i,n,o){var a=i.children,r=a?a.length:0,s=i.$mergeChildren,l="byName"===s||i.diffChildrenByName,u=!1===s;if(r||l||u)if(l)ov({oldChildren:t.children()||[],newChildren:a||[],dataIndex:e,animatableModel:n,group:t,data:o});else{u&&t.removeAll();for(var h=0;hn?t-=l+a:t+=a),null!=r&&(e+u+r>o?e-=u+r:e+=r),[t,e]}function Ov(t,e,i,n,o){var a=i.getOuterSize(),r=a.width,s=a.height;return t=Math.min(t+r,n)-r,e=Math.min(e+s,o)-s,t=Math.max(t,0),e=Math.max(e,0),[t,e]}function Ev(t,e,i){var n=i[0],o=i[1],a=0,r=0,s=e.width,l=e.height;switch(t){case"inside":a=e.x+s/2-n/2,r=e.y+l/2-o/2;break;case"top":a=e.x+s/2-n/2,r=e.y-o-5;break;case"bottom":a=e.x+s/2-n/2,r=e.y+l+5;break;case"left":a=e.x-n-5,r=e.y+l/2-o/2;break;case"right":a=e.x+s+5,r=e.y+l/2-o/2}return[a,r]}function Rv(t){return"center"===t||"middle"===t}function zv(t){return t.get("stack")||"__ec_stack_"+t.seriesIndex}function Bv(t){return t.dim}function Vv(t,e){var i={};d(t,function(t,e){var n=t.getData(),o=t.coordinateSystem.getBaseAxis(),a=o.getExtent(),r="category"===o.type?o.getBandWidth():Math.abs(a[1]-a[0])/n.count(),s=i[Bv(o)]||{bandWidth:r,remainedWidth:r,autoWidthCount:0,categoryGap:"20%",gap:"30%",stacks:{}},l=s.stacks;i[Bv(o)]=s;var u=zv(t);l[u]||s.autoWidthCount++,l[u]=l[u]||{width:0,maxWidth:0};var h=Bo(t.get("barWidth"),r),c=Bo(t.get("barMaxWidth"),r),d=t.get("barGap"),f=t.get("barCategoryGap");h&&!l[u].width&&(h=Math.min(s.remainedWidth,h),l[u].width=h,s.remainedWidth-=h),c&&(l[u].maxWidth=c),null!=d&&(s.gap=d),null!=f&&(s.categoryGap=f)});var n={};return d(i,function(t,e){n[e]={};var i=t.stacks,o=t.bandWidth,a=Bo(t.categoryGap,o),r=Bo(t.gap,1),s=t.remainedWidth,l=t.autoWidthCount,u=(s-a)/(l+(l-1)*r);u=Math.max(u,0),d(i,function(t,e){var i=t.maxWidth;i&&ie[0]&&(e=e.slice().reverse());var n=t.coordToPoint([e[0],i]),o=t.coordToPoint([e[1],i]);return{x1:n[0],y1:n[1],x2:o[0],y2:o[1]}}function jv(t){return t.getRadiusAxis().inverse?0:1}function Yv(t){var e=t[0],i=t[t.length-1];e&&i&&Math.abs(Math.abs(e.coord-i.coord)-360)<1e-4&&t.pop()}function qv(t,e,i){return{position:[t.cx,t.cy],rotation:i/180*Math.PI,labelDirection:-1,tickDirection:-1,nameDirection:1,labelRotate:e.getModel("axisLabel").get("rotate"),z2:1}}function Kv(t,e,i,n,o){var a=e.axis,r=a.dataToCoord(t),s=n.getAngleAxis().getExtent()[0];s=s/180*Math.PI;var l,u,h,c=n.getRadiusAxis().getExtent();if("radius"===a.dim){var d=xt();Mt(d,d,s),St(d,d,[n.cx,n.cy]),l=Ao([r,-o],d);var f=e.getModel("axisLabel").get("rotate")||0,p=WD.innerTextLayout(s,f*Math.PI/180,-1);u=p.textAlign,h=p.textVerticalAlign}else{var g=c[1];l=n.coordToPoint([g+o,r]);var m=n.cx,v=n.cy;u=Math.abs(l[0]-m)/g<.3?"center":l[0]>m?"left":"right",h=Math.abs(l[1]-v)/g<.3?"middle":l[1]>v?"top":"bottom"}return{position:l,align:u,verticalAlign:h}}function $v(t,e){e.update="updateView",Os(e,function(e,i){var n={};return i.eachComponent({mainType:"geo",query:e},function(i){i[t](e.name),d(i.coordinateSystem.regions,function(t){n[t.name]=i.isSelected(t.name)||!1})}),{selected:n,name:e.name}})}function Jv(t){var e={};d(t,function(t){e[t]=1}),t.length=0,d(e,function(e,i){t.push(i)})}function Qv(t){if(t)for(var e in t)if(t.hasOwnProperty(e))return!0}function ty(t,e,n){function o(){var t=function(){};return t.prototype.__hidden=t.prototype,new t}var a={};return IN(e,function(e){var r=a[e]=o();IN(t[e],function(t,o){if(cL.isValidType(o)){var a={type:o,visual:t};n&&n(a,e),r[o]=new cL(a),"opacity"===o&&((a=i(a)).type="colorAlpha",r.__hidden.__alphaForOpacity=new cL(a))}})}),a}function ey(t,e,n){var o;d(n,function(t){e.hasOwnProperty(t)&&Qv(e[t])&&(o=!0)}),o&&d(n,function(n){e.hasOwnProperty(n)&&Qv(e[n])?t[n]=i(e[n]):delete t[n]})}function iy(t,e,i,n,o,a){function r(t){return i.getItemVisual(h,t)}function s(t,e){i.setItemVisual(h,t,e)}function l(t,l){h=null==a?t:l;var c=i.getRawDataItem(h);if(!c||!1!==c.visualMap)for(var d=n.call(o,t),f=e[d],p=u[d],g=0,m=p.length;g1)return!1;var h=uy(i-t,o-t,n-e,a-e)/l;return!(h<0||h>1)}function ly(t){return t<=1e-6&&t>=-1e-6}function uy(t,e,i,n){return t*n-e*i}function hy(t,e,i){var n=this._targetInfoList=[],o={},a=dy(e,t);AN(NN,function(t,e){(!i||!i.include||DN(i.include,e)>=0)&&t(a,n,o)})}function cy(t){return t[0]>t[1]&&t.reverse(),t}function dy(t,e){return Vi(t,e,{includeMainTypes:kN})}function fy(t,e,i,n){var o=i.getAxis(["x","y"][t]),a=cy(f([0,1],function(t){return e?o.coordToData(o.toLocalCoord(n[t])):o.toGlobalCoord(o.dataToCoord(n[t]))})),r=[];return r[t]=a,r[1-t]=[NaN,NaN],{values:a,xyMinMax:r}}function py(t,e,i,n){return[e[0]-n[t]*i[0],e[1]-n[t]*i[1]]}function gy(t,e){var i=my(t),n=my(e),o=[i[0]/n[0],i[1]/n[1]];return isNaN(o[0])&&(o[0]=1),isNaN(o[1])&&(o[1]=1),o}function my(t){return t?[t[0][1]-t[0][0],t[1][1]-t[1][0]]:[NaN,NaN]}function vy(t,e,i,n,o){if(o){var a=t.getZr();a[GN]||(a[VN]||(a[VN]=yy),Pr(a,VN,i,e)(t,n))}}function yy(t,e){if(!t.isDisposed()){var i=t.getZr();i[GN]=!0,t.dispatchAction({type:"brushSelect",batch:e}),i[GN]=!1}}function xy(t,e,i,n){for(var o=0,a=e.length;o=0}function Ny(t,e,i){function n(t,e){return l(e.nodes,t)>=0}function o(t,n){var o=!1;return e(function(e){d(i(t,e)||[],function(t){n.records[e.name][t]&&(o=!0)})}),o}function a(t,n){n.nodes.push(t),e(function(e){d(i(t,e)||[],function(t){n.records[e.name][t]=!0})})}return function(i){var r={nodes:[],records:{}};if(e(function(t){r.records[t.name]={}}),!i)return r;a(i,r);var s;do{s=!1,t(function(t){!n(t,r)&&o(t,r)&&(a(t,r),s=!0)})}while(s);return r}}function Oy(t,e,i){var n=[1/0,-1/0];return JN(i,function(t){var i=t.getData();i&&JN(i.mapDimension(e,!0),function(t){var e=i.getApproximateExtent(t);e[0]n[1]&&(n[1]=e[1])})}),n[1]0?0:NaN);var r=i.getMax(!0);return null!=r&&"dataMax"!==r&&"function"!=typeof r?e[1]=r:o&&(e[1]=a>0?a-1:NaN),i.get("scale",!0)||(e[0]>0&&(e[0]=0),e[1]<0&&(e[1]=0)),e}function Ry(t,e){var i=t.getAxisModel(),n=t._percentWindow,o=t._valueWindow;if(n){var a=Ho(o,[0,500]);a=Math.min(a,20);var r=e||0===n[0]&&100===n[1];i.setRange(r?null:+o[0].toFixed(a),r?null:+o[1].toFixed(a))}}function zy(t){var e=t._minMaxSpan={},i=t._dataZoomModel;JN(["min","max"],function(n){e[n+"Span"]=i.get(n+"Span");var o=i.get(n+"ValueSpan");if(null!=o&&(e[n+"ValueSpan"]=o,null!=(o=t.getAxisModel().axis.scale.parse(o)))){var a=t._dataExtent;e[n+"Span"]=zo(a[0]+o,a,[0,100],!0)}})}function By(t){var e={};return eO(["start","end","startValue","endValue","throttle"],function(i){t.hasOwnProperty(i)&&(e[i]=t[i])}),e}function Vy(t,e){var i=t._rangePropMode,n=t.get("rangeMode");eO([["start","startValue"],["end","endValue"]],function(t,o){var a=null!=e[t[0]],r=null!=e[t[1]];a&&!r?i[o]="percent":!a&&r?i[o]="value":n?i[o]=n[o]:a&&(i[o]="percent")})}function Gy(t){return{x:"y",y:"x",radius:"angle",angle:"radius"}[t]}function Fy(t){return"vertical"===t?"ns-resize":"ew-resize"}function Wy(t,e){var i=Uy(t),n=e.dataZoomId,o=e.coordId;d(i,function(t,i){var a=t.dataZoomInfos;a[n]&&l(e.allCoordIds,o)<0&&(delete a[n],t.count--)}),jy(i);var a=i[o];a||((a=i[o]={coordId:o,dataZoomInfos:{},count:0}).controller=Xy(t,a),a.dispatchAction=v(Yy,t)),!a.dataZoomInfos[n]&&a.count++,a.dataZoomInfos[n]=e;var r=qy(a.dataZoomInfos);a.controller.enable(r.controlType,r.opt),a.controller.setPointerChecker(e.containsPoint),Pr(a,"dispatchAction",e.dataZoomModel.get("throttle",!0),"fixRate")}function Hy(t,e){var i=Uy(t);d(i,function(t){t.controller.dispose();var i=t.dataZoomInfos;i[e]&&(delete i[e],t.count--)}),jy(i)}function Zy(t){return t.type+"\0_"+t.id}function Uy(t){var e=t.getZr();return e[pO]||(e[pO]={})}function Xy(t,e){var i=new nc(t.getZr());return d(["pan","zoom","scrollMove"],function(t){i.on(t,function(i){var n=[];d(e.dataZoomInfos,function(o){if(i.isAvailableBehavior(o.dataZoomModel.option)){var a=(o.getRange||{})[t],r=a&&a(e.controller,i);!o.dataZoomModel.get("disabled",!0)&&r&&n.push({dataZoomId:o.dataZoomId,start:r[0],end:r[1]})}}),n.length&&e.dispatchAction(n)})}),i}function jy(t){d(t,function(e,i){e.count||(e.controller.dispose(),delete t[i])})}function Yy(t,e){t.dispatchAction({type:"dataZoom",batch:e})}function qy(t){var e,i={type_true:2,type_move:1,type_false:0,type_undefined:-1},n=!0;return d(t,function(t){var o=t.dataZoomModel,a=!o.get("disabled",!0)&&(!o.get("zoomLock",!0)||"move");i["type_"+a]>i["type_"+e]&&(e=a),n&=o.get("preventDefaultMouseMove",!0)}),{controlType:e,opt:{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!0,preventDefaultMouseMove:!!n}}}function Ky(t){return function(e,i,n,o){var a=this._range,r=a.slice(),s=e.axisModels[0];if(s){var l=t(r,s,e,i,n,o);return tk(l,r,[0,100],"all"),this._range=r,a[0]!==r[0]||a[1]!==r[1]?r:void 0}}}function $y(t,e){return t&&t.hasOwnProperty&&t.hasOwnProperty(e)}function Jy(t,e,i,n){for(var o=e.targetVisuals[n],a=cL.prepareVisualTypes(o),r={color:t.getData().getVisual("color")},s=0,l=a.length;s=0&&(r[a]=+r[a].toFixed(h)),r}function fx(t,e){var n=t.getData(),o=t.coordinateSystem;if(e&&!cx(e)&&!y(e.coord)&&o){var a=o.dimensions,r=px(e,n,o,t);if((e=i(e)).type&&qO[e.type]&&r.baseAxis&&r.valueAxis){var s=jO(a,r.baseAxis.dim),l=jO(a,r.valueAxis.dim);e.coord=qO[e.type](n,r.baseDataDim,r.valueDataDim,s,l),e.value=e.coord[l]}else{for(var u=[null!=e.xAxis?e.xAxis:e.radiusAxis,null!=e.yAxis?e.yAxis:e.angleAxis],h=0;h<2;h++)qO[u[h]]&&(u[h]=yx(n,n.mapDimension(a[h]),u[h]));e.coord=u}}return e}function px(t,e,i,n){var o={};return null!=t.valueIndex||null!=t.valueDim?(o.valueDataDim=null!=t.valueIndex?e.getDimension(t.valueIndex):t.valueDim,o.valueAxis=i.getAxis(gx(n,o.valueDataDim)),o.baseAxis=i.getOtherAxis(o.valueAxis),o.baseDataDim=e.mapDimension(o.baseAxis.dim)):(o.baseAxis=n.getBaseAxis(),o.valueAxis=i.getOtherAxis(o.baseAxis),o.baseDataDim=e.mapDimension(o.baseAxis.dim),o.valueDataDim=e.mapDimension(o.valueAxis.dim)),o}function gx(t,e){var i=t.getData(),n=i.dimensions;e=i.getDimension(e);for(var o=0;o=0)return!0}function Yx(t){for(var e=t.split(/\n+/g),i=[],n=f(Xx(e.shift()).split(gE),function(t){return{name:t,data:[]}}),o=0;o=0&&!i[o][n];o--);if(o<0){var a=t.queryComponents({mainType:"dataZoom",subType:"select",id:n})[0];if(a){var r=a.getPercentRange();i[0][n]={dataZoomId:n,start:r[0],end:r[1]}}}}),i.push(e)}function t_(t){var e=n_(t),i=e[e.length-1];e.length>1&&e.pop();var n={};return mE(i,function(t,i){for(var o=e.length-1;o>=0;o--)if(t=e[o][i]){n[i]=t;break}}),n}function e_(t){t[vE]=null}function i_(t){return n_(t).length}function n_(t){var e=t[vE];return e||(e=t[vE]=[{}]),e}function o_(t,e,i){(this._brushController=new Rf(i.getZr())).on("brush",m(this._onBrush,this)).mount(),this._isZoomActive}function a_(t){var e={};return d(["xAxisIndex","yAxisIndex"],function(i){e[i]=t[i],null==e[i]&&(e[i]="all"),(!1===e[i]||"none"===e[i])&&(e[i]=[])}),e}function r_(t,e){t.setIconStatus("back",i_(e)>1?"emphasis":"normal")}function s_(t,e,i,n,o){var a=i._isZoomActive;n&&"takeGlobalCursor"===n.type&&(a="dataZoomSelect"===n.key&&n.dataZoomSelectActive),i._isZoomActive=a,t.setIconStatus("zoom",a?"emphasis":"normal");var r=new hy(a_(t.option),e,{include:["grid"]});i._brushController.setPanels(r.makePanelOpts(o,function(t){return t.xAxisDeclared&&!t.yAxisDeclared?"lineX":!t.xAxisDeclared&&t.yAxisDeclared?"lineY":"rect"})).enableBrush(!!a&&{brushType:"auto",brushStyle:{lineWidth:0,fill:"rgba(0,0,0,0.2)"}})}function l_(t){this.model=t}function u_(t){return ME(t)}function h_(){if(!AE&&DE){AE=!0;var t=DE.styleSheets;t.length<31?DE.createStyleSheet().addRule(".zrvml","behavior:url(#default#VML)"):t[0].addRule(".zrvml","behavior:url(#default#VML)")}}function c_(t){return parseInt(t,10)}function d_(t,e){h_(),this.root=t,this.storage=e;var i=document.createElement("div"),n=document.createElement("div");i.style.cssText="display:inline-block;overflow:hidden;position:relative;width:300px;height:150px;",n.style.cssText="position:absolute;left:0;top:0;",t.appendChild(i),this._vmlRoot=n,this._vmlViewport=i,this.resize();var o=e.delFromStorage,a=e.addToStorage;e.delFromStorage=function(t){o.call(e,t),t&&t.onRemove&&t.onRemove(n)},e.addToStorage=function(t){t.onAdd&&t.onAdd(n),a.call(e,t)},this._firstPaint=!0}function f_(t){return function(){Yw('In IE8.0 VML mode painter not support method "'+t+'"')}}function p_(t){return document.createElementNS(lR,t)}function g_(t){return dR(1e4*t)/1e4}function m_(t){return t-yR}function v_(t,e){var i=e?t.textFill:t.fill;return null!=i&&i!==cR}function y_(t,e){var i=e?t.textStroke:t.stroke;return null!=i&&i!==cR}function x_(t,e){e&&__(t,"transform","matrix("+hR.call(e,",")+")")}function __(t,e,i){(!i||"linear"!==i.type&&"radial"!==i.type)&&t.setAttribute(e,i)}function w_(t,e,i){t.setAttributeNS("http://www.w3.org/1999/xlink",e,i)}function b_(t,e,i,n){if(v_(e,i)){var o=i?e.textFill:e.fill;o="transparent"===o?cR:o,"none"!==t.getAttribute("clip-path")&&o===cR&&(o="rgba(0, 0, 0, 0.002)"),__(t,"fill",o),__(t,"fill-opacity",null!=e.fillOpacity?e.fillOpacity*e.opacity:e.opacity)}else __(t,"fill",cR);if(y_(e,i)){var a=i?e.textStroke:e.stroke;__(t,"stroke",a="transparent"===a?cR:a),__(t,"stroke-width",(i?e.textStrokeWidth:e.lineWidth)/(!i&&e.strokeNoScale?n.getLineScale():1)),__(t,"paint-order",i?"stroke":"fill"),__(t,"stroke-opacity",null!=e.strokeOpacity?e.strokeOpacity:e.opacity),e.lineDash?(__(t,"stroke-dasharray",e.lineDash.join(",")),__(t,"stroke-dashoffset",dR(e.lineDashOffset||0))):__(t,"stroke-dasharray",""),e.lineCap&&__(t,"stroke-linecap",e.lineCap),e.lineJoin&&__(t,"stroke-linejoin",e.lineJoin),e.miterLimit&&__(t,"stroke-miterlimit",e.miterLimit)}else __(t,"stroke",cR)}function S_(t){for(var e=[],i=t.data,n=t.len(),o=0;o=mR||!m_(g)&&(d>-gR&&d<0||d>gR)==!!p;var y=g_(s+u*pR(c)),x=g_(l+h*fR(c));m&&(d=p?mR-1e-4:1e-4-mR,v=!0,9===o&&e.push("M",y,x));var _=g_(s+u*pR(c+d)),w=g_(l+h*fR(c+d));e.push("A",g_(u),g_(h),dR(f*vR),+v,+p,_,w);break;case uR.Z:a="Z";break;case uR.R:var _=g_(i[o++]),w=g_(i[o++]),b=g_(i[o++]),S=g_(i[o++]);e.push("M",_,w,"L",_+b,w,"L",_+b,w+S,"L",_,w+S,"L",_,w)}a&&e.push(a);for(var M=0;M=11),domSupported:"undefined"!=typeof document}}(navigator.userAgent),X_={"[object Function]":1,"[object RegExp]":1,"[object Date]":1,"[object Error]":1,"[object CanvasGradient]":1,"[object CanvasPattern]":1,"[object Image]":1,"[object Canvas]":1},j_={"[object Int8Array]":1,"[object Uint8Array]":1,"[object Uint8ClampedArray]":1,"[object Int16Array]":1,"[object Uint16Array]":1,"[object Int32Array]":1,"[object Uint32Array]":1,"[object Float32Array]":1,"[object Float64Array]":1},Y_=Object.prototype.toString,q_=Array.prototype,K_=q_.forEach,$_=q_.filter,J_=q_.slice,Q_=q_.map,tw=q_.reduce,ew={},iw=function(){return ew.createCanvas()};ew.createCanvas=function(){return document.createElement("canvas")};var nw,ow="__ec_primitive__";E.prototype={constructor:E,get:function(t){return this.data.hasOwnProperty(t)?this.data[t]:null},set:function(t,e){return this.data[t]=e},each:function(t,e){void 0!==e&&(t=m(t,e));for(var i in this.data)this.data.hasOwnProperty(i)&&t(this.data[i],i)},removeKey:function(t){delete this.data[t]}};var aw=(Object.freeze||Object)({$override:e,clone:i,merge:n,mergeAll:o,extend:a,defaults:r,createCanvas:iw,getContext:s,indexOf:l,inherits:u,mixin:h,isArrayLike:c,each:d,map:f,reduce:p,filter:g,find:function(t,e,i){if(t&&e)for(var n=0,o=t.length;n3&&(n=dw.call(n,1));for(var a=e.length,r=0;r4&&(n=dw.call(n,1,n.length-1));for(var a=n[n.length-1],r=e.length,s=0;s1&&n&&n.length>1){var a=ft(n)/ft(o);!isFinite(a)&&(a=1),e.pinchScale=a;var r=pt(n);return e.pinchX=r[0],e.pinchY=r[1],{type:"pinch",target:t[0].target,event:e}}}}},xw="silent";vt.prototype.dispose=function(){};var _w=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],ww=function(t,e,i,n){fw.call(this),this.storage=t,this.painter=e,this.painterRoot=n,i=i||new vt,this.proxy=null,this._hovered={},this._lastTouchMoment,this._lastX,this._lastY,this._gestureMgr,it.call(this),this.setHandlerProxy(i)};ww.prototype={constructor:ww,setHandlerProxy:function(t){this.proxy&&this.proxy.dispose(),t&&(d(_w,function(e){t.on&&t.on(e,this[e],this)},this),t.handler=this),this.proxy=t},mousemove:function(t){var e=t.zrX,i=t.zrY,n=this._hovered,o=n.target;o&&!o.__zr&&(o=(n=this.findHover(n.x,n.y)).target);var a=this._hovered=this.findHover(e,i),r=a.target,s=this.proxy;s.setCursor&&s.setCursor(r?r.cursor:"default"),o&&r!==o&&this.dispatchToElement(n,"mouseout",t),this.dispatchToElement(a,"mousemove",t),r&&r!==o&&this.dispatchToElement(a,"mouseover",t)},mouseout:function(t){this.dispatchToElement(this._hovered,"mouseout",t);var e,i=t.toElement||t.relatedTarget;do{i=i&&i.parentNode}while(i&&9!==i.nodeType&&!(e=i===this.painterRoot));!e&&this.trigger("globalout",{event:t})},resize:function(t){this._hovered={}},dispatch:function(t,e){var i=this[t];i&&i.call(this,e)},dispose:function(){this.proxy.dispose(),this.storage=this.proxy=this.painter=null},setCursorStyle:function(t){var e=this.proxy;e.setCursor&&e.setCursor(t)},dispatchToElement:function(t,e,i){var n=(t=t||{}).target;if(!n||!n.silent){for(var o="on"+e,a=gt(e,t,i);n&&(n[o]&&(a.cancelBubble=n[o].call(n,a)),n.trigger(e,a),n=n.parent,!a.cancelBubble););a.cancelBubble||(this.trigger(e,a),this.painter&&this.painter.eachOtherLayer(function(t){"function"==typeof t[o]&&t[o].call(t,a),t.trigger&&t.trigger(e,a)}))}},findHover:function(t,e,i){for(var n=this.storage.getDisplayList(),o={x:t,y:e},a=n.length-1;a>=0;a--){var r;if(n[a]!==i&&!n[a].ignore&&(r=yt(n[a],t,e))&&(!o.topTarget&&(o.topTarget=n[a]),r!==xw)){o.target=n[a];break}}return o},processGesture:function(t,e){this._gestureMgr||(this._gestureMgr=new vw);var i=this._gestureMgr;"start"===e&&i.clear();var n=i.recognize(t,this.findHover(t.zrX,t.zrY,null).target,this.proxy.dom);if("end"===e&&i.clear(),n){var o=n.type;t.gestureEvent=o,this.dispatchToElement({target:n.target},o,n.event)}}},d(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],function(t){ww.prototype[t]=function(e){var i=this.findHover(e.zrX,e.zrY),n=i.target;if("mousedown"===t)this._downEl=n,this._downPoint=[e.zrX,e.zrY],this._upEl=n;else if("mouseup"===t)this._upEl=n;else if("click"===t){if(this._downEl!==this._upEl||!this._downPoint||uw(this._downPoint,[e.zrX,e.zrY])>4)return;this._downPoint=null}this.dispatchToElement(i,t,e)}}),h(ww,fw),h(ww,it);var bw="undefined"==typeof Float32Array?Array:Float32Array,Sw=(Object.freeze||Object)({create:xt,identity:_t,copy:wt,mul:bt,translate:St,rotate:Mt,scale:It,invert:Tt,clone:At}),Mw=_t,Iw=5e-5,Tw=function(t){(t=t||{}).position||(this.position=[0,0]),null==t.rotation&&(this.rotation=0),t.scale||(this.scale=[1,1]),this.origin=this.origin||null},Aw=Tw.prototype;Aw.transform=null,Aw.needLocalTransform=function(){return Dt(this.rotation)||Dt(this.position[0])||Dt(this.position[1])||Dt(this.scale[0]-1)||Dt(this.scale[1]-1)};var Dw=[];Aw.updateTransform=function(){var t=this.parent,e=t&&t.transform,i=this.needLocalTransform(),n=this.transform;if(i||e){n=n||xt(),i?this.getLocalTransform(n):Mw(n),e&&(i?bt(n,t.transform,n):wt(n,t.transform)),this.transform=n;var o=this.globalScaleRatio;if(null!=o&&1!==o){this.getGlobalScale(Dw);var a=Dw[0]<0?-1:1,r=Dw[1]<0?-1:1,s=((Dw[0]-a)*o+a)/Dw[0]||0,l=((Dw[1]-r)*o+r)/Dw[1]||0;n[0]*=s,n[1]*=s,n[2]*=l,n[3]*=l}this.invTransform=this.invTransform||xt(),Tt(this.invTransform,n)}else n&&Mw(n)},Aw.getLocalTransform=function(t){return Tw.getLocalTransform(this,t)},Aw.setTransform=function(t){var e=this.transform,i=t.dpr||1;e?t.setTransform(i*e[0],i*e[1],i*e[2],i*e[3],i*e[4],i*e[5]):t.setTransform(i,0,0,i,0,0)},Aw.restoreTransform=function(t){var e=t.dpr||1;t.setTransform(e,0,0,e,0,0)};var Cw=[],Lw=xt();Aw.setLocalTransform=function(t){if(t){var e=t[0]*t[0]+t[1]*t[1],i=t[2]*t[2]+t[3]*t[3],n=this.position,o=this.scale;Dt(e-1)&&(e=Math.sqrt(e)),Dt(i-1)&&(i=Math.sqrt(i)),t[0]<0&&(e=-e),t[3]<0&&(i=-i),n[0]=t[4],n[1]=t[5],o[0]=e,o[1]=i,this.rotation=Math.atan2(-t[1]/i,t[0]/e)}},Aw.decomposeTransform=function(){if(this.transform){var t=this.parent,e=this.transform;t&&t.transform&&(bt(Cw,t.invTransform,e),e=Cw);var i=this.origin;i&&(i[0]||i[1])&&(Lw[4]=i[0],Lw[5]=i[1],bt(Cw,e,Lw),Cw[4]-=i[0],Cw[5]-=i[1],e=Cw),this.setLocalTransform(e)}},Aw.getGlobalScale=function(t){var e=this.transform;return t=t||[],e?(t[0]=Math.sqrt(e[0]*e[0]+e[1]*e[1]),t[1]=Math.sqrt(e[2]*e[2]+e[3]*e[3]),e[0]<0&&(t[0]=-t[0]),e[3]<0&&(t[1]=-t[1]),t):(t[0]=1,t[1]=1,t)},Aw.transformCoordToLocal=function(t,e){var i=[t,e],n=this.invTransform;return n&&Q(i,i,n),i},Aw.transformCoordToGlobal=function(t,e){var i=[t,e],n=this.transform;return n&&Q(i,i,n),i},Tw.getLocalTransform=function(t,e){Mw(e=e||[]);var i=t.origin,n=t.scale||[1,1],o=t.rotation||0,a=t.position||[0,0];return i&&(e[4]-=i[0],e[5]-=i[1]),It(e,e,n),o&&Mt(e,e,o),i&&(e[4]+=i[0],e[5]+=i[1]),e[4]+=a[0],e[5]+=a[1],e};var kw={linear:function(t){return t},quadraticIn:function(t){return t*t},quadraticOut:function(t){return t*(2-t)},quadraticInOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)},cubicIn:function(t){return t*t*t},cubicOut:function(t){return--t*t*t+1},cubicInOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},quarticIn:function(t){return t*t*t*t},quarticOut:function(t){return 1- --t*t*t*t},quarticInOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},quinticIn:function(t){return t*t*t*t*t},quinticOut:function(t){return--t*t*t*t*t+1},quinticInOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},sinusoidalIn:function(t){return 1-Math.cos(t*Math.PI/2)},sinusoidalOut:function(t){return Math.sin(t*Math.PI/2)},sinusoidalInOut:function(t){return.5*(1-Math.cos(Math.PI*t))},exponentialIn:function(t){return 0===t?0:Math.pow(1024,t-1)},exponentialOut:function(t){return 1===t?1:1-Math.pow(2,-10*t)},exponentialInOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))},circularIn:function(t){return 1-Math.sqrt(1-t*t)},circularOut:function(t){return Math.sqrt(1- --t*t)},circularInOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},elasticIn:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},elasticOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},elasticInOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)},backIn:function(t){var e=1.70158;return t*t*((e+1)*t-e)},backOut:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},backInOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)},bounceIn:function(t){return 1-kw.bounceOut(1-t)},bounceOut:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},bounceInOut:function(t){return t<.5?.5*kw.bounceIn(2*t):.5*kw.bounceOut(2*t-1)+.5}};Ct.prototype={constructor:Ct,step:function(t,e){if(this._initialized||(this._startTime=t+this._delay,this._initialized=!0),this._paused)this._pausedTime+=e;else{var i=(t-this._startTime-this._pausedTime)/this._life;if(!(i<0)){i=Math.min(i,1);var n=this.easing,o="string"==typeof n?kw[n]:n,a="function"==typeof o?o(i):i;return this.fire("frame",a),1===i?this.loop?(this.restart(t),"restart"):(this._needsRemove=!0,"destroy"):null}}},restart:function(t){var e=(t-this._startTime-this._pausedTime)%this._life;this._startTime=t-e+this.gap,this._pausedTime=0,this._needsRemove=!1},fire:function(t,e){this[t="on"+t]&&this[t](this._target,e)},pause:function(){this._paused=!0},resume:function(){this._paused=!1}};var Pw=function(){this.head=null,this.tail=null,this._len=0},Nw=Pw.prototype;Nw.insert=function(t){var e=new Ow(t);return this.insertEntry(e),e},Nw.insertEntry=function(t){this.head?(this.tail.next=t,t.prev=this.tail,t.next=null,this.tail=t):this.head=this.tail=t,this._len++},Nw.remove=function(t){var e=t.prev,i=t.next;e?e.next=i:this.head=i,i?i.prev=e:this.tail=e,t.next=t.prev=null,this._len--},Nw.len=function(){return this._len},Nw.clear=function(){this.head=this.tail=null,this._len=0};var Ow=function(t){this.value=t,this.next,this.prev},Ew=function(t){this._list=new Pw,this._map={},this._maxSize=t||10,this._lastRemovedEntry=null},Rw=Ew.prototype;Rw.put=function(t,e){var i=this._list,n=this._map,o=null;if(null==n[t]){var a=i.len(),r=this._lastRemovedEntry;if(a>=this._maxSize&&a>0){var s=i.head;i.remove(s),delete n[s.key],o=s.value,this._lastRemovedEntry=s}r?r.value=e:r=new Ow(e),r.key=t,i.insertEntry(r),n[t]=r}return o},Rw.get=function(t){var e=this._map[t],i=this._list;if(null!=e)return e!==i.tail&&(i.remove(e),i.insertEntry(e)),e.value},Rw.clear=function(){this._list.clear(),this._map={}};var zw={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]},Bw=new Ew(20),Vw=null,Gw=Ut,Fw=Xt,Ww=(Object.freeze||Object)({parse:Gt,lift:Ht,toHex:Zt,fastLerp:Ut,fastMapToColor:Gw,lerp:Xt,mapToColor:Fw,modifyHSL:jt,modifyAlpha:Yt,stringify:qt}),Hw=Array.prototype.slice,Zw=function(t,e,i,n){this._tracks={},this._target=t,this._loop=e||!1,this._getter=i||Kt,this._setter=n||$t,this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[]};Zw.prototype={when:function(t,e){var i=this._tracks;for(var n in e)if(e.hasOwnProperty(n)){if(!i[n]){i[n]=[];var o=this._getter(this._target,n);if(null==o)continue;0!==t&&i[n].push({time:0,value:ae(o)})}i[n].push({time:t,value:e[n]})}return this},during:function(t){return this._onframeList.push(t),this},pause:function(){for(var t=0;t=i.x&&t<=i.x+i.width&&e>=i.y&&e<=i.y+i.height},clone:function(){return new de(this.x,this.y,this.width,this.height)},copy:function(t){this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height},plain:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}}},de.create=function(t){return new de(t.x,t.y,t.width,t.height)};var tb=function(t){t=t||{},Kw.call(this,t);for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);this._children=[],this.__storage=null,this.__dirty=!0};tb.prototype={constructor:tb,isGroup:!0,type:"group",silent:!1,children:function(){return this._children.slice()},childAt:function(t){return this._children[t]},childOfName:function(t){for(var e=this._children,i=0;i=0&&(i.splice(n,0,t),this._doAdd(t))}return this},_doAdd:function(t){t.parent&&t.parent.remove(t),t.parent=this;var e=this.__storage,i=this.__zr;e&&e!==t.__storage&&(e.addToStorage(t),t instanceof tb&&t.addChildrenToStorage(e)),i&&i.refresh()},remove:function(t){var e=this.__zr,i=this.__storage,n=this._children,o=l(n,t);return o<0?this:(n.splice(o,1),t.parent=null,i&&(i.delFromStorage(t),t instanceof tb&&t.delChildrenFromStorage(i)),e&&e.refresh(),this)},removeAll:function(){var t,e,i=this._children,n=this.__storage;for(e=0;e=0&&(this.delFromStorage(t),this._roots.splice(o,1),t instanceof tb&&t.delChildrenFromStorage(this))}},addToStorage:function(t){return t&&(t.__storage=this,t.dirty(!1)),this},delFromStorage:function(t){return t&&(t.__storage=null),this},dispose:function(){this._renderList=this._roots=null},displayableSortFunc:we};var ob={shadowBlur:1,shadowOffsetX:1,shadowOffsetY:1,textShadowBlur:1,textShadowOffsetX:1,textShadowOffsetY:1,textBoxShadowBlur:1,textBoxShadowOffsetX:1,textBoxShadowOffsetY:1},ab=function(t,e,i){return ob.hasOwnProperty(e)?i*=t.dpr:i},rb={NONE:0,STYLE_BIND:1,PLAIN_TEXT:2},sb=9,lb=[["shadowBlur",0],["shadowOffsetX",0],["shadowOffsetY",0],["shadowColor","#000"],["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]],ub=function(t){this.extendFrom(t,!1)};ub.prototype={constructor:ub,fill:"#000",stroke:null,opacity:1,fillOpacity:null,strokeOpacity:null,lineDash:null,lineDashOffset:0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,lineWidth:1,strokeNoScale:!1,text:null,font:null,textFont:null,fontStyle:null,fontWeight:null,fontSize:null,fontFamily:null,textTag:null,textFill:"#000",textStroke:null,textWidth:null,textHeight:null,textStrokeWidth:0,textLineHeight:null,textPosition:"inside",textRect:null,textOffset:null,textAlign:null,textVerticalAlign:null,textDistance:5,textShadowColor:"transparent",textShadowBlur:0,textShadowOffsetX:0,textShadowOffsetY:0,textBoxShadowColor:"transparent",textBoxShadowBlur:0,textBoxShadowOffsetX:0,textBoxShadowOffsetY:0,transformText:!1,textRotation:0,textOrigin:null,textBackgroundColor:null,textBorderColor:null,textBorderWidth:0,textBorderRadius:0,textPadding:null,rich:null,truncate:null,blend:null,bind:function(t,e,i){var n=this,o=i&&i.style,a=!o||t.__attrCachedBy!==rb.STYLE_BIND;t.__attrCachedBy=rb.STYLE_BIND;for(var r=0;r0},extendFrom:function(t,e){if(t)for(var i in t)!t.hasOwnProperty(i)||!0!==e&&(!1===e?this.hasOwnProperty(i):null==t[i])||(this[i]=t[i])},set:function(t,e){"string"==typeof t?this[t]=e:this.extendFrom(t,!0)},clone:function(){var t=new this.constructor;return t.extendFrom(this,!0),t},getGradient:function(t,e,i){for(var n=("radial"===e.type?Se:be)(t,e,i),o=e.colorStops,a=0;a=0&&i.splice(n,1),t.__hoverMir=null},clearHover:function(t){for(var e=this._hoverElements,i=0;i15)break}s.__drawIndex=m,s.__drawIndex0&&t>n[0]){for(r=0;rt);r++);a=i[n[r]]}if(n.splice(r+1,0,t),i[t]=e,!e.virtual)if(a){var l=a.dom;l.nextSibling?s.insertBefore(e.dom,l.nextSibling):s.appendChild(e.dom)}else s.firstChild?s.insertBefore(e.dom,s.firstChild):s.appendChild(e.dom)}else Yw("Layer of zlevel "+t+" is not valid")},eachLayer:function(t,e){var i,n,o=this._zlevelList;for(n=0;n0?.01:0),this._needsManuallyCompositing),a.__builtin__||Yw("ZLevel "+s+" has been used by unkown layer "+a.id),a!==i&&(a.__used=!0,a.__startIndex!==o&&(a.__dirty=!0),a.__startIndex=o,a.incremental?a.__drawIndex=-1:a.__drawIndex=o,e(o),i=a),r.__dirty&&(a.__dirty=!0,a.incremental&&a.__drawIndex<0&&(a.__drawIndex=o))}e(o),this.eachBuiltinLayer(function(t,e){!t.__used&&t.getElementCount()>0&&(t.__dirty=!0,t.__startIndex=t.__endIndex=t.__drawIndex=0),t.__dirty&&t.__drawIndex<0&&(t.__drawIndex=t.__startIndex)})},clear:function(){return this.eachBuiltinLayer(this._clearLayer),this},_clearLayer:function(t){t.clear()},setBackgroundColor:function(t){this._backgroundColor=t},configLayer:function(t,e){if(e){var i=this._layerConfig;i[t]?n(i[t],e,!0):i[t]=e;for(var o=0;o=0&&this._clips.splice(e,1)},removeAnimator:function(t){for(var e=t.getClips(),i=0;i=0||n&&l(n,r)<0)){var s=e.getShallow(r);null!=s&&(o[t[a][0]]=s)}}return o}},tS=Qb([["lineWidth","width"],["stroke","color"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),eS={getLineStyle:function(t){var e=tS(this,t),i=this.getLineDash(e.lineWidth);return i&&(e.lineDash=i),e},getLineDash:function(t){null==t&&(t=1);var e=this.get("type"),i=Math.max(t,2),n=4*t;return"solid"===e||null==e?null:"dashed"===e?[n,n]:[i,i]}},iS=Qb([["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]]),nS={getAreaStyle:function(t,e){return iS(this,t,e)}},oS=Math.pow,aS=Math.sqrt,rS=1e-8,sS=1e-4,lS=aS(3),uS=1/3,hS=V(),cS=V(),dS=V(),fS=Math.min,pS=Math.max,gS=Math.sin,mS=Math.cos,vS=2*Math.PI,yS=V(),xS=V(),_S=V(),wS=[],bS=[],SS={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},MS=[],IS=[],TS=[],AS=[],DS=Math.min,CS=Math.max,LS=Math.cos,kS=Math.sin,PS=Math.sqrt,NS=Math.abs,OS="undefined"!=typeof Float32Array,ES=function(t){this._saveData=!t,this._saveData&&(this.data=[]),this._ctx=null};ES.prototype={constructor:ES,_xi:0,_yi:0,_x0:0,_y0:0,_ux:0,_uy:0,_len:0,_lineDash:null,_dashOffset:0,_dashIdx:0,_dashSum:0,setScale:function(t,e){this._ux=NS(1/Xw/t)||0,this._uy=NS(1/Xw/e)||0},getContext:function(){return this._ctx},beginPath:function(t){return this._ctx=t,t&&t.beginPath(),t&&(this.dpr=t.dpr),this._saveData&&(this._len=0),this._lineDash&&(this._lineDash=null,this._dashOffset=0),this},moveTo:function(t,e){return this.addData(SS.M,t,e),this._ctx&&this._ctx.moveTo(t,e),this._x0=t,this._y0=e,this._xi=t,this._yi=e,this},lineTo:function(t,e){var i=NS(t-this._xi)>this._ux||NS(e-this._yi)>this._uy||this._len<5;return this.addData(SS.L,t,e),this._ctx&&i&&(this._needsDash()?this._dashedLineTo(t,e):this._ctx.lineTo(t,e)),i&&(this._xi=t,this._yi=e),this},bezierCurveTo:function(t,e,i,n,o,a){return this.addData(SS.C,t,e,i,n,o,a),this._ctx&&(this._needsDash()?this._dashedBezierTo(t,e,i,n,o,a):this._ctx.bezierCurveTo(t,e,i,n,o,a)),this._xi=o,this._yi=a,this},quadraticCurveTo:function(t,e,i,n){return this.addData(SS.Q,t,e,i,n),this._ctx&&(this._needsDash()?this._dashedQuadraticTo(t,e,i,n):this._ctx.quadraticCurveTo(t,e,i,n)),this._xi=i,this._yi=n,this},arc:function(t,e,i,n,o,a){return this.addData(SS.A,t,e,i,i,n,o-n,0,a?0:1),this._ctx&&this._ctx.arc(t,e,i,n,o,a),this._xi=LS(o)*i+t,this._yi=kS(o)*i+e,this},arcTo:function(t,e,i,n,o){return this._ctx&&this._ctx.arcTo(t,e,i,n,o),this},rect:function(t,e,i,n){return this._ctx&&this._ctx.rect(t,e,i,n),this.addData(SS.R,t,e,i,n),this},closePath:function(){this.addData(SS.Z);var t=this._ctx,e=this._x0,i=this._y0;return t&&(this._needsDash()&&this._dashedLineTo(e,i),t.closePath()),this._xi=e,this._yi=i,this},fill:function(t){t&&t.fill(),this.toStatic()},stroke:function(t){t&&t.stroke(),this.toStatic()},setLineDash:function(t){if(t instanceof Array){this._lineDash=t,this._dashIdx=0;for(var e=0,i=0;ie.length&&(this._expandData(),e=this.data);for(var i=0;i0&&f<=t||h<0&&f>=t||0===h&&(c>0&&p<=e||c<0&&p>=e);)f+=h*(i=r[n=this._dashIdx]),p+=c*i,this._dashIdx=(n+1)%g,h>0&&fl||c>0&&pu||s[n%2?"moveTo":"lineTo"](h>=0?DS(f,t):CS(f,t),c>=0?DS(p,e):CS(p,e));h=f-t,c=p-e,this._dashOffset=-PS(h*h+c*c)},_dashedBezierTo:function(t,e,i,n,o,a){var r,s,l,u,h,c=this._dashSum,d=this._dashOffset,f=this._lineDash,p=this._ctx,g=this._xi,m=this._yi,v=Qi,y=0,x=this._dashIdx,_=f.length,w=0;for(d<0&&(d=c+d),d%=c,r=0;r<1;r+=.1)s=v(g,t,i,o,r+.1)-v(g,t,i,o,r),l=v(m,e,n,a,r+.1)-v(m,e,n,a,r),y+=PS(s*s+l*l);for(;x<_&&!((w+=f[x])>d);x++);for(r=(w-d)/y;r<=1;)u=v(g,t,i,o,r),h=v(m,e,n,a,r),x%2?p.moveTo(u,h):p.lineTo(u,h),r+=f[x]/y,x=(x+1)%_;x%2!=0&&p.lineTo(o,a),s=o-u,l=a-h,this._dashOffset=-PS(s*s+l*l)},_dashedQuadraticTo:function(t,e,i,n){var o=i,a=n;i=(i+2*t)/3,n=(n+2*e)/3,t=(this._xi+2*t)/3,e=(this._yi+2*e)/3,this._dashedBezierTo(t,e,i,n,o,a)},toStatic:function(){var t=this.data;t instanceof Array&&(t.length=this._len,OS&&(this.data=new Float32Array(t)))},getBoundingRect:function(){MS[0]=MS[1]=TS[0]=TS[1]=Number.MAX_VALUE,IS[0]=IS[1]=AS[0]=AS[1]=-Number.MAX_VALUE;for(var t=this.data,e=0,i=0,n=0,o=0,a=0;al||NS(r-o)>u||c===h-1)&&(t.lineTo(a,r),n=a,o=r);break;case SS.C:t.bezierCurveTo(s[c++],s[c++],s[c++],s[c++],s[c++],s[c++]),n=s[c-2],o=s[c-1];break;case SS.Q:t.quadraticCurveTo(s[c++],s[c++],s[c++],s[c++]),n=s[c-2],o=s[c-1];break;case SS.A:var f=s[c++],p=s[c++],g=s[c++],m=s[c++],v=s[c++],y=s[c++],x=s[c++],_=s[c++],w=g>m?g:m,b=g>m?1:g/m,S=g>m?m/g:1,M=v+y;Math.abs(g-m)>.001?(t.translate(f,p),t.rotate(x),t.scale(b,S),t.arc(0,0,w,v,M,1-_),t.scale(1/b,1/S),t.rotate(-x),t.translate(-f,-p)):t.arc(f,p,w,v,M,1-_),1===c&&(e=LS(v)*g+f,i=kS(v)*m+p),n=LS(M)*g+f,o=kS(M)*m+p;break;case SS.R:e=n=s[c],i=o=s[c+1],t.rect(s[c++],s[c++],s[c++],s[c++]);break;case SS.Z:t.closePath(),n=e,o=i}}}},ES.CMD=SS;var RS=2*Math.PI,zS=2*Math.PI,BS=ES.CMD,VS=2*Math.PI,GS=1e-4,FS=[-1,-1,-1],WS=[-1,-1],HS=fb.prototype.getCanvasPattern,ZS=Math.abs,US=new ES(!0);kn.prototype={constructor:kn,type:"path",__dirtyPath:!0,strokeContainThreshold:5,subPixelOptimize:!1,brush:function(t,e){var i=this.style,n=this.path||US,o=i.hasStroke(),a=i.hasFill(),r=i.fill,s=i.stroke,l=a&&!!r.colorStops,u=o&&!!s.colorStops,h=a&&!!r.image,c=o&&!!s.image;if(i.bind(t,this,e),this.setTransform(t),this.__dirty){var d;l&&(d=d||this.getBoundingRect(),this._fillGradient=i.getGradient(t,r,d)),u&&(d=d||this.getBoundingRect(),this._strokeGradient=i.getGradient(t,s,d))}l?t.fillStyle=this._fillGradient:h&&(t.fillStyle=HS.call(r,t)),u?t.strokeStyle=this._strokeGradient:c&&(t.strokeStyle=HS.call(s,t));var f=i.lineDash,p=i.lineDashOffset,g=!!t.setLineDash,m=this.getGlobalScale();if(n.setScale(m[0],m[1]),this.__dirtyPath||f&&!g&&o?(n.beginPath(t),f&&!g&&(n.setLineDash(f),n.setLineDashOffset(p)),this.buildPath(n,this.shape,!1),this.path&&(this.__dirtyPath=!1)):(t.beginPath(),this.path.rebuildPath(t)),a)if(null!=i.fillOpacity){v=t.globalAlpha;t.globalAlpha=i.fillOpacity*i.opacity,n.fill(t),t.globalAlpha=v}else n.fill(t);if(f&&g&&(t.setLineDash(f),t.lineDashOffset=p),o)if(null!=i.strokeOpacity){var v=t.globalAlpha;t.globalAlpha=i.strokeOpacity*i.opacity,n.stroke(t),t.globalAlpha=v}else n.stroke(t);f&&g&&t.setLineDash([]),null!=i.text&&(this.restoreTransform(t),this.drawRectText(t,this.getBoundingRect()))},buildPath:function(t,e,i){},createPathProxy:function(){this.path=new ES},getBoundingRect:function(){var t=this._rect,e=this.style,i=!t;if(i){var n=this.path;n||(n=this.path=new ES),this.__dirtyPath&&(n.beginPath(),this.buildPath(n,this.shape,!1)),t=n.getBoundingRect()}if(this._rect=t,e.hasStroke()){var o=this._rectWithStroke||(this._rectWithStroke=t.clone());if(this.__dirty||i){o.copy(t);var a=e.lineWidth,r=e.strokeNoScale?this.getLineScale():1;e.hasFill()||(a=Math.max(a,this.strokeContainThreshold||4)),r>1e-10&&(o.width+=a/r,o.height+=a/r,o.x-=a/r/2,o.y-=a/r/2)}return o}return t},contain:function(t,e){var i=this.transformCoordToLocal(t,e),n=this.getBoundingRect(),o=this.style;if(t=i[0],e=i[1],n.contain(t,e)){var a=this.path.data;if(o.hasStroke()){var r=o.lineWidth,s=o.strokeNoScale?this.getLineScale():1;if(s>1e-10&&(o.hasFill()||(r=Math.max(r,this.strokeContainThreshold)),Ln(a,r/s,t,e)))return!0}if(o.hasFill())return Cn(a,t,e)}return!1},dirty:function(t){null==t&&(t=!0),t&&(this.__dirtyPath=t,this._rect=null),this.__dirty=this.__dirtyText=!0,this.__zr&&this.__zr.refresh(),this.__clipTarget&&this.__clipTarget.dirty()},animateShape:function(t){return this.animate("shape",t)},attrKV:function(t,e){"shape"===t?(this.setShape(e),this.__dirtyPath=!0,this._rect=null):di.prototype.attrKV.call(this,t,e)},setShape:function(t,e){var i=this.shape;if(i){if(w(t))for(var n in t)t.hasOwnProperty(n)&&(i[n]=t[n]);else i[t]=e;this.dirty(!0)}return this},getLineScale:function(){var t=this.transform;return t&&ZS(t[0]-1)>1e-10&&ZS(t[3]-1)>1e-10?Math.sqrt(ZS(t[0]*t[3]-t[2]*t[1])):1}},kn.extend=function(t){var e=function(e){kn.call(this,e),t.style&&this.style.extendFrom(t.style,!1);var i=t.shape;if(i){this.shape=this.shape||{};var n=this.shape;for(var o in i)!n.hasOwnProperty(o)&&i.hasOwnProperty(o)&&(n[o]=i[o])}t.init&&t.init.call(this,e)};u(e,kn);for(var i in t)"style"!==i&&"shape"!==i&&(e.prototype[i]=t[i]);return e},u(kn,di);var XS=ES.CMD,jS=[[],[],[]],YS=Math.sqrt,qS=Math.atan2,KS=function(t,e){var i,n,o,a,r,s,l=t.data,u=XS.M,h=XS.C,c=XS.L,d=XS.R,f=XS.A,p=XS.Q;for(o=0,a=0;o=11?function(){var e,i=this.__clipPaths,n=this.style;if(i)for(var o=0;oi-2?i-1:c+1],u=t[c>i-3?i-1:c+2]);var p=d*d,g=d*p;n.push([zn(s[0],f[0],l[0],u[0],d,p,g),zn(s[1],f[1],l[1],u[1],d,p,g)])}return n},fM=function(t,e,i,n){var o,a,r,s,l=[],u=[],h=[],c=[];if(n){r=[1/0,1/0],s=[-1/0,-1/0];for(var d=0,f=t.length;d=i&&a>=o)return{x:i,y:o,width:n-i,height:a-o}},createIcon:ko,Group:tb,Image:fi,Text:rM,Circle:sM,Sector:hM,Ring:cM,Polygon:pM,Polyline:gM,Rect:yM,Line:_M,BezierCurve:bM,Arc:SM,IncrementalDisplayable:Hn,CompoundPath:MM,LinearGradient:TM,RadialGradient:AM,BoundingRect:de}),BM=["textStyle","color"],VM={getTextColor:function(t){var e=this.ecModel;return this.getShallow("color")||(!t&&e?e.get(BM):null)},getFont:function(){return bo({fontStyle:this.getShallow("fontStyle"),fontWeight:this.getShallow("fontWeight"),fontSize:this.getShallow("fontSize"),fontFamily:this.getShallow("fontFamily")},this.ecModel)},getTextRect:function(t){return ke(t,this.getFont(),this.getShallow("align"),this.getShallow("verticalAlign")||this.getShallow("baseline"),this.getShallow("padding"),this.getShallow("rich"),this.getShallow("truncateText"))}},GM=Qb([["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"],["textPosition"],["textAlign"]]),FM={getItemStyle:function(t,e){var i=GM(this,t,e),n=this.getBorderLineDash();return n&&(i.lineDash=n),i},getBorderLineDash:function(){var t=this.get("borderType");return"solid"===t||null==t?null:"dashed"===t?[5,5]:[1,1]}},WM=h,HM=Bi();Po.prototype={constructor:Po,init:null,mergeOption:function(t){n(this.option,t,!0)},get:function(t,e){return null==t?this.option:No(this.option,this.parsePath(t),!e&&Oo(this,t))},getShallow:function(t,e){var i=this.option,n=null==i?i:i[t],o=!e&&Oo(this,t);return null==n&&o&&(n=o.getShallow(t)),n},getModel:function(t,e){var i,n=null==t?this.option:No(this.option,t=this.parsePath(t));return e=e||(i=Oo(this,t))&&i.getModel(t),new Po(n,e,this.ecModel)},isEmpty:function(){return null==this.option},restoreData:function(){},clone:function(){return new(0,this.constructor)(i(this.option))},setReadOnly:function(t){},parsePath:function(t){return"string"==typeof t&&(t=t.split(".")),t},customizeGetParent:function(t){HM(this).getParent=t},isAnimationEnabled:function(){if(!U_.node){if(null!=this.option.animation)return!!this.option.animation;if(this.parentModel)return this.parentModel.isAnimationEnabled()}}},Xi(Po),ji(Po),WM(Po,eS),WM(Po,nS),WM(Po,VM),WM(Po,FM);var ZM=0,UM=1e-4,XM=9007199254740991,jM=/^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d\d)(?::(\d\d)(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/,YM=(Object.freeze||Object)({linearMap:zo,parsePercent:Bo,round:Vo,asc:Go,getPrecision:Fo,getPrecisionSafe:Wo,getPixelPrecision:Ho,getPercentWithPrecision:Zo,MAX_SAFE_INTEGER:XM,remRadian:Uo,isRadianAroundZero:Xo,parseDate:jo,quantity:Yo,nice:Ko,quantile:function(t,e){var i=(t.length-1)*e+1,n=Math.floor(i),o=+t[n-1],a=i-n;return a?o+a*(t[n]-o):o},reformIntervals:$o,isNumeric:Jo}),qM=L,KM=/([&<>"'])/g,$M={"&":"&","<":"<",">":">",'"':""","'":"'"},JM=["a","b","c","d","e","f","g"],QM=function(t,e){return"{"+t+(null==e?"":e)+"}"},tI=ze,eI=ke,iI=(Object.freeze||Object)({addCommas:Qo,toCamelCase:ta,normalizeCssArray:qM,encodeHTML:ea,formatTpl:ia,formatTplSimple:na,getTooltipMarker:oa,formatTime:ra,capitalFirst:sa,truncateText:tI,getTextRect:eI}),nI=d,oI=["left","right","top","bottom","width","height"],aI=[["width","left","right"],["height","top","bottom"]],rI=la,sI=(v(la,"vertical"),v(la,"horizontal"),{getBoxLayoutParams:function(){return{left:this.get("left"),top:this.get("top"),right:this.get("right"),bottom:this.get("bottom"),width:this.get("width"),height:this.get("height")}}}),lI=Bi(),uI=Po.extend({type:"component",id:"",name:"",mainType:"",subType:"",componentIndex:0,defaultOption:null,ecModel:null,dependentModels:[],uid:null,layoutMode:null,$constructor:function(t,e,i,n){Po.call(this,t,e,i,n),this.uid=Eo("ec_cpt_model")},init:function(t,e,i,n){this.mergeDefaultAndTheme(t,i)},mergeDefaultAndTheme:function(t,e){var i=this.layoutMode,o=i?pa(t):{};n(t,e.getTheme().get(this.mainType)),n(t,this.getDefaultOption()),i&&fa(t,o,i)},mergeOption:function(t,e){n(this.option,t,!0);var i=this.layoutMode;i&&fa(this.option,t,i)},optionUpdated:function(t,e){},getDefaultOption:function(){var t=lI(this);if(!t.defaultOption){for(var e=[],i=this.constructor;i;){var o=i.prototype.defaultOption;o&&e.push(o),i=i.superClass}for(var a={},r=e.length-1;r>=0;r--)a=n(a,e[r],!0);t.defaultOption=a}return t.defaultOption},getReferringComponents:function(t){return this.ecModel.queryComponents({mainType:t,index:this.get(t+"Index",!0),id:this.get(t+"Id",!0)})}});Ki(uI,{registerWhenExtend:!0}),function(t){var e={};t.registerSubTypeDefaulter=function(t,i){t=Zi(t),e[t.main]=i},t.determineSubType=function(i,n){var o=n.type;if(!o){var a=Zi(i).main;t.hasSubTypes(i)&&e[a]&&(o=e[a](n))}return o}}(uI),function(t,e){function i(t){var i={},a=[];return d(t,function(r){var s=n(i,r),u=o(s.originalDeps=e(r),t);s.entryCount=u.length,0===s.entryCount&&a.push(r),d(u,function(t){l(s.predecessor,t)<0&&s.predecessor.push(t);var e=n(i,t);l(e.successor,t)<0&&e.successor.push(r)})}),{graph:i,noEntryList:a}}function n(t,e){return t[e]||(t[e]={predecessor:[],successor:[]}),t[e]}function o(t,e){var i=[];return d(t,function(t){l(e,t)>=0&&i.push(t)}),i}t.topologicalTravel=function(t,e,n,o){function a(t){s[t].entryCount--,0===s[t].entryCount&&l.push(t)}if(t.length){var r=i(e),s=r.graph,l=r.noEntryList,u={};for(d(t,function(t){u[t]=!0});l.length;){var h=l.pop(),c=s[h],f=!!u[h];f&&(n.call(o,h,c.originalDeps.slice()),delete u[h]),d(c.successor,f?function(t){u[t]=!0,a(t)}:a)}d(u,function(){throw new Error("Circle dependency may exists")})}}}(uI,function(t){var e=[];return d(uI.getClassesByMainType(t),function(t){e=e.concat(t.prototype.dependencies||[])}),e=f(e,function(t){return Zi(t).main}),"dataset"!==t&&l(e,"dataset")<=0&&e.unshift("dataset"),e}),h(uI,sI);var hI="";"undefined"!=typeof navigator&&(hI=navigator.platform||"");var cI={color:["#c23531","#2f4554","#61a0a8","#d48265","#91c7ae","#749f83","#ca8622","#bda29a","#6e7074","#546570","#c4ccd3"],gradientColor:["#f6efa6","#d88273","#bf444c"],textStyle:{fontFamily:hI.match(/^Win/)?"Microsoft YaHei":"sans-serif",fontSize:12,fontStyle:"normal",fontWeight:"normal"},blendMode:null,animation:"auto",animationDuration:1e3,animationDurationUpdate:300,animationEasing:"exponentialOut",animationEasingUpdate:"cubicOut",animationThreshold:2e3,progressiveThreshold:3e3,progressive:400,hoverLayerThreshold:3e3,useUTC:!1},dI=Bi(),fI={clearColorPalette:function(){dI(this).colorIdx=0,dI(this).colorNameMap={}},getColorFromPalette:function(t,e,i){var n=dI(e=e||this),o=n.colorIdx||0,a=n.colorNameMap=n.colorNameMap||{};if(a.hasOwnProperty(t))return a[t];var r=Di(this.get("color",!0)),s=this.get("colorLayer",!0),l=null!=i&&s?ma(s,i):r;if((l=l||r)&&l.length){var u=l[o];return t&&(a[t]=u),n.colorIdx=(o+1)%l.length,u}}},pI={cartesian2d:function(t,e,i,n){var o=t.getReferringComponents("xAxis")[0],a=t.getReferringComponents("yAxis")[0];e.coordSysDims=["x","y"],i.set("x",o),i.set("y",a),ya(o)&&(n.set("x",o),e.firstCategoryDimIndex=0),ya(a)&&(n.set("y",a),e.firstCategoryDimIndex=1)},singleAxis:function(t,e,i,n){var o=t.getReferringComponents("singleAxis")[0];e.coordSysDims=["single"],i.set("single",o),ya(o)&&(n.set("single",o),e.firstCategoryDimIndex=0)},polar:function(t,e,i,n){var o=t.getReferringComponents("polar")[0],a=o.findAxisModel("radiusAxis"),r=o.findAxisModel("angleAxis");e.coordSysDims=["radius","angle"],i.set("radius",a),i.set("angle",r),ya(a)&&(n.set("radius",a),e.firstCategoryDimIndex=0),ya(r)&&(n.set("angle",r),e.firstCategoryDimIndex=1)},geo:function(t,e,i,n){e.coordSysDims=["lng","lat"]},parallel:function(t,e,i,n){var o=t.ecModel,a=o.getComponent("parallel",t.get("parallelIndex")),r=e.coordSysDims=a.dimensions.slice();d(a.parallelAxisIndex,function(t,a){var s=o.getComponent("parallelAxis",t),l=r[a];i.set(l,s),ya(s)&&null==e.firstCategoryDimIndex&&(n.set(l,s),e.firstCategoryDimIndex=a)})}},gI="original",mI="arrayRows",vI="objectRows",yI="keyedColumns",xI="unknown",_I="typedArray",wI="column",bI="row";xa.seriesDataToSource=function(t){return new xa({data:t,sourceFormat:S(t)?_I:gI,fromDataset:!1})},ji(xa);var SI=Bi(),MI="\0_ec_inner",II=Po.extend({init:function(t,e,i,n){i=i||{},this.option=null,this._theme=new Po(i),this._optionManager=n},setOption:function(t,e){k(!(MI in t),"please use chart.getOption()"),this._optionManager.setOption(t,e),this.resetOption(null)},resetOption:function(t){var e=!1,i=this._optionManager;if(!t||"recreate"===t){var n=i.mountOption("recreate"===t);this.option&&"recreate"!==t?(this.restoreData(),this.mergeOption(n)):Oa.call(this,n),e=!0}if("timeline"!==t&&"media"!==t||this.restoreData(),!t||"recreate"===t||"timeline"===t){var o=i.getTimelineOption(this);o&&(this.mergeOption(o),e=!0)}if(!t||"recreate"===t||"media"===t){var a=i.getMediaOption(this,this._api);a.length&&d(a,function(t){this.mergeOption(t,e=!0)},this)}return e},mergeOption:function(t){var e=this.option,o=this._componentsMap,r=[];ba(this),d(t,function(t,o){null!=t&&(uI.hasClass(o)?o&&r.push(o):e[o]=null==e[o]?i(t):n(e[o],t,!0))}),uI.topologicalTravel(r,uI.getAllClassMainTypes(),function(i,n){var r=Di(t[i]),s=Pi(o.get(i),r);Ni(s),d(s,function(t,e){var n=t.option;w(n)&&(t.keyInfo.mainType=i,t.keyInfo.subType=Ra(i,n,t.exist))});var l=Ea(o,n);e[i]=[],o.set(i,[]),d(s,function(t,n){var r=t.exist,s=t.option;if(k(w(s)||r,"Empty component definition"),s){var u=uI.getClass(i,t.keyInfo.subType,!0);if(r&&r instanceof u)r.name=t.keyInfo.name,r.mergeOption(s,this),r.optionUpdated(s,!1);else{var h=a({dependentModels:l,componentIndex:n},t.keyInfo);a(r=new u(s,this,this,h),h),r.init(s,this,this,h),r.optionUpdated(null,!0)}}else r.mergeOption({},this),r.optionUpdated({},!1);o.get(i)[n]=r,e[i][n]=r.option},this),"series"===i&&za(this,o.get("series"))},this),this._seriesIndicesMap=R(this._seriesIndices=this._seriesIndices||[])},getOption:function(){var t=i(this.option);return d(t,function(e,i){if(uI.hasClass(i)){for(var n=(e=Di(e)).length-1;n>=0;n--)Ei(e[n])&&e.splice(n,1);t[i]=e}}),delete t[MI],t},getTheme:function(){return this._theme},getComponent:function(t,e){var i=this._componentsMap.get(t);if(i)return i[e||0]},queryComponents:function(t){var e=t.mainType;if(!e)return[];var i=t.index,n=t.id,o=t.name,a=this._componentsMap.get(e);if(!a||!a.length)return[];var r;if(null!=i)y(i)||(i=[i]),r=g(f(i,function(t){return a[t]}),function(t){return!!t});else if(null!=n){var s=y(n);r=g(a,function(t){return s&&l(n,t.id)>=0||!s&&t.id===n})}else if(null!=o){var u=y(o);r=g(a,function(t){return u&&l(o,t.name)>=0||!u&&t.name===o})}else r=a.slice();return Ba(r,t)},findComponents:function(t){var e=t.query,i=t.mainType,n=function(t){var e=i+"Index",n=i+"Id",o=i+"Name";return!t||null==t[e]&&null==t[n]&&null==t[o]?null:{mainType:i,index:t[e],id:t[n],name:t[o]}}(e);return function(e){return t.filter?g(e,t.filter):e}(Ba(n?this.queryComponents(n):this._componentsMap.get(i),t))},eachComponent:function(t,e,i){var n=this._componentsMap;"function"==typeof t?(i=e,e=t,n.each(function(t,n){d(t,function(t,o){e.call(i,n,t,o)})})):_(t)?d(n.get(t),e,i):w(t)&&d(this.findComponents(t),e,i)},getSeriesByName:function(t){return g(this._componentsMap.get("series"),function(e){return e.name===t})},getSeriesByIndex:function(t){return this._componentsMap.get("series")[t]},getSeriesByType:function(t){return g(this._componentsMap.get("series"),function(e){return e.subType===t})},getSeries:function(){return this._componentsMap.get("series").slice()},getSeriesCount:function(){return this._componentsMap.get("series").length},eachSeries:function(t,e){d(this._seriesIndices,function(i){var n=this._componentsMap.get("series")[i];t.call(e,n,i)},this)},eachRawSeries:function(t,e){d(this._componentsMap.get("series"),t,e)},eachSeriesByType:function(t,e,i){d(this._seriesIndices,function(n){var o=this._componentsMap.get("series")[n];o.subType===t&&e.call(i,o,n)},this)},eachRawSeriesByType:function(t,e,i){return d(this.getSeriesByType(t),e,i)},isSeriesFiltered:function(t){return null==this._seriesIndicesMap.get(t.componentIndex)},getCurrentSeriesIndices:function(){return(this._seriesIndices||[]).slice()},filterSeries:function(t,e){za(this,g(this._componentsMap.get("series"),t,e))},restoreData:function(t){var e=this._componentsMap;za(this,e.get("series"));var i=[];e.each(function(t,e){i.push(e)}),uI.topologicalTravel(i,uI.getAllClassMainTypes(),function(i,n){d(e.get(i),function(e){("series"!==i||!Pa(e,t))&&e.restoreData()})})}});h(II,fI);var TI=["getDom","getZr","getWidth","getHeight","getDevicePixelRatio","dispatchAction","isDisposed","on","off","getDataURL","getConnectedDataURL","getModel","getOption","getViewOfComponentModel","getViewOfSeriesModel"],AI={};Ga.prototype={constructor:Ga,create:function(t,e){var i=[];d(AI,function(n,o){var a=n.create(t,e);i=i.concat(a||[])}),this._coordinateSystems=i},update:function(t,e){d(this._coordinateSystems,function(i){i.update&&i.update(t,e)})},getCoordinateSystems:function(){return this._coordinateSystems.slice()}},Ga.register=function(t,e){AI[t]=e},Ga.get=function(t){return AI[t]};var DI=d,CI=i,LI=f,kI=n,PI=/^(min|max)?(.+)$/;Fa.prototype={constructor:Fa,setOption:function(t,e){t&&d(Di(t.series),function(t){t&&t.data&&S(t.data)&&N(t.data)}),t=CI(t,!0);var i=this._optionBackup,n=Wa.call(this,t,e,!i);this._newBaseOption=n.baseOption,i?(Xa(i.baseOption,n.baseOption),n.timelineOptions.length&&(i.timelineOptions=n.timelineOptions),n.mediaList.length&&(i.mediaList=n.mediaList),n.mediaDefault&&(i.mediaDefault=n.mediaDefault)):this._optionBackup=n},mountOption:function(t){var e=this._optionBackup;return this._timelineOptions=LI(e.timelineOptions,CI),this._mediaList=LI(e.mediaList,CI),this._mediaDefault=CI(e.mediaDefault),this._currentMediaIndices=[],CI(t?e.baseOption:this._newBaseOption)},getTimelineOption:function(t){var e,i=this._timelineOptions;if(i.length){var n=t.getComponent("timeline");n&&(e=CI(i[n.getCurrentIndex()],!0))}return e},getMediaOption:function(t){var e=this._api.getWidth(),i=this._api.getHeight(),n=this._mediaList,o=this._mediaDefault,a=[],r=[];if(!n.length&&!o)return r;for(var s=0,l=n.length;s=1)&&(t=1),t}var i=this._upstream,n=t&&t.skip;if(this._dirty&&i){var o=this.context;o.data=o.outputData=i.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this);var a;this._plan&&!n&&(a=this._plan(this.context));var r=e(this._modBy),s=this._modDataCount||0,l=e(t&&t.modBy),u=t&&t.modDataCount||0;r===l&&s===u||(a="reset");var h;(this._dirty||"reset"===a)&&(this._dirty=!1,h=vr(this,n)),this._modBy=l,this._modDataCount=u;var c=t&&t.step;if(this._dueEnd=i?i._outputDueEnd:this._count?this._count(this.context):1/0,this._progress){var d=this._dueIndex,f=Math.min(null!=c?this._dueIndex+c:1/0,this._dueEnd);if(!n&&(h||d=i?null:t1&&a>0?e:t}};return s}();XI.dirty=function(){this._dirty=!0,this._onDirty&&this._onDirty(this.context)},XI.unfinished=function(){return this._progress&&this._dueIndex":"\n",s="richText"===n,l={},u=0,h=this.getData(),c=h.mapDimension("defaultedTooltip",!0),f=c.length,g=this.getRawValue(t),m=y(g),v=h.getItemVisual(t,"color");w(v)&&v.colorStops&&(v=(v.colorStops[0]||{}).color),v=v||"transparent";var x=(f>1||m&&!f?function(i){function o(t,i){var o=h.getDimensionInfo(i);if(o&&!1!==o.otherDims.tooltip){var c=o.type,d="sub"+a.seriesIndex+"at"+u,p=oa({color:v,type:"subItem",renderMode:n,markerId:d}),g="string"==typeof p?p:p.content,m=(r?g+ea(o.displayName||"-")+": ":"")+ea("ordinal"===c?t+"":"time"===c?e?"":ra("yyyy/MM/dd hh:mm:ss",t):Qo(t));m&&f.push(m),s&&(l[d]=v,++u)}}var r=p(i,function(t,e,i){var n=h.getDimensionInfo(i);return t|=n&&!1!==n.tooltip&&null!=n.displayName},0),f=[];c.length?d(c,function(e){o(dr(h,t,e),e)}):d(i,o);var g=r?s?"\n":"
":"",m=g+f.join(g||", ");return{renderMode:n,content:m,style:l}}(g):o(f?dr(h,t,c[0]):m?g[0]:g)).content,_=a.seriesIndex+"at"+u,b=oa({color:v,type:"item",renderMode:n,markerId:_});l[_]=v,++u;var S=h.getName(t),M=this.name;Oi(this)||(M=""),M=M?ea(M)+(e?": ":r):"";var I="string"==typeof b?b:b.content;return{html:e?I+M+x:M+I+(S?ea(S)+": "+x:x),markers:l}},isAnimationEnabled:function(){if(U_.node)return!1;var t=this.getShallow("animation");return t&&this.getData().count()>this.getShallow("animationThreshold")&&(t=!1),t},restoreData:function(){this.dataTask.dirty()},getColorFromPalette:function(t,e,i){var n=this.ecModel,o=fI.getColorFromPalette.call(this,t,e,i);return o||(o=n.getColorFromPalette(t,e,i)),o},coordDimToDataDim:function(t){return this.getRawData().mapDimension(t,!0)},getProgressive:function(){return this.get("progressive")},getProgressiveThreshold:function(){return this.get("progressiveThreshold")},getAxisTooltipData:null,getTooltipPosition:null,pipeTask:null,preventIncremental:null,pipelineContext:null});h(qI,UI),h(qI,fI);var KI=function(){this.group=new tb,this.uid=Eo("viewComponent")};KI.prototype={constructor:KI,init:function(t,e){},render:function(t,e,i,n){},dispose:function(){},filterForExposedEvent:null};var $I=KI.prototype;$I.updateView=$I.updateLayout=$I.updateVisual=function(t,e,i,n){},Xi(KI),Ki(KI,{registerWhenExtend:!0});var JI=function(){var t=Bi();return function(e){var i=t(e),n=e.pipelineContext,o=i.large,a=i.progressiveRender,r=i.large=n.large,s=i.progressiveRender=n.progressiveRender;return!!(o^r||a^s)&&"reset"}},QI=Bi(),tT=JI();Tr.prototype={type:"chart",init:function(t,e){},render:function(t,e,i,n){},highlight:function(t,e,i,n){Dr(t.getData(),n,"emphasis")},downplay:function(t,e,i,n){Dr(t.getData(),n,"normal")},remove:function(t,e){this.group.removeAll()},dispose:function(){},incrementalPrepareRender:null,incrementalRender:null,updateTransform:null,filterForExposedEvent:null};var eT=Tr.prototype;eT.updateView=eT.updateLayout=eT.updateVisual=function(t,e,i,n){this.render(t,e,i,n)},Xi(Tr),Ki(Tr,{registerWhenExtend:!0}),Tr.markUpdateMethod=function(t,e){QI(t).updateMethod=e};var iT={incrementalPrepareRender:{progress:function(t,e){e.view.incrementalRender(t,e.model,e.ecModel,e.api,e.payload)}},render:{forceFirstProgress:!0,progress:function(t,e){e.view.render(e.model,e.ecModel,e.api,e.payload)}}},nT="\0__throttleOriginMethod",oT="\0__throttleRate",aT="\0__throttleType",rT={createOnAllSeries:!0,performRawSeries:!0,reset:function(t,e){var i=t.getData(),n=(t.visualColorAccessPath||"itemStyle.color").split("."),o=t.get(n)||t.getColorFromPalette(t.name,null,e.getSeriesCount());if(i.setVisual("color",o),!e.isSeriesFiltered(t)){"function"!=typeof o||o instanceof IM||i.each(function(e){i.setItemVisual(e,"color",o(t.getDataParams(e)))});return{dataEach:i.hasItemOption?function(t,e){var i=t.getItemModel(e).get(n,!0);null!=i&&t.setItemVisual(e,"color",i)}:null}}}},sT={toolbox:{brush:{title:{rect:"矩形选择",polygon:"圈选",lineX:"横向选择",lineY:"纵向选择",keep:"保持选择",clear:"清除选择"}},dataView:{title:"数据视图",lang:["数据视图","关闭","刷新"]},dataZoom:{title:{zoom:"区域缩放",back:"区域缩放还原"}},magicType:{title:{line:"切换为折线图",bar:"切换为柱状图",stack:"切换为堆叠",tiled:"切换为平铺"}},restore:{title:"还原"},saveAsImage:{title:"保存为图片",lang:["右键另存为图片"]}},series:{typeNames:{pie:"饼图",bar:"柱状图",line:"折线图",scatter:"散点图",effectScatter:"涟漪散点图",radar:"雷达图",tree:"树图",treemap:"矩形树图",boxplot:"箱型图",candlestick:"K线图",k:"K线图",heatmap:"热力图",map:"地图",parallel:"平行坐标图",lines:"线图",graph:"关系图",sankey:"桑基图",funnel:"漏斗图",gauge:"仪表盘图",pictorialBar:"象形柱图",themeRiver:"主题河流图",sunburst:"旭日图"}},aria:{general:{withTitle:"这是一个关于“{title}”的图表。",withoutTitle:"这是一个图表,"},series:{single:{prefix:"",withName:"图表类型是{seriesType},表示{seriesName}。",withoutName:"图表类型是{seriesType}。"},multiple:{prefix:"它由{seriesCount}个图表系列组成。",withName:"第{seriesId}个系列是一个表示{seriesName}的{seriesType},",withoutName:"第{seriesId}个系列是一个{seriesType},",separator:{middle:";",end:"。"}}},data:{allData:"其数据是——",partialData:"其中,前{displayCnt}项是——",withName:"{name}的数据是{value}",withoutName:"{value}",separator:{middle:",",end:""}}}},lT=function(t,e){function i(t,e){if("string"!=typeof t)return t;var i=t;return d(e,function(t,e){i=i.replace(new RegExp("\\{\\s*"+e+"\\s*\\}","g"),t)}),i}function n(t){var e=a.get(t);if(null==e){for(var i=t.split("."),n=sT.aria,o=0;o1?"series.multiple.prefix":"series.single.prefix"),{seriesCount:r}),e.eachSeries(function(t,e){if(e1?"multiple":"single")+".";a=i(a=n(s?u+"withName":u+"withoutName"),{seriesId:t.seriesIndex,seriesName:t.get("name"),seriesType:o(t.subType)});var c=t.getData();window.data=c,c.count()>l?a+=i(n("data.partialData"),{displayCnt:l}):a+=n("data.allData");for(var d=[],p=0;pi.blockIndex?i.step:null,a=n&&n.modDataCount;return{step:o,modBy:null!=a?Math.ceil(a/o):null,modDataCount:a}}},hT.getPipeline=function(t){return this._pipelineMap.get(t)},hT.updateStreamModes=function(t,e){var i=this._pipelineMap.get(t.uid),n=t.getData().count(),o=i.progressiveEnabled&&e.incrementalPrepareRender&&n>=i.threshold,a=t.get("large")&&n>=t.get("largeThreshold"),r="mod"===t.get("progressiveChunkMode")?n:null;t.pipelineContext=i.context={progressiveRender:o,modDataCount:r,large:a}},hT.restorePipelines=function(t){var e=this,i=e._pipelineMap=R();t.eachSeries(function(t){var n=t.getProgressive(),o=t.uid;i.set(o,{id:o,head:null,tail:null,threshold:t.getProgressiveThreshold(),progressiveEnabled:n&&!(t.preventIncremental&&t.preventIncremental()),blockIndex:-1,step:Math.round(n||700),count:0}),Xr(e,t,t.dataTask)})},hT.prepareStageTasks=function(){var t=this._stageTaskMap,e=this.ecInstance.getModel(),i=this.api;d(this._allHandlers,function(n){var o=t.get(n.uid)||t.set(n.uid,[]);n.reset&&Rr(this,n,o,e,i),n.overallReset&&zr(this,n,o,e,i)},this)},hT.prepareView=function(t,e,i,n){var o=t.renderTask,a=o.context;a.model=e,a.ecModel=i,a.api=n,o.__block=!t.incrementalPrepareRender,Xr(this,e,o)},hT.performDataProcessorTasks=function(t,e){Er(this,this._dataProcessorHandlers,t,e,{block:!0})},hT.performVisualTasks=function(t,e,i){Er(this,this._visualHandlers,t,e,i)},hT.performSeriesTasks=function(t){var e;t.eachSeries(function(t){e|=t.dataTask.perform()}),this.unfinished|=e},hT.plan=function(){this._pipelineMap.each(function(t){var e=t.tail;do{if(e.__block){t.blockIndex=e.__idxInPipeline;break}e=e.getUpstream()}while(e)})};var cT=hT.updatePayload=function(t,e){"remain"!==e&&(t.context.payload=e)},dT=Zr(0);Or.wrapStageHandler=function(t,e){return x(t)&&(t={overallReset:t,seriesType:jr(t)}),t.uid=Eo("stageHandler"),e&&(t.visualType=e),t};var fT,pT={},gT={};Yr(pT,II),Yr(gT,Va),pT.eachSeriesByType=pT.eachRawSeriesByType=function(t){fT=t},pT.eachComponent=function(t){"series"===t.mainType&&t.subType&&(fT=t.subType)};var mT=["#37A2DA","#32C5E9","#67E0E3","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#E062AE","#E690D1","#e7bcf3","#9d96f5","#8378EA","#96BFFF"],vT={color:mT,colorLayer:[["#37A2DA","#ffd85c","#fd7b5f"],["#37A2DA","#67E0E3","#FFDB5C","#ff9f7f","#E062AE","#9d96f5"],["#37A2DA","#32C5E9","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#e7bcf3","#8378EA","#96BFFF"],mT]},yT=["#dd6b66","#759aa0","#e69d87","#8dc1a9","#ea7e53","#eedd78","#73a373","#73b9bc","#7289ab","#91ca8c","#f49f42"],xT={color:yT,backgroundColor:"#333",tooltip:{axisPointer:{lineStyle:{color:"#eee"},crossStyle:{color:"#eee"}}},legend:{textStyle:{color:"#eee"}},textStyle:{color:"#eee"},title:{textStyle:{color:"#eee"}},toolbox:{iconStyle:{normal:{borderColor:"#eee"}}},dataZoom:{textStyle:{color:"#eee"}},visualMap:{textStyle:{color:"#eee"}},timeline:{lineStyle:{color:"#eee"},itemStyle:{normal:{color:yT[1]}},label:{normal:{textStyle:{color:"#eee"}}},controlStyle:{normal:{color:"#eee",borderColor:"#eee"}}},timeAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},logAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},valueAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},categoryAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},line:{symbol:"circle"},graph:{color:yT},gauge:{title:{textStyle:{color:"#eee"}}},candlestick:{itemStyle:{normal:{color:"#FD1050",color0:"#0CF49B",borderColor:"#FD1050",borderColor0:"#0CF49B"}}}};xT.categoryAxis.splitLine.show=!1,uI.extend({type:"dataset",defaultOption:{seriesLayoutBy:wI,sourceHeader:null,dimensions:null,source:null},optionUpdated:function(){_a(this)}}),KI.extend({type:"dataset"});var _T=kn.extend({type:"ellipse",shape:{cx:0,cy:0,rx:0,ry:0},buildPath:function(t,e){var i=.5522848,n=e.cx,o=e.cy,a=e.rx,r=e.ry,s=a*i,l=r*i;t.moveTo(n-a,o),t.bezierCurveTo(n-a,o-l,n-s,o-r,n,o-r),t.bezierCurveTo(n+s,o-r,n+a,o-l,n+a,o),t.bezierCurveTo(n+a,o+l,n+s,o+r,n,o+r),t.bezierCurveTo(n-s,o+r,n-a,o+l,n-a,o),t.closePath()}}),wT=/[\s,]+/;Kr.prototype.parse=function(t,e){e=e||{};var i=qr(t);if(!i)throw new Error("Illegal svg");var n=new tb;this._root=n;var o=i.getAttribute("viewBox")||"",a=parseFloat(i.getAttribute("width")||e.width),r=parseFloat(i.getAttribute("height")||e.height);isNaN(a)&&(a=null),isNaN(r)&&(r=null),ts(i,n,null,!0);for(var s=i.firstChild;s;)this._parseNode(s,n),s=s.nextSibling;var l,u;if(o){var h=P(o).split(wT);h.length>=4&&(l={x:parseFloat(h[0]||0),y:parseFloat(h[1]||0),width:parseFloat(h[2]),height:parseFloat(h[3])})}if(l&&null!=a&&null!=r&&(u=os(l,a,r),!e.ignoreViewBox)){var c=n;(n=new tb).add(c),c.scale=u.scale.slice(),c.position=u.position.slice()}return e.ignoreRootClip||null==a||null==r||n.setClipPath(new yM({shape:{x:0,y:0,width:a,height:r}})),{root:n,width:a,height:r,viewBoxRect:l,viewBoxTransform:u}},Kr.prototype._parseNode=function(t,e){var i=t.nodeName.toLowerCase();"defs"===i?this._isDefine=!0:"text"===i&&(this._isText=!0);var n;if(this._isDefine){if(r=ST[i]){var o=r.call(this,t),a=t.getAttribute("id");a&&(this._defs[a]=o)}}else{var r=bT[i];r&&(n=r.call(this,t,e),e.add(n))}for(var s=t.firstChild;s;)1===s.nodeType&&this._parseNode(s,n),3===s.nodeType&&this._isText&&this._parseText(s,n),s=s.nextSibling;"defs"===i?this._isDefine=!1:"text"===i&&(this._isText=!1)},Kr.prototype._parseText=function(t,e){if(1===t.nodeType){var i=t.getAttribute("dx")||0,n=t.getAttribute("dy")||0;this._textX+=parseFloat(i),this._textY+=parseFloat(n)}var o=new rM({style:{text:t.textContent,transformText:!0},position:[this._textX||0,this._textY||0]});Jr(e,o),ts(t,o,this._defs);var a=o.style.fontSize;a&&a<9&&(o.style.fontSize=9,o.scale=o.scale||[1,1],o.scale[0]*=a/9,o.scale[1]*=a/9);var r=o.getBoundingRect();return this._textX+=r.width,e.add(o),o};var bT={g:function(t,e){var i=new tb;return Jr(e,i),ts(t,i,this._defs),i},rect:function(t,e){var i=new yM;return Jr(e,i),ts(t,i,this._defs),i.setShape({x:parseFloat(t.getAttribute("x")||0),y:parseFloat(t.getAttribute("y")||0),width:parseFloat(t.getAttribute("width")||0),height:parseFloat(t.getAttribute("height")||0)}),i},circle:function(t,e){var i=new sM;return Jr(e,i),ts(t,i,this._defs),i.setShape({cx:parseFloat(t.getAttribute("cx")||0),cy:parseFloat(t.getAttribute("cy")||0),r:parseFloat(t.getAttribute("r")||0)}),i},line:function(t,e){var i=new _M;return Jr(e,i),ts(t,i,this._defs),i.setShape({x1:parseFloat(t.getAttribute("x1")||0),y1:parseFloat(t.getAttribute("y1")||0),x2:parseFloat(t.getAttribute("x2")||0),y2:parseFloat(t.getAttribute("y2")||0)}),i},ellipse:function(t,e){var i=new _T;return Jr(e,i),ts(t,i,this._defs),i.setShape({cx:parseFloat(t.getAttribute("cx")||0),cy:parseFloat(t.getAttribute("cy")||0),rx:parseFloat(t.getAttribute("rx")||0),ry:parseFloat(t.getAttribute("ry")||0)}),i},polygon:function(t,e){var i=t.getAttribute("points");i&&(i=Qr(i));var n=new pM({shape:{points:i||[]}});return Jr(e,n),ts(t,n,this._defs),n},polyline:function(t,e){var i=new kn;Jr(e,i),ts(t,i,this._defs);var n=t.getAttribute("points");return n&&(n=Qr(n)),new gM({shape:{points:n||[]}})},image:function(t,e){var i=new fi;return Jr(e,i),ts(t,i,this._defs),i.setStyle({image:t.getAttribute("xlink:href"),x:t.getAttribute("x"),y:t.getAttribute("y"),width:t.getAttribute("width"),height:t.getAttribute("height")}),i},text:function(t,e){var i=t.getAttribute("x")||0,n=t.getAttribute("y")||0,o=t.getAttribute("dx")||0,a=t.getAttribute("dy")||0;this._textX=parseFloat(i)+parseFloat(o),this._textY=parseFloat(n)+parseFloat(a);var r=new tb;return Jr(e,r),ts(t,r,this._defs),r},tspan:function(t,e){var i=t.getAttribute("x"),n=t.getAttribute("y");null!=i&&(this._textX=parseFloat(i)),null!=n&&(this._textY=parseFloat(n));var o=t.getAttribute("dx")||0,a=t.getAttribute("dy")||0,r=new tb;return Jr(e,r),ts(t,r,this._defs),this._textX+=o,this._textY+=a,r},path:function(t,e){var i=En(t.getAttribute("d")||"");return Jr(e,i),ts(t,i,this._defs),i}},ST={lineargradient:function(t){var e=parseInt(t.getAttribute("x1")||0,10),i=parseInt(t.getAttribute("y1")||0,10),n=parseInt(t.getAttribute("x2")||10,10),o=parseInt(t.getAttribute("y2")||0,10),a=new TM(e,i,n,o);return $r(t,a),a},radialgradient:function(t){}},MT={fill:"fill",stroke:"stroke","stroke-width":"lineWidth",opacity:"opacity","fill-opacity":"fillOpacity","stroke-opacity":"strokeOpacity","stroke-dasharray":"lineDash","stroke-dashoffset":"lineDashOffset","stroke-linecap":"lineCap","stroke-linejoin":"lineJoin","stroke-miterlimit":"miterLimit","font-family":"fontFamily","font-size":"fontSize","font-style":"fontStyle","font-weight":"fontWeight","text-align":"textAlign","alignment-baseline":"textBaseline"},IT=/url\(\s*#(.*?)\)/,TT=/(translate|scale|rotate|skewX|skewY|matrix)\(([\-\s0-9\.e,]*)\)/g,AT=/([^\s:;]+)\s*:\s*([^:;]+)/g,DT=R(),CT={registerMap:function(t,e,i){var n;return y(e)?n=e:e.svg?n=[{type:"svg",source:e.svg,specialAreas:e.specialAreas}]:(e.geoJson&&!e.features&&(i=e.specialAreas,e=e.geoJson),n=[{type:"geoJSON",source:e,specialAreas:i}]),d(n,function(t){var e=t.type;"geoJson"===e&&(e=t.type="geoJSON"),(0,LT[e])(t)}),DT.set(t,n)},retrieveMap:function(t){return DT.get(t)}},LT={geoJSON:function(t){var e=t.source;t.geoJSON=_(e)?"undefined"!=typeof JSON&&JSON.parse?JSON.parse(e):new Function("return ("+e+");")():e},svg:function(t){t.svgXML=qr(t.source)}},kT=k,PT=d,NT=x,OT=w,ET=uI.parseClassType,RT={zrender:"4.0.6"},zT=1e3,BT=1e3,VT=3e3,GT={PROCESSOR:{FILTER:zT,STATISTIC:5e3},VISUAL:{LAYOUT:BT,GLOBAL:2e3,CHART:VT,COMPONENT:4e3,BRUSH:5e3}},FT="__flagInMainProcess",WT="__optionUpdated",HT=/^[a-zA-Z0-9_]+$/;ss.prototype.on=rs("on"),ss.prototype.off=rs("off"),ss.prototype.one=rs("one"),h(ss,fw);var ZT=ls.prototype;ZT._onframe=function(){if(!this._disposed){var t=this._scheduler;if(this[WT]){var e=this[WT].silent;this[FT]=!0,hs(this),UT.update.call(this),this[FT]=!1,this[WT]=!1,ps.call(this,e),gs.call(this,e)}else if(t.unfinished){var i=1,n=this._model;this._api;t.unfinished=!1;do{var o=+new Date;t.performSeriesTasks(n),t.performDataProcessorTasks(n),ds(this,n),t.performVisualTasks(n),ws(this,this._model,0,"remain"),i-=+new Date-o}while(i>0&&t.unfinished);t.unfinished||this._zr.flush()}}},ZT.getDom=function(){return this._dom},ZT.getZr=function(){return this._zr},ZT.setOption=function(t,e,i){var n;if(OT(e)&&(i=e.lazyUpdate,n=e.silent,e=e.notMerge),this[FT]=!0,!this._model||e){var o=new Fa(this._api),a=this._theme,r=this._model=new II(null,null,a,o);r.scheduler=this._scheduler,r.init(null,null,a,o)}this._model.setOption(t,KT),i?(this[WT]={silent:n},this[FT]=!1):(hs(this),UT.update.call(this),this._zr.flush(),this[WT]=!1,this[FT]=!1,ps.call(this,n),gs.call(this,n))},ZT.setTheme=function(){console.error("ECharts#setTheme() is DEPRECATED in ECharts 3.0")},ZT.getModel=function(){return this._model},ZT.getOption=function(){return this._model&&this._model.getOption()},ZT.getWidth=function(){return this._zr.getWidth()},ZT.getHeight=function(){return this._zr.getHeight()},ZT.getDevicePixelRatio=function(){return this._zr.painter.dpr||window.devicePixelRatio||1},ZT.getRenderedCanvas=function(t){if(U_.canvasSupported)return(t=t||{}).pixelRatio=t.pixelRatio||1,t.backgroundColor=t.backgroundColor||this._model.get("backgroundColor"),this._zr.painter.getRenderedCanvas(t)},ZT.getSvgDataUrl=function(){if(U_.svgSupported){var t=this._zr;return d(t.storage.getDisplayList(),function(t){t.stopAnimation(!0)}),t.painter.pathToDataUrl()}},ZT.getDataURL=function(t){var e=(t=t||{}).excludeComponents,i=this._model,n=[],o=this;PT(e,function(t){i.eachComponent({mainType:t},function(t){var e=o._componentsMap[t.__viewId];e.group.ignore||(n.push(e),e.group.ignore=!0)})});var a="svg"===this._zr.painter.getType()?this.getSvgDataUrl():this.getRenderedCanvas(t).toDataURL("image/"+(t&&t.type||"png"));return PT(n,function(t){t.group.ignore=!1}),a},ZT.getConnectedDataURL=function(t){if(U_.canvasSupported){var e=this.group,n=Math.min,o=Math.max;if(iA[e]){var a=1/0,r=1/0,s=-1/0,l=-1/0,u=[],h=t&&t.pixelRatio||1;d(eA,function(h,c){if(h.group===e){var d=h.getRenderedCanvas(i(t)),f=h.getDom().getBoundingClientRect();a=n(f.left,a),r=n(f.top,r),s=o(f.right,s),l=o(f.bottom,l),u.push({dom:d,left:f.left,top:f.top})}});var c=(s*=h)-(a*=h),f=(l*=h)-(r*=h),p=iw();p.width=c,p.height=f;var g=Ii(p);return PT(u,function(t){var e=new fi({style:{x:t.left*h-a,y:t.top*h-r,image:t.dom}});g.add(e)}),g.refreshImmediately(),p.toDataURL("image/"+(t&&t.type||"png"))}return this.getDataURL(t)}},ZT.convertToPixel=v(us,"convertToPixel"),ZT.convertFromPixel=v(us,"convertFromPixel"),ZT.containPixel=function(t,e){var i;return t=Vi(this._model,t),d(t,function(t,n){n.indexOf("Models")>=0&&d(t,function(t){var o=t.coordinateSystem;if(o&&o.containPoint)i|=!!o.containPoint(e);else if("seriesModels"===n){var a=this._chartsMap[t.__viewId];a&&a.containPoint&&(i|=a.containPoint(e,t))}},this)},this),!!i},ZT.getVisual=function(t,e){var i=(t=Vi(this._model,t,{defaultMainType:"series"})).seriesModel.getData(),n=t.hasOwnProperty("dataIndexInside")?t.dataIndexInside:t.hasOwnProperty("dataIndex")?i.indexOfRawIndex(t.dataIndex):null;return null!=n?i.getItemVisual(n,e):i.getVisual(e)},ZT.getViewOfComponentModel=function(t){return this._componentsMap[t.__viewId]},ZT.getViewOfSeriesModel=function(t){return this._chartsMap[t.__viewId]};var UT={prepareAndUpdate:function(t){hs(this),UT.update.call(this,t)},update:function(t){var e=this._model,i=this._api,n=this._zr,o=this._coordSysMgr,a=this._scheduler;if(e){a.restoreData(e,t),a.performSeriesTasks(e),o.create(e,i),a.performDataProcessorTasks(e,t),ds(this,e),o.update(e,i),ys(e),a.performVisualTasks(e,t),xs(this,e,i,t);var r=e.get("backgroundColor")||"transparent";if(U_.canvasSupported)n.setBackgroundColor(r);else{var s=Gt(r);r=qt(s,"rgb"),0===s[3]&&(r="transparent")}bs(e,i)}},updateTransform:function(t){var e=this._model,i=this,n=this._api;if(e){var o=[];e.eachComponent(function(a,r){var s=i.getViewOfComponentModel(r);if(s&&s.__alive)if(s.updateTransform){var l=s.updateTransform(r,e,n,t);l&&l.update&&o.push(s)}else o.push(s)});var a=R();e.eachSeries(function(o){var r=i._chartsMap[o.__viewId];if(r.updateTransform){var s=r.updateTransform(o,e,n,t);s&&s.update&&a.set(o.uid,1)}else a.set(o.uid,1)}),ys(e),this._scheduler.performVisualTasks(e,t,{setDirty:!0,dirtyMap:a}),ws(i,e,0,t,a),bs(e,this._api)}},updateView:function(t){var e=this._model;e&&(Tr.markUpdateMethod(t,"updateView"),ys(e),this._scheduler.performVisualTasks(e,t,{setDirty:!0}),xs(this,this._model,this._api,t),bs(e,this._api))},updateVisual:function(t){UT.update.call(this,t)},updateLayout:function(t){UT.update.call(this,t)}};ZT.resize=function(t){this._zr.resize(t);var e=this._model;if(this._loadingFX&&this._loadingFX.resize(),e){var i=e.resetOption("media"),n=t&&t.silent;this[FT]=!0,i&&hs(this),UT.update.call(this),this[FT]=!1,ps.call(this,n),gs.call(this,n)}},ZT.showLoading=function(t,e){if(OT(t)&&(e=t,t=""),t=t||"default",this.hideLoading(),tA[t]){var i=tA[t](this._api,e),n=this._zr;this._loadingFX=i,n.add(i)}},ZT.hideLoading=function(){this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null},ZT.makeActionFromEvent=function(t){var e=a({},t);return e.type=YT[t.type],e},ZT.dispatchAction=function(t,e){OT(e)||(e={silent:!!e}),jT[t.type]&&this._model&&(this[FT]?this._pendingActions.push(t):(fs.call(this,t,e.silent),e.flush?this._zr.flush(!0):!1!==e.flush&&U_.browser.weChat&&this._throttledZrFlush(),ps.call(this,e.silent),gs.call(this,e.silent)))},ZT.appendData=function(t){var e=t.seriesIndex;this.getModel().getSeriesByIndex(e).appendData(t),this._scheduler.unfinished=!0},ZT.on=rs("on"),ZT.off=rs("off"),ZT.one=rs("one");var XT=["click","dblclick","mouseover","mouseout","mousemove","mousedown","mouseup","globalout","contextmenu"];ZT._initEvents=function(){PT(XT,function(t){var e=function(e){var i,n=this.getModel(),o=e.target;if("globalout"===t)i={};else if(o&&null!=o.dataIndex){var r=o.dataModel||n.getSeriesByIndex(o.seriesIndex);i=r&&r.getDataParams(o.dataIndex,o.dataType,o)||{}}else o&&o.eventData&&(i=a({},o.eventData));if(i){var s=i.componentType,l=i.componentIndex;"markLine"!==s&&"markPoint"!==s&&"markArea"!==s||(s="series",l=i.seriesIndex);var u=s&&null!=l&&n.getComponent(s,l),h=u&&this["series"===u.mainType?"_chartsMap":"_componentsMap"][u.__viewId];i.event=e,i.type=t,this._ecEventProcessor.eventInfo={targetEl:o,packedEvent:i,model:u,view:h},this.trigger(t,i)}};e.zrEventfulCallAtLast=!0,this._zr.on(t,e,this)},this),PT(YT,function(t,e){this._messageCenter.on(e,function(t){this.trigger(e,t)},this)},this)},ZT.isDisposed=function(){return this._disposed},ZT.clear=function(){this.setOption({series:[]},!0)},ZT.dispose=function(){if(!this._disposed){this._disposed=!0,Fi(this.getDom(),aA,"");var t=this._api,e=this._model;PT(this._componentsViews,function(i){i.dispose(e,t)}),PT(this._chartsViews,function(i){i.dispose(e,t)}),this._zr.dispose(),delete eA[this.id]}},h(ls,fw),As.prototype={constructor:As,normalizeQuery:function(t){var e={},i={},n={};if(_(t)){var o=ET(t);e.mainType=o.main||null,e.subType=o.sub||null}else{var a=["Index","Name","Id"],r={name:1,dataIndex:1,dataType:1};d(t,function(t,o){for(var s=!1,l=0;l0&&h===o.length-u.length){var c=o.slice(0,h);"data"!==c&&(e.mainType=c,e[u.toLowerCase()]=t,s=!0)}}r.hasOwnProperty(o)&&(i[o]=t,s=!0),s||(n[o]=t)})}return{cptQuery:e,dataQuery:i,otherQuery:n}},filter:function(t,e,i){function n(t,e,i,n){return null==t[i]||e[n||i]===t[i]}var o=this.eventInfo;if(!o)return!0;var a=o.targetEl,r=o.packedEvent,s=o.model,l=o.view;if(!s||!l)return!0;var u=e.cptQuery,h=e.dataQuery;return n(u,s,"mainType")&&n(u,s,"subType")&&n(u,s,"index","componentIndex")&&n(u,s,"name")&&n(u,s,"id")&&n(h,r,"name")&&n(h,r,"dataIndex")&&n(h,r,"dataType")&&(!l.filterForExposedEvent||l.filterForExposedEvent(t,e.otherQuery,a,r))},afterTrigger:function(){this.eventInfo=null}};var jT={},YT={},qT=[],KT=[],$T=[],JT=[],QT={},tA={},eA={},iA={},nA=new Date-0,oA=new Date-0,aA="_echarts_instance_",rA=Cs;zs(2e3,rT),Ps(VI),Ns(5e3,function(t){var e=R();t.eachSeries(function(t){var i=t.get("stack");if(i){var n=e.get(i)||e.set(i,[]),o=t.getData(),a={stackResultDimension:o.getCalculationInfo("stackResultDimension"),stackedOverDimension:o.getCalculationInfo("stackedOverDimension"),stackedDimension:o.getCalculationInfo("stackedDimension"),stackedByDimension:o.getCalculationInfo("stackedByDimension"),isStackedByIndex:o.getCalculationInfo("isStackedByIndex"),data:o,seriesModel:t};if(!a.stackedDimension||!a.isStackedByIndex&&!a.stackedByDimension)return;n.length&&o.setCalculationInfo("stackedOnSeries",n[n.length-1].seriesModel),n.push(a)}}),e.each(or)}),Vs("default",function(t,e){r(e=e||{},{text:"loading",color:"#c23531",textColor:"#000",maskColor:"rgba(255, 255, 255, 0.8)",zlevel:0});var i=new yM({style:{fill:e.maskColor},zlevel:e.zlevel,z:1e4}),n=new SM({shape:{startAngle:-uT/2,endAngle:-uT/2+.1,r:10},style:{stroke:e.color,lineCap:"round",lineWidth:5},zlevel:e.zlevel,z:10001}),o=new yM({style:{fill:"none",text:e.text,textPosition:"right",textDistance:10,textFill:e.textColor},zlevel:e.zlevel,z:10001});n.animateShape(!0).when(1e3,{endAngle:3*uT/2}).start("circularInOut"),n.animateShape(!0).when(1e3,{startAngle:3*uT/2}).delay(300).start("circularInOut");var a=new tb;return a.add(n),a.add(o),a.add(i),a.resize=function(){var e=t.getWidth()/2,a=t.getHeight()/2;n.setShape({cx:e,cy:a});var r=n.shape.r;o.setShape({x:e-r,y:a-r,width:2*r,height:2*r}),i.setShape({x:0,y:0,width:t.getWidth(),height:t.getHeight()})},a.resize(),a}),Os({type:"highlight",event:"highlight",update:"highlight"},B),Os({type:"downplay",event:"downplay",update:"downplay"},B),ks("light",vT),ks("dark",xT);var sA={};Us.prototype={constructor:Us,add:function(t){return this._add=t,this},update:function(t){return this._update=t,this},remove:function(t){return this._remove=t,this},execute:function(){var t=this._old,e=this._new,i={},n=[],o=[];for(Xs(t,{},n,"_oldKeyGetter",this),Xs(e,i,o,"_newKeyGetter",this),a=0;ax[1]&&(x[1]=y)}e&&(this._nameList[d]=e[f])}this._rawCount=this._count=l,this._extent={},tl(this)},xA._initDataFromProvider=function(t,e){if(!(t>=e)){for(var i,n=this._chunkSize,o=this._rawData,a=this._storage,r=this.dimensions,s=r.length,l=this._dimensionInfos,u=this._nameList,h=this._idList,c=this._rawExtent,d=this._nameRepeatCount={},f=this._chunkCount,p=0;pM[1]&&(M[1]=S)}if(!o.pure){var I=u[v];if(m&&null==I)if(null!=m.name)u[v]=I=m.name;else if(null!=i){var T=r[i],A=a[T][y];if(A){I=A[x];var D=l[T].ordinalMeta;D&&D.categories.length&&(I=D.categories[I])}}var C=null==m?null:m.id;null==C&&null!=I&&(d[I]=d[I]||0,C=I,d[I]>0&&(C+="__ec__"+d[I]),d[I]++),null!=C&&(h[v]=C)}}!o.persistent&&o.clean&&o.clean(),this._rawCount=this._count=e,this._extent={},tl(this)}},xA.count=function(){return this._count},xA.getIndices=function(){var t=this._indices;if(t){var e=t.constructor,i=this._count;if(e===Array){n=new e(i);for(o=0;o=0&&e=0&&ea&&(a=s)}return i=[o,a],this._extent[t]=i,i},xA.getApproximateExtent=function(t){return t=this.getDimension(t),this._approximateExtent[t]||this.getDataExtent(t)},xA.setApproximateExtent=function(t,e){e=this.getDimension(e),this._approximateExtent[e]=t.slice()},xA.getCalculationInfo=function(t){return this._calculationInfo[t]},xA.setCalculationInfo=function(t,e){uA(t)?a(this._calculationInfo,t):this._calculationInfo[t]=e},xA.getSum=function(t){var e=0;if(this._storage[t])for(var i=0,n=this.count();i=this._rawCount||t<0)return-1;var e=this._indices,i=e[t];if(null!=i&&it))return a;o=a-1}}return-1},xA.indicesOfNearest=function(t,e,i){var n=[];if(!this._storage[t])return n;null==i&&(i=1/0);for(var o=Number.MAX_VALUE,a=-1,r=0,s=this.count();r=0&&a<0)&&(o=u,a=l,n.length=0),n.push(r))}return n},xA.getRawIndex=il,xA.getRawDataItem=function(t){if(this._rawData.persistent)return this._rawData.getItem(this.getRawIndex(t));for(var e=[],i=0;i=l&&w<=u||isNaN(w))&&(a[r++]=c),c++;h=!0}else if(2===n){for(var d=this._storage[s],v=this._storage[e[1]],y=t[e[1]][0],x=t[e[1]][1],f=0;f=l&&w<=u||isNaN(w))&&(b>=y&&b<=x||isNaN(b))&&(a[r++]=c),c++}h=!0}}if(!h)if(1===n)for(m=0;m=l&&w<=u||isNaN(w))&&(a[r++]=M)}else for(m=0;mt[I][1])&&(S=!1)}S&&(a[r++]=this.getRawIndex(m))}return rb[1]&&(b[1]=w)}}}return o},xA.downSample=function(t,e,i,n){for(var o=rl(this,[t]),a=o._storage,r=[],s=Math.floor(1/e),l=a[t],u=this.count(),h=this._chunkSize,c=o._rawExtent[t],d=new(Ks(this))(u),f=0,p=0;pu-p&&(s=u-p,r.length=s);for(var g=0;gc[1]&&(c[1]=x),d[f++]=_}return o._count=f,o._indices=d,o.getRawIndex=nl,o},xA.getItemModel=function(t){var e=this.hostModel;return new Po(this.getRawDataItem(t),e,e&&e.ecModel)},xA.diff=function(t){var e=this;return new Us(t?t.getIndices():[],this.getIndices(),function(e){return ol(t,e)},function(t){return ol(e,t)})},xA.getVisual=function(t){var e=this._visual;return e&&e[t]},xA.setVisual=function(t,e){if(uA(t))for(var i in t)t.hasOwnProperty(i)&&this.setVisual(i,t[i]);else this._visual=this._visual||{},this._visual[t]=e},xA.setLayout=function(t,e){if(uA(t))for(var i in t)t.hasOwnProperty(i)&&this.setLayout(i,t[i]);else this._layout[t]=e},xA.getLayout=function(t){return this._layout[t]},xA.getItemLayout=function(t){return this._itemLayouts[t]},xA.setItemLayout=function(t,e,i){this._itemLayouts[t]=i?a(this._itemLayouts[t]||{},e):e},xA.clearItemLayouts=function(){this._itemLayouts.length=0},xA.getItemVisual=function(t,e,i){var n=this._itemVisuals[t],o=n&&n[e];return null!=o||i?o:this.getVisual(e)},xA.setItemVisual=function(t,e,i){var n=this._itemVisuals[t]||{},o=this.hasItemVisual;if(this._itemVisuals[t]=n,uA(e))for(var a in e)e.hasOwnProperty(a)&&(n[a]=e[a],o[a]=!0);else n[e]=i,o[e]=!0},xA.clearAllVisual=function(){this._visual={},this._itemVisuals=[],this.hasItemVisual={}};var _A=function(t){t.seriesIndex=this.seriesIndex,t.dataIndex=this.dataIndex,t.dataType=this.dataType};xA.setItemGraphicEl=function(t,e){var i=this.hostModel;e&&(e.dataIndex=t,e.dataType=this.dataType,e.seriesIndex=i&&i.seriesIndex,"group"===e.type&&e.traverse(_A,e)),this._graphicEls[t]=e},xA.getItemGraphicEl=function(t){return this._graphicEls[t]},xA.eachItemGraphicEl=function(t,e){d(this._graphicEls,function(i,n){i&&t&&t.call(e,i,n)})},xA.cloneShallow=function(t){if(!t){var e=f(this.dimensions,this.getDimensionInfo,this);t=new yA(e,this.hostModel)}if(t._storage=this._storage,Js(t,this),this._indices){var i=this._indices.constructor;t._indices=new i(this._indices)}else t._indices=null;return t.getRawIndex=t._indices?nl:il,t},xA.wrapMethod=function(t,e){var i=this[t];"function"==typeof i&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(t),this[t]=function(){var t=i.apply(this,arguments);return e.apply(this,[t].concat(C(arguments)))})},xA.TRANSFERABLE_METHODS=["cloneShallow","downSample","map"],xA.CHANGABLE_METHODS=["filterSelf","selectRange"];var wA=function(t,e){return e=e||{},ul(e.coordDimensions||[],t,{dimsDef:e.dimensionsDefine||t.dimensionsDefine,encodeDef:e.encodeDefine||t.encodeDefine,dimCount:e.dimensionsCount,generateCoord:e.generateCoord,generateCoordCount:e.generateCoordCount})};yl.prototype.parse=function(t){return t},yl.prototype.getSetting=function(t){return this._setting[t]},yl.prototype.contain=function(t){var e=this._extent;return t>=e[0]&&t<=e[1]},yl.prototype.normalize=function(t){var e=this._extent;return e[1]===e[0]?.5:(t-e[0])/(e[1]-e[0])},yl.prototype.scale=function(t){var e=this._extent;return t*(e[1]-e[0])+e[0]},yl.prototype.unionExtent=function(t){var e=this._extent;t[0]e[1]&&(e[1]=t[1])},yl.prototype.unionExtentFromData=function(t,e){this.unionExtent(t.getApproximateExtent(e))},yl.prototype.getExtent=function(){return this._extent.slice()},yl.prototype.setExtent=function(t,e){var i=this._extent;isNaN(t)||(i[0]=t),isNaN(e)||(i[1]=e)},yl.prototype.isBlank=function(){return this._isBlank},yl.prototype.setBlank=function(t){this._isBlank=t},yl.prototype.getLabel=null,Xi(yl),Ki(yl,{registerWhenExtend:!0}),xl.createByAxisModel=function(t){var e=t.option,i=e.data,n=i&&f(i,wl);return new xl({categories:n,needCollect:!n,deduplication:!1!==e.dedplication})};var bA=xl.prototype;bA.getOrdinal=function(t){return _l(this).get(t)},bA.parseAndCollect=function(t){var e,i=this._needCollect;if("string"!=typeof t&&!i)return t;if(i&&!this._deduplication)return e=this.categories.length,this.categories[e]=t,e;var n=_l(this);return null==(e=n.get(t))&&(i?(e=this.categories.length,this.categories[e]=t,n.set(t,e)):e=NaN),e};var SA=yl.prototype,MA=yl.extend({type:"ordinal",init:function(t,e){t&&!y(t)||(t=new xl({categories:t})),this._ordinalMeta=t,this._extent=e||[0,t.categories.length-1]},parse:function(t){return"string"==typeof t?this._ordinalMeta.getOrdinal(t):Math.round(t)},contain:function(t){return t=this.parse(t),SA.contain.call(this,t)&&null!=this._ordinalMeta.categories[t]},normalize:function(t){return SA.normalize.call(this,this.parse(t))},scale:function(t){return Math.round(SA.scale.call(this,t))},getTicks:function(){for(var t=[],e=this._extent,i=e[0];i<=e[1];)t.push(i),i++;return t},getLabel:function(t){if(!this.isBlank())return this._ordinalMeta.categories[t]},count:function(){return this._extent[1]-this._extent[0]+1},unionExtentFromData:function(t,e){this.unionExtent(t.getApproximateExtent(e))},getOrdinalMeta:function(){return this._ordinalMeta},niceTicks:B,niceExtent:B});MA.create=function(){return new MA};var IA=Vo,TA=Vo,AA=yl.extend({type:"interval",_interval:0,_intervalPrecision:2,setExtent:function(t,e){var i=this._extent;isNaN(t)||(i[0]=parseFloat(t)),isNaN(e)||(i[1]=parseFloat(e))},unionExtent:function(t){var e=this._extent;t[0]e[1]&&(e[1]=t[1]),AA.prototype.setExtent.call(this,e[0],e[1])},getInterval:function(){return this._interval},setInterval:function(t){this._interval=t,this._niceExtent=this._extent.slice(),this._intervalPrecision=Sl(t)},getTicks:function(){return Tl(this._interval,this._extent,this._niceExtent,this._intervalPrecision)},getLabel:function(t,e){if(null==t)return"";var i=e&&e.precision;return null==i?i=Wo(t)||0:"auto"===i&&(i=this._intervalPrecision),t=TA(t,i,!0),Qo(t)},niceTicks:function(t,e,i){t=t||5;var n=this._extent,o=n[1]-n[0];if(isFinite(o)){o<0&&(o=-o,n.reverse());var a=bl(n,t,e,i);this._intervalPrecision=a.intervalPrecision,this._interval=a.interval,this._niceExtent=a.niceTickExtent}},niceExtent:function(t){var e=this._extent;if(e[0]===e[1])if(0!==e[0]){var i=e[0];t.fixMax?e[0]-=i/2:(e[1]+=i/2,e[0]-=i/2)}else e[1]=1;var n=e[1]-e[0];isFinite(n)||(e[0]=0,e[1]=1),this.niceTicks(t.splitNumber,t.minInterval,t.maxInterval);var o=this._interval;t.fixMin||(e[0]=TA(Math.floor(e[0]/o)*o)),t.fixMax||(e[1]=TA(Math.ceil(e[1]/o)*o))}});AA.create=function(){return new AA};var DA="__ec_stack_",CA="undefined"!=typeof Float32Array?Float32Array:Array,LA={seriesType:"bar",plan:JI(),reset:function(t){if(El(t)&&Rl(t)){var e=t.getData(),i=t.coordinateSystem,n=i.getBaseAxis(),o=i.getOtherAxis(n),a=e.mapDimension(o.dim),r=e.mapDimension(n.dim),s=o.isHorizontal(),l=s?0:1,u=Nl(kl([t]),n,t).width;return u>.5||(u=.5),{progress:function(t,e){for(var n,h=new CA(2*t.count),c=[],d=[],f=0;null!=(n=t.next());)d[l]=e.get(a,n),d[1-l]=e.get(r,n),c=i.dataToPoint(d,null,c),h[f++]=c[0],h[f++]=c[1];e.setLayout({largePoints:h,barWidth:u,valueAxisStart:zl(0,o),valueAxisHorizontal:s})}}}}},kA=AA.prototype,PA=Math.ceil,NA=Math.floor,OA=function(t,e,i,n){for(;i>>1;t[o][1]i&&(a=i);var r=RA.length,s=OA(RA,a,0,r),l=RA[Math.min(s,r-1)],u=l[1];"year"===l[0]&&(u*=Ko(o/u/t,!0));var h=this.getSetting("useUTC")?0:60*new Date(+n[0]||+n[1]).getTimezoneOffset()*1e3,c=[Math.round(PA((n[0]-h)/u)*u+h),Math.round(NA((n[1]-h)/u)*u+h)];Il(c,n),this._stepLvl=l,this._interval=u,this._niceExtent=c},parse:function(t){return+jo(t)}});d(["contain","normalize"],function(t){EA.prototype[t]=function(e){return kA[t].call(this,this.parse(e))}});var RA=[["hh:mm:ss",1e3],["hh:mm:ss",5e3],["hh:mm:ss",1e4],["hh:mm:ss",15e3],["hh:mm:ss",3e4],["hh:mm\nMM-dd",6e4],["hh:mm\nMM-dd",3e5],["hh:mm\nMM-dd",6e5],["hh:mm\nMM-dd",9e5],["hh:mm\nMM-dd",18e5],["hh:mm\nMM-dd",36e5],["hh:mm\nMM-dd",72e5],["hh:mm\nMM-dd",216e5],["hh:mm\nMM-dd",432e5],["MM-dd\nyyyy",864e5],["MM-dd\nyyyy",1728e5],["MM-dd\nyyyy",2592e5],["MM-dd\nyyyy",3456e5],["MM-dd\nyyyy",432e6],["MM-dd\nyyyy",5184e5],["week",6048e5],["MM-dd\nyyyy",864e6],["week",12096e5],["week",18144e5],["month",26784e5],["week",36288e5],["month",53568e5],["week",6048e6],["quarter",8208e6],["month",107136e5],["month",13392e6],["half-year",16416e6],["month",214272e5],["month",26784e6],["year",32832e6]];EA.create=function(t){return new EA({useUTC:t.ecModel.get("useUTC")})};var zA=yl.prototype,BA=AA.prototype,VA=Wo,GA=Vo,FA=Math.floor,WA=Math.ceil,HA=Math.pow,ZA=Math.log,UA=yl.extend({type:"log",base:10,$constructor:function(){yl.apply(this,arguments),this._originalScale=new AA},getTicks:function(){var t=this._originalScale,e=this._extent,i=t.getExtent();return f(BA.getTicks.call(this),function(n){var o=Vo(HA(this.base,n));return o=n===e[0]&&t.__fixMin?Bl(o,i[0]):o,o=n===e[1]&&t.__fixMax?Bl(o,i[1]):o},this)},getLabel:BA.getLabel,scale:function(t){return t=zA.scale.call(this,t),HA(this.base,t)},setExtent:function(t,e){var i=this.base;t=ZA(t)/ZA(i),e=ZA(e)/ZA(i),BA.setExtent.call(this,t,e)},getExtent:function(){var t=this.base,e=zA.getExtent.call(this);e[0]=HA(t,e[0]),e[1]=HA(t,e[1]);var i=this._originalScale,n=i.getExtent();return i.__fixMin&&(e[0]=Bl(e[0],n[0])),i.__fixMax&&(e[1]=Bl(e[1],n[1])),e},unionExtent:function(t){this._originalScale.unionExtent(t);var e=this.base;t[0]=ZA(t[0])/ZA(e),t[1]=ZA(t[1])/ZA(e),zA.unionExtent.call(this,t)},unionExtentFromData:function(t,e){this.unionExtent(t.getApproximateExtent(e))},niceTicks:function(t){t=t||10;var e=this._extent,i=e[1]-e[0];if(!(i===1/0||i<=0)){var n=Yo(i);for(t/i*n<=.5&&(n*=10);!isNaN(n)&&Math.abs(n)<1&&Math.abs(n)>0;)n*=10;var o=[Vo(WA(e[0]/n)*n),Vo(FA(e[1]/n)*n)];this._interval=n,this._niceExtent=o}},niceExtent:function(t){BA.niceExtent.call(this,t);var e=this._originalScale;e.__fixMin=t.fixMin,e.__fixMax=t.fixMax}});d(["contain","normalize"],function(t){UA.prototype[t]=function(e){return e=ZA(e)/ZA(this.base),zA[t].call(this,e)}}),UA.create=function(){return new UA};var XA={getMin:function(t){var e=this.option,i=t||null==e.rangeStart?e.min:e.rangeStart;return this.axis&&null!=i&&"dataMin"!==i&&"function"!=typeof i&&!I(i)&&(i=this.axis.scale.parse(i)),i},getMax:function(t){var e=this.option,i=t||null==e.rangeEnd?e.max:e.rangeEnd;return this.axis&&null!=i&&"dataMax"!==i&&"function"!=typeof i&&!I(i)&&(i=this.axis.scale.parse(i)),i},getNeedCrossZero:function(){var t=this.option;return null==t.rangeStart&&null==t.rangeEnd&&!t.scale},getCoordSysModel:B,setRange:function(t,e){this.option.rangeStart=t,this.option.rangeEnd=e},resetRange:function(){this.option.rangeStart=this.option.rangeEnd=null}},jA=Zn({type:"triangle",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var i=e.cx,n=e.cy,o=e.width/2,a=e.height/2;t.moveTo(i,n-a),t.lineTo(i+o,n+a),t.lineTo(i-o,n+a),t.closePath()}}),YA=Zn({type:"diamond",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var i=e.cx,n=e.cy,o=e.width/2,a=e.height/2;t.moveTo(i,n-a),t.lineTo(i+o,n),t.lineTo(i,n+a),t.lineTo(i-o,n),t.closePath()}}),qA=Zn({type:"pin",shape:{x:0,y:0,width:0,height:0},buildPath:function(t,e){var i=e.x,n=e.y,o=e.width/5*3,a=Math.max(o,e.height),r=o/2,s=r*r/(a-r),l=n-a+r+s,u=Math.asin(s/r),h=Math.cos(u)*r,c=Math.sin(u),d=Math.cos(u),f=.6*r,p=.7*r;t.moveTo(i-h,l+s),t.arc(i,l,r,Math.PI-u,2*Math.PI+u),t.bezierCurveTo(i+h-c*f,l+s+d*f,i,n-p,i,n),t.bezierCurveTo(i,n-p,i-h+c*f,l+s+d*f,i-h,l+s),t.closePath()}}),KA=Zn({type:"arrow",shape:{x:0,y:0,width:0,height:0},buildPath:function(t,e){var i=e.height,n=e.width,o=e.x,a=e.y,r=n/3*2;t.moveTo(o,a),t.lineTo(o+r,a+i),t.lineTo(o,a+i/4*3),t.lineTo(o-r,a+i),t.lineTo(o,a),t.closePath()}}),$A={line:function(t,e,i,n,o){o.x1=t,o.y1=e+n/2,o.x2=t+i,o.y2=e+n/2},rect:function(t,e,i,n,o){o.x=t,o.y=e,o.width=i,o.height=n},roundRect:function(t,e,i,n,o){o.x=t,o.y=e,o.width=i,o.height=n,o.r=Math.min(i,n)/4},square:function(t,e,i,n,o){var a=Math.min(i,n);o.x=t,o.y=e,o.width=a,o.height=a},circle:function(t,e,i,n,o){o.cx=t+i/2,o.cy=e+n/2,o.r=Math.min(i,n)/2},diamond:function(t,e,i,n,o){o.cx=t+i/2,o.cy=e+n/2,o.width=i,o.height=n},pin:function(t,e,i,n,o){o.x=t+i/2,o.y=e+n/2,o.width=i,o.height=n},arrow:function(t,e,i,n,o){o.x=t+i/2,o.y=e+n/2,o.width=i,o.height=n},triangle:function(t,e,i,n,o){o.cx=t+i/2,o.cy=e+n/2,o.width=i,o.height=n}},JA={};d({line:_M,rect:yM,roundRect:yM,square:yM,circle:sM,diamond:YA,pin:qA,arrow:KA,triangle:jA},function(t,e){JA[e]=new t});var QA=Zn({type:"symbol",shape:{symbolType:"",x:0,y:0,width:0,height:0},beforeBrush:function(){var t=this.style;"pin"===this.shape.symbolType&&"inside"===t.textPosition&&(t.textPosition=["50%","40%"],t.textAlign="center",t.textVerticalAlign="middle")},buildPath:function(t,e,i){var n=e.symbolType,o=JA[n];"none"!==e.symbolType&&(o||(o=JA[n="rect"]),$A[n](e.x,e.y,e.width,e.height,o.shape),o.buildPath(t,o.shape,i))}}),tD={isDimensionStacked:fl,enableDataStack:dl,getStackedDimension:pl},eD=(Object.freeze||Object)({createList:function(t){return gl(t.getSource(),t)},getLayoutRect:ha,dataStack:tD,createScale:function(t,e){var i=e;Po.isInstance(e)||h(i=new Po(e),XA);var n=Wl(i);return n.setExtent(t[0],t[1]),Fl(n,i),n},mixinAxisModelCommonMethods:function(t){h(t,XA)},completeDimensions:ul,createDimensions:wA,createSymbol:$l}),iD=1e-8;tu.prototype={constructor:tu,properties:null,getBoundingRect:function(){var t=this._rect;if(t)return t;for(var e=Number.MAX_VALUE,i=[e,e],n=[-e,-e],o=[],a=[],r=this.geometries,s=0;s0}),function(t){var e=t.properties,i=t.geometry,n=i.coordinates,o=[];"Polygon"===i.type&&o.push({type:"polygon",exterior:n[0],interiors:n.slice(1)}),"MultiPolygon"===i.type&&d(n,function(t){t[0]&&o.push({type:"polygon",exterior:t[0],interiors:t.slice(1)})});var a=new tu(e.name,o,e.cp);return a.properties=e,a})},oD=Bi(),aD=[0,1],rD=function(t,e,i){this.dim=t,this.scale=e,this._extent=i||[0,0],this.inverse=!1,this.onBand=!1};rD.prototype={constructor:rD,contain:function(t){var e=this._extent,i=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return t>=i&&t<=n},containData:function(t){return this.contain(this.dataToCoord(t))},getExtent:function(){return this._extent.slice()},getPixelPrecision:function(t){return Ho(t||this.scale.getExtent(),this._extent)},setExtent:function(t,e){var i=this._extent;i[0]=t,i[1]=e},dataToCoord:function(t,e){var i=this._extent,n=this.scale;return t=n.normalize(t),this.onBand&&"ordinal"===n.type&&vu(i=i.slice(),n.count()),zo(t,aD,i,e)},coordToData:function(t,e){var i=this._extent,n=this.scale;this.onBand&&"ordinal"===n.type&&vu(i=i.slice(),n.count());var o=zo(t,i,aD,e);return this.scale.scale(o)},pointToData:function(t,e){},getTicksCoords:function(t){var e=(t=t||{}).tickModel||this.getTickModel(),i=ou(this,e),n=f(i.ticks,function(t){return{coord:this.dataToCoord(t),tickValue:t}},this),o=e.get("alignWithLabel");return yu(this,n,i.tickCategoryInterval,o,t.clamp),n},getViewLabels:function(){return nu(this).labels},getLabelModel:function(){return this.model.getModel("axisLabel")},getTickModel:function(){return this.model.getModel("axisTick")},getBandWidth:function(){var t=this._extent,e=this.scale.getExtent(),i=e[1]-e[0]+(this.onBand?1:0);0===i&&(i=1);var n=Math.abs(t[1]-t[0]);return Math.abs(n)/i},isHorizontal:null,getRotate:null,calculateCategoryInterval:function(){return fu(this)}};var sD=nD,lD={};d(["map","each","filter","indexOf","inherits","reduce","filter","bind","curry","isArray","isString","isObject","isFunction","extend","defaults","clone","merge"],function(t){lD[t]=aw[t]});var uD={};d(["extendShape","extendPath","makePath","makeImage","mergePath","resizePath","createIcon","setHoverStyle","setLabelStyle","setTextStyle","setText","getFont","updateProps","initProps","getTransform","clipPointsByRect","clipRectByRect","Group","Image","Text","Circle","Sector","Ring","Polygon","Polyline","Rect","Line","BezierCurve","Arc","IncrementalDisplayable","CompoundPath","LinearGradient","RadialGradient","BoundingRect"],function(t){uD[t]=zM[t]}),qI.extend({type:"series.line",dependencies:["grid","polar"],getInitialData:function(t,e){return gl(this.getSource(),this)},defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,clipOverflow:!0,label:{position:"top"},lineStyle:{width:2,type:"solid"},step:!1,smooth:!1,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:"auto",connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:1/0}});var hD=_u.prototype,cD=_u.getSymbolSize=function(t,e){var i=t.getItemVisual(e,"symbolSize");return i instanceof Array?i.slice():[+i,+i]};hD._createSymbol=function(t,e,i,n,o){this.removeAll();var a=$l(t,-1,-1,2,2,e.getItemVisual(i,"color"),o);a.attr({z2:100,culling:!0,scale:wu(n)}),a.drift=bu,this._symbolType=t,this.add(a)},hD.stopSymbolAnimation=function(t){this.childAt(0).stopAnimation(t)},hD.getSymbolPath=function(){return this.childAt(0)},hD.getScale=function(){return this.childAt(0).scale},hD.highlight=function(){this.childAt(0).trigger("emphasis")},hD.downplay=function(){this.childAt(0).trigger("normal")},hD.setZ=function(t,e){var i=this.childAt(0);i.zlevel=t,i.z=e},hD.setDraggable=function(t){var e=this.childAt(0);e.draggable=t,e.cursor=t?"move":"pointer"},hD.updateData=function(t,e,i){this.silent=!1;var n=t.getItemVisual(e,"symbol")||"circle",o=t.hostModel,a=cD(t,e),r=n!==this._symbolType;if(r){var s=t.getItemVisual(e,"symbolKeepAspect");this._createSymbol(n,t,e,a,s)}else(l=this.childAt(0)).silent=!1,Mo(l,{scale:wu(a)},o,e);if(this._updateCommon(t,e,a,i),r){var l=this.childAt(0),u=i&&i.fadeIn,h={scale:l.scale.slice()};u&&(h.style={opacity:l.style.opacity}),l.scale=[0,0],u&&(l.style.opacity=0),Io(l,h,o,e)}this._seriesModel=o};var dD=["itemStyle"],fD=["emphasis","itemStyle"],pD=["label"],gD=["emphasis","label"];hD._updateCommon=function(t,e,i,n){var o=this.childAt(0),r=t.hostModel,s=t.getItemVisual(e,"color");"image"!==o.type&&o.useStyle({strokeNoScale:!0});var l=n&&n.itemStyle,u=n&&n.hoverItemStyle,h=n&&n.symbolRotate,c=n&&n.symbolOffset,d=n&&n.labelModel,f=n&&n.hoverLabelModel,p=n&&n.hoverAnimation,g=n&&n.cursorStyle;if(!n||t.hasItemOption){var m=n&&n.itemModel?n.itemModel:t.getItemModel(e);l=m.getModel(dD).getItemStyle(["color"]),u=m.getModel(fD).getItemStyle(),h=m.getShallow("symbolRotate"),c=m.getShallow("symbolOffset"),d=m.getModel(pD),f=m.getModel(gD),p=m.getShallow("hoverAnimation"),g=m.getShallow("cursor")}else u=a({},u);var v=o.style;o.attr("rotation",(h||0)*Math.PI/180||0),c&&o.attr("position",[Bo(c[0],i[0]),Bo(c[1],i[1])]),g&&o.attr("cursor",g),o.setColor(s,n&&n.symbolInnerColor),o.setStyle(l);var y=t.getItemVisual(e,"opacity");null!=y&&(v.opacity=y);var x=t.getItemVisual(e,"liftZ"),_=o.__z2Origin;null!=x?null==_&&(o.__z2Origin=o.z2,o.z2+=x):null!=_&&(o.z2=_,o.__z2Origin=null);var w=n&&n.useNameLabel;po(v,u,d,f,{labelFetcher:r,labelDataIndex:e,defaultText:function(e,i){return w?t.getName(e):xu(t,e)},isRectText:!0,autoColor:s}),o.off("mouseover").off("mouseout").off("emphasis").off("normal"),o.hoverStyle=u,co(o),o.__symbolOriginalScale=wu(i),p&&r.isAnimationEnabled()&&o.on("mouseover",Su).on("mouseout",Mu).on("emphasis",Iu).on("normal",Tu)},hD.fadeOut=function(t,e){var i=this.childAt(0);this.silent=i.silent=!0,!(e&&e.keepLabel)&&(i.style.text=null),Mo(i,{style:{opacity:0},scale:[0,0]},this._seriesModel,this.dataIndex,t)},u(_u,tb);var mD=Au.prototype;mD.updateData=function(t,e){e=Cu(e);var i=this.group,n=t.hostModel,o=this._data,a=this._symbolCtor,r=Lu(t);o||i.removeAll(),t.diff(o).add(function(n){var o=t.getItemLayout(n);if(Du(t,o,n,e)){var s=new a(t,n,r);s.attr("position",o),t.setItemGraphicEl(n,s),i.add(s)}}).update(function(s,l){var u=o.getItemGraphicEl(l),h=t.getItemLayout(s);Du(t,h,s,e)?(u?(u.updateData(t,s,r),Mo(u,{position:h},n)):(u=new a(t,s)).attr("position",h),i.add(u),t.setItemGraphicEl(s,u)):i.remove(u)}).remove(function(t){var e=o.getItemGraphicEl(t);e&&e.fadeOut(function(){i.remove(e)})}).execute(),this._data=t},mD.isPersistent=function(){return!0},mD.updateLayout=function(){var t=this._data;t&&t.eachItemGraphicEl(function(e,i){var n=t.getItemLayout(i);e.attr("position",n)})},mD.incrementalPrepareUpdate=function(t){this._seriesScope=Lu(t),this._data=null,this.group.removeAll()},mD.incrementalUpdate=function(t,e,i){i=Cu(i);for(var n=t.start;n0&&Eu(i[o-1]);o--);for(;n0&&Eu(i[a-1]);a--);for(;o=0){var r=o.getItemGraphicEl(a);if(!r){var s=o.getItemLayout(a);if(!s)return;(r=new _u(o,a)).position=s,r.setZ(t.get("zlevel"),t.get("z")),r.ignore=isNaN(s[0])||isNaN(s[1]),r.__temp=!0,o.setItemGraphicEl(a,r),r.stopSymbolAnimation(!0),this.group.add(r)}r.highlight()}else Tr.prototype.highlight.call(this,t,e,i,n)},downplay:function(t,e,i,n){var o=t.getData(),a=zi(o,n);if(null!=a&&a>=0){var r=o.getItemGraphicEl(a);r&&(r.__temp?(o.setItemGraphicEl(a,null),this.group.remove(r)):r.downplay())}else Tr.prototype.downplay.call(this,t,e,i,n)},_newPolyline:function(t){var e=this._polyline;return e&&this._lineGroup.remove(e),e=new ID({shape:{points:t},silent:!0,z2:10}),this._lineGroup.add(e),this._polyline=e,e},_newPolygon:function(t,e){var i=this._polygon;return i&&this._lineGroup.remove(i),i=new TD({shape:{points:t,stackedOnPoints:e},silent:!0}),this._lineGroup.add(i),this._polygon=i,i},_updateAnimation:function(t,e,i,n,o,a){var r=this._polyline,s=this._polygon,l=t.hostModel,u=vD(this._data,t,this._stackedOnPoints,e,this._coordSys,i,this._valueOrigin,a),h=u.current,c=u.stackedOnCurrent,d=u.next,f=u.stackedOnNext;o&&(h=ju(u.current,i,o),c=ju(u.stackedOnCurrent,i,o),d=ju(u.next,i,o),f=ju(u.stackedOnNext,i,o)),r.shape.__points=u.current,r.shape.points=h,Mo(r,{shape:{points:d}},l),s&&(s.setShape({points:h,stackedOnPoints:c}),Mo(s,{shape:{points:d,stackedOnPoints:f}},l));for(var p=[],g=u.status,m=0;me&&(e=t[i]);return isFinite(e)?e:NaN},min:function(t){for(var e=1/0,i=0;ie[1]&&e.reverse(),e},getOtherAxis:function(){this.grid.getOtherAxis()},pointToData:function(t,e){return this.coordToData(this.toLocalCoord(t["x"===this.dim?0:1]),e)},toLocalCoord:null,toGlobalCoord:null},u(PD,rD);var ND={show:!0,zlevel:0,z:0,inverse:!1,name:"",nameLocation:"end",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:"...",placeholder:"."},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:"#333",width:1,type:"solid"},symbol:["none","none"],symbolSize:[10,15]},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:!0,lineStyle:{color:["#ccc"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.3)","rgba(200,200,200,0.3)"]}}},OD={};OD.categoryAxis=n({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},ND),OD.valueAxis=n({boundaryGap:[0,0],splitNumber:5},ND),OD.timeAxis=r({scale:!0,min:"dataMin",max:"dataMax"},OD.valueAxis),OD.logAxis=r({scale:!0,logBase:10},OD.valueAxis);var ED=["value","category","time","log"],RD=function(t,e,i,a){d(ED,function(r){e.extend({type:t+"Axis."+r,mergeDefaultAndTheme:function(e,o){var a=this.layoutMode,s=a?pa(e):{};n(e,o.getTheme().get(r+"Axis")),n(e,this.getDefaultOption()),e.type=i(t,e),a&&fa(e,s,a)},optionUpdated:function(){"category"===this.option.type&&(this.__ordinalMeta=xl.createByAxisModel(this))},getCategories:function(t){var e=this.option;if("category"===e.type)return t?e.data:this.__ordinalMeta.categories},getOrdinalMeta:function(){return this.__ordinalMeta},defaultOption:o([{},OD[r+"Axis"],a],!0)})}),uI.registerSubTypeDefaulter(t+"Axis",v(i,t))},zD=uI.extend({type:"cartesian2dAxis",axis:null,init:function(){zD.superApply(this,"init",arguments),this.resetRange()},mergeOption:function(){zD.superApply(this,"mergeOption",arguments),this.resetRange()},restoreData:function(){zD.superApply(this,"restoreData",arguments),this.resetRange()},getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"grid",index:this.option.gridIndex,id:this.option.gridId})[0]}});n(zD.prototype,XA);var BD={offset:0};RD("x",zD,Qu,BD),RD("y",zD,Qu,BD),uI.extend({type:"grid",dependencies:["xAxis","yAxis"],layoutMode:"box",coordinateSystem:null,defaultOption:{show:!1,zlevel:0,z:0,left:"10%",top:60,right:"10%",bottom:60,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"}});var VD=eh.prototype;VD.type="grid",VD.axisPointerEnabled=!0,VD.getRect=function(){return this._rect},VD.update=function(t,e){var i=this._axesMap;this._updateScale(t,this.model),d(i.x,function(t){Fl(t.scale,t.model)}),d(i.y,function(t){Fl(t.scale,t.model)});var n={};d(i.x,function(t){ih(i,"y",t,n)}),d(i.y,function(t){ih(i,"x",t,n)}),this.resize(this.model,e)},VD.resize=function(t,e,i){function n(){d(a,function(t){var e=t.isHorizontal(),i=e?[0,o.width]:[0,o.height],n=t.inverse?1:0;t.setExtent(i[n],i[1-n]),oh(t,e?o.x:o.y)})}var o=ha(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()});this._rect=o;var a=this._axesList;n(),!i&&t.get("containLabel")&&(d(a,function(t){if(!t.model.get("axisLabel.inside")){var e=Xl(t);if(e){var i=t.isHorizontal()?"height":"width",n=t.model.get("axisLabel.margin");o[i]-=e[i]+n,"top"===t.position?o.y+=e.height+n:"left"===t.position&&(o.x+=e.width+n)}}}),n())},VD.getAxis=function(t,e){var i=this._axesMap[t];if(null!=i){if(null==e)for(var n in i)if(i.hasOwnProperty(n))return i[n];return i[e]}},VD.getAxes=function(){return this._axesList.slice()},VD.getCartesian=function(t,e){if(null!=t&&null!=e){var i="x"+t+"y"+e;return this._coordsMap[i]}w(t)&&(e=t.yAxisIndex,t=t.xAxisIndex);for(var n=0,o=this._coordsList;nu[1]?-1:1,c=["start"===o?u[0]-h*l:"end"===o?u[1]+h*l:(u[0]+u[1])/2,fh(o)?t.labelOffset+r*l:0],d=e.get("nameRotate");null!=d&&(d=d*FD/180);var f;fh(o)?n=ZD(t.rotation,null!=d?d:t.rotation,r):(n=lh(t,o,d||0,u),null!=(f=t.axisNameAvailableWidth)&&(f=Math.abs(f/Math.sin(n.rotation)),!isFinite(f)&&(f=null)));var p=s.getFont(),g=e.get("nameTruncate",!0)||{},m=g.ellipsis,v=T(t.nameTruncateMaxWidth,g.maxWidth,f),y=null!=m&&null!=v?tI(i,v,p,m,{minChar:2,placeholder:g.placeholder}):i,x=e.get("tooltip",!0),_=e.mainType,w={componentType:_,name:i,$vars:["name"]};w[_+"Index"]=e.componentIndex;var b=new rM({anid:"name",__fullText:i,__truncatedText:y,position:c,rotation:n.rotation,silent:uh(e),z2:1,tooltip:x&&x.show?a({content:i,formatter:function(){return i},formatterParams:w},x):null});go(b.style,s,{text:y,textFont:p,textFill:s.getTextColor()||e.get("axisLine.lineStyle.color"),textAlign:n.textAlign,textVerticalAlign:n.textVerticalAlign}),e.get("triggerEvent")&&(b.eventData=sh(e),b.eventData.targetType="axisName",b.eventData.name=i),this._dumbGroup.add(b),b.updateTransform(),this.group.add(b),b.decomposeTransform()}}},ZD=WD.innerTextLayout=function(t,e,i){var n,o,a=Uo(e-t);return Xo(a)?(o=i>0?"top":"bottom",n="center"):Xo(a-FD)?(o=i>0?"bottom":"top",n="center"):(o="middle",n=a>0&&a0?"right":"left":i>0?"left":"right"),{rotation:a,textAlign:n,textVerticalAlign:o}},UD=d,XD=v,jD=Fs({type:"axis",_axisPointer:null,axisPointerClass:null,render:function(t,e,i,n){this.axisPointerClass&&bh(t),jD.superApply(this,"render",arguments),Ah(this,t,0,i,0,!0)},updateAxisPointer:function(t,e,i,n,o){Ah(this,t,0,i,0,!1)},remove:function(t,e){var i=this._axisPointer;i&&i.remove(e),jD.superApply(this,"remove",arguments)},dispose:function(t,e){Dh(this,e),jD.superApply(this,"dispose",arguments)}}),YD=[];jD.registerAxisPointerClass=function(t,e){YD[t]=e},jD.getAxisPointerClass=function(t){return t&&YD[t]};var qD=["axisLine","axisTickLabel","axisName"],KD=["splitArea","splitLine"],$D=jD.extend({type:"cartesianAxis",axisPointerClass:"CartesianAxisPointer",render:function(t,e,i,n){this.group.removeAll();var o=this._axisGroup;if(this._axisGroup=new tb,this.group.add(this._axisGroup),t.get("show")){var a=t.getCoordSysModel(),r=Ch(a,t),s=new WD(t,r);d(qD,s.add,s),this._axisGroup.add(s.getGroup()),d(KD,function(e){t.get(e+".show")&&this["_"+e](t,a)},this),Co(o,this._axisGroup,t),$D.superCall(this,"render",t,e,i,n)}},remove:function(){this._splitAreaColors=null},_splitLine:function(t,e){var i=t.axis;if(!i.scale.isBlank()){var n=t.getModel("splitLine"),o=n.getModel("lineStyle"),a=o.get("color");a=y(a)?a:[a];for(var s=e.coordinateSystem.getRect(),l=i.isHorizontal(),u=0,h=i.getTicksCoords({tickModel:n}),c=[],d=[],f=o.getLineStyle(),p=0;p1){var c;"string"==typeof o?c=CD[o]:"function"==typeof o&&(c=o),c&&t.setData(n.downSample(n.mapDimension(s.dim),1/h,c,LD))}}}}}("line"));var JD=qI.extend({type:"series.__base_bar__",getInitialData:function(t,e){return gl(this.getSource(),this)},getMarkerPosition:function(t){var e=this.coordinateSystem;if(e){var i=e.dataToPoint(e.clampData(t)),n=this.getData(),o=n.getLayout("offset"),a=n.getLayout("size");return i[e.getBaseAxis().isHorizontal()?0:1]+=o+a/2,i}return[NaN,NaN]},defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,barMinHeight:0,barMinAngle:0,large:!1,largeThreshold:400,progressive:3e3,progressiveChunkMode:"mod",itemStyle:{},emphasis:{}}});JD.extend({type:"series.bar",dependencies:["grid","polar"],brushSelector:"rect",getProgressive:function(){return!!this.get("large")&&this.get("progressive")},getProgressiveThreshold:function(){var t=this.get("progressiveThreshold"),e=this.get("largeThreshold");return e>t&&(t=e),t}});var QD=Qb([["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["stroke","barBorderColor"],["lineWidth","barBorderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),tC={getBarItemStyle:function(t){var e=QD(this,t);if(this.getBorderLineDash){var i=this.getBorderLineDash();i&&(e.lineDash=i)}return e}},eC=["itemStyle","barBorderWidth"];a(Po.prototype,tC),Hs({type:"bar",render:function(t,e,i){this._updateDrawMode(t);var n=t.get("coordinateSystem");return"cartesian2d"!==n&&"polar"!==n||(this._isLargeDraw?this._renderLarge(t,e,i):this._renderNormal(t,e,i)),this.group},incrementalPrepareRender:function(t,e,i){this._clear(),this._updateDrawMode(t)},incrementalRender:function(t,e,i,n){this._incrementalRenderLarge(t,e)},_updateDrawMode:function(t){var e=t.pipelineContext.large;(null==this._isLargeDraw||e^this._isLargeDraw)&&(this._isLargeDraw=e,this._clear())},_renderNormal:function(t,e,i){var n,o=this.group,a=t.getData(),r=this._data,s=t.coordinateSystem,l=s.getBaseAxis();"cartesian2d"===s.type?n=l.isHorizontal():"polar"===s.type&&(n="angle"===l.dim);var u=t.isAnimationEnabled()?t:null;a.diff(r).add(function(e){if(a.hasValue(e)){var i=a.getItemModel(e),r=nC[s.type](a,e,i),l=iC[s.type](a,e,i,r,n,u);a.setItemGraphicEl(e,l),o.add(l),Oh(l,a,e,i,r,t,n,"polar"===s.type)}}).update(function(e,i){var l=r.getItemGraphicEl(i);if(a.hasValue(e)){var h=a.getItemModel(e),c=nC[s.type](a,e,h);l?Mo(l,{shape:c},u,e):l=iC[s.type](a,e,h,c,n,u,!0),a.setItemGraphicEl(e,l),o.add(l),Oh(l,a,e,h,c,t,n,"polar"===s.type)}else o.remove(l)}).remove(function(t){var e=r.getItemGraphicEl(t);"cartesian2d"===s.type?e&&Ph(t,u,e):e&&Nh(t,u,e)}).execute(),this._data=a},_renderLarge:function(t,e,i){this._clear(),Rh(t,this.group)},_incrementalRenderLarge:function(t,e){Rh(e,this.group,!0)},dispose:B,remove:function(t){this._clear(t)},_clear:function(t){var e=this.group,i=this._data;t&&t.get("animation")&&i&&!this._isLargeDraw?i.eachItemGraphicEl(function(e){"sector"===e.type?Nh(e.dataIndex,t,e):Ph(e.dataIndex,t,e)}):e.removeAll(),this._data=null}});var iC={cartesian2d:function(t,e,i,n,o,r,s){var l=new yM({shape:a({},n)});if(r){var u=l.shape,h=o?"height":"width",c={};u[h]=0,c[h]=n[h],zM[s?"updateProps":"initProps"](l,{shape:c},r,e)}return l},polar:function(t,e,i,n,o,a,s){var l=n.startAngle0?1:-1,r=n.height>0?1:-1;return{x:n.x+a*o/2,y:n.y+r*o/2,width:n.width-a*o,height:n.height-r*o}},polar:function(t,e,i){var n=t.getItemLayout(e);return{cx:n.cx,cy:n.cy,r0:n.r0,r:n.r,startAngle:n.startAngle,endAngle:n.endAngle}}},oC=kn.extend({type:"largeBar",shape:{points:[]},buildPath:function(t,e){for(var i=e.points,n=this.__startPoint,o=this.__valueIdx,a=0;a0&&"scale"!==u){var d=o.getItemLayout(0),f=Math.max(i.getWidth(),i.getHeight())/2,p=m(r.removeClipPath,r);r.setClipPath(this._createClipPath(d.cx,d.cy,f,d.startAngle,d.clockwise,p,t))}else r.removeClipPath();this._data=o}},dispose:function(){},_createClipPath:function(t,e,i,n,o,a,r){var s=new hM({shape:{cx:t,cy:e,r0:0,r:i,startAngle:n,endAngle:n,clockwise:o}});return Io(s,{shape:{endAngle:n+(o?1:-1)*Math.PI*2}},r,a),s},containPoint:function(t,e){var i=e.getData().getItemLayout(0);if(i){var n=t[0]-i.cx,o=t[1]-i.cy,a=Math.sqrt(n*n+o*o);return a<=i.r&&a>=i.r0}}});var uC=function(t,e){d(e,function(e){e.update="updateView",Os(e,function(i,n){var o={};return n.eachComponent({mainType:"series",subType:t,query:i},function(t){t[e.method]&&t[e.method](i.name,i.dataIndex);var n=t.getData();n.each(function(e){var i=n.getName(e);o[i]=t.isSelected(i)||!1})}),{name:i.name,selected:o}})})},hC=function(t){return{getTargetSeries:function(e){var i={},n=R();return e.eachSeriesByType(t,function(t){t.__paletteScope=i,n.set(t.uid,t)}),n},reset:function(t,e){var i=t.getRawData(),n={},o=t.getData();o.each(function(t){var e=o.getRawIndex(t);n[e]=t}),i.each(function(e){var a=n[e],r=null!=a&&o.getItemVisual(a,"color",!0);if(r)i.setItemVisual(e,"color",r);else{var s=i.getItemModel(e).get("itemStyle.color")||t.getColorFromPalette(i.getName(e)||e+"",t.__paletteScope,i.count());i.setItemVisual(e,"color",s),null!=a&&o.setItemVisual(a,"color",s)}})}}},cC=function(t,e,i,n){var o,a,r=t.getData(),s=[],l=!1;r.each(function(i){var n,u,h,c,d=r.getItemLayout(i),f=r.getItemModel(i),p=f.getModel("label"),g=p.get("position")||f.get("emphasis.label.position"),m=f.getModel("labelLine"),v=m.get("length"),y=m.get("length2"),x=(d.startAngle+d.endAngle)/2,_=Math.cos(x),w=Math.sin(x);o=d.cx,a=d.cy;var b="inside"===g||"inner"===g;if("center"===g)n=d.cx,u=d.cy,c="center";else{var S=(b?(d.r+d.r0)/2*_:d.r*_)+o,M=(b?(d.r+d.r0)/2*w:d.r*w)+a;if(n=S+3*_,u=M+3*w,!b){var I=S+_*(v+e-d.r),T=M+w*(v+e-d.r),A=I+(_<0?-1:1)*y,D=T;n=A+(_<0?-5:5),u=D,h=[[S,M],[I,T],[A,D]]}c=b?"center":_>0?"left":"right"}var C=p.getFont(),L=p.get("rotate")?_<0?-x+Math.PI:-x:0,k=ke(t.getFormattedLabel(i,"normal")||r.getName(i),C,c,"top");l=!!L,d.label={x:n,y:u,position:g,height:k.height,len:v,len2:y,linePoints:h,textAlign:c,verticalAlign:"middle",rotation:L,inside:b},b||s.push(d.label)}),!l&&t.get("avoidLabelOverlap")&&Wh(s,o,a,e,i,n)},dC=2*Math.PI,fC=Math.PI/180,pC=function(t){return{seriesType:t,reset:function(t,e){var i=e.findComponents({mainType:"legend"});if(i&&i.length){var n=t.getData();n.filterSelf(function(t){for(var e=n.getName(t),o=0;o=0;s--){var l=2*s,u=n[l]-a/2,h=n[l+1]-r/2;if(t>=u&&e>=h&&t<=u+a&&e<=h+r)return s}return-1}}),mC=Zh.prototype;mC.isPersistent=function(){return!this._incremental},mC.updateData=function(t){this.group.removeAll();var e=new gC({rectHover:!0,cursor:"default"});e.setShape({points:t.getLayout("symbolPoints")}),this._setCommon(e,t),this.group.add(e),this._incremental=null},mC.updateLayout=function(t){if(!this._incremental){var e=t.getLayout("symbolPoints");this.group.eachChild(function(t){if(null!=t.startIndex){var i=2*(t.endIndex-t.startIndex),n=4*t.startIndex*2;e=new Float32Array(e.buffer,n,i)}t.setShape("points",e)})}},mC.incrementalPrepareUpdate=function(t){this.group.removeAll(),this._clearIncremental(),t.count()>2e6?(this._incremental||(this._incremental=new Hn({silent:!0})),this.group.add(this._incremental)):this._incremental=null},mC.incrementalUpdate=function(t,e){var i;this._incremental?(i=new gC,this._incremental.addDisplayable(i,!0)):((i=new gC({rectHover:!0,cursor:"default",startIndex:t.start,endIndex:t.end})).incremental=!0,this.group.add(i)),i.setShape({points:e.getLayout("symbolPoints")}),this._setCommon(i,e,!!this._incremental)},mC._setCommon=function(t,e,i){var n=e.hostModel,o=e.getVisual("symbolSize");t.setShape("size",o instanceof Array?o:[o,o]),t.symbolProxy=$l(e.getVisual("symbol"),0,0,0,0),t.setColor=t.symbolProxy.setColor;var a=t.shape.size[0]<4;t.useStyle(n.getModel("itemStyle").getItemStyle(a?["color","shadowBlur","shadowColor"]:["color"]));var r=e.getVisual("color");r&&t.setColor(r),i||(t.seriesIndex=n.seriesIndex,t.on("mousemove",function(e){t.dataIndex=null;var i=t.findDataIndex(e.offsetX,e.offsetY);i>=0&&(t.dataIndex=i+(t.startIndex||0))}))},mC.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},mC._clearIncremental=function(){var t=this._incremental;t&&t.clearDisplaybles()},Hs({type:"scatter",render:function(t,e,i){var n=t.getData();this._updateSymbolDraw(n,t).updateData(n),this._finished=!0},incrementalPrepareRender:function(t,e,i){var n=t.getData();this._updateSymbolDraw(n,t).incrementalPrepareUpdate(n),this._finished=!1},incrementalRender:function(t,e,i){this._symbolDraw.incrementalUpdate(t,e.getData()),this._finished=t.end===e.getData().count()},updateTransform:function(t,e,i){var n=t.getData();if(this.group.dirty(),!this._finished||n.count()>1e4||!this._symbolDraw.isPersistent())return{update:!0};var o=DD().reset(t);o.progress&&o.progress({start:0,end:n.count()},n),this._symbolDraw.updateLayout(n)},_updateSymbolDraw:function(t,e){var i=this._symbolDraw,n=e.pipelineContext.large;return i&&n===this._isLargeDraw||(i&&i.remove(),i=this._symbolDraw=n?new Zh:new Au,this._isLargeDraw=n,this.group.removeAll()),this.group.add(i.group),i},remove:function(t,e){this._symbolDraw&&this._symbolDraw.remove(!0),this._symbolDraw=null},dispose:function(){}}),zs(AD("scatter","circle")),Rs(DD("scatter")),u(Uh,rD),Xh.prototype.getIndicatorAxes=function(){return this._indicatorAxes},Xh.prototype.dataToPoint=function(t,e){var i=this._indicatorAxes[e];return this.coordToPoint(i.dataToCoord(t),e)},Xh.prototype.coordToPoint=function(t,e){var i=this._indicatorAxes[e].angle;return[this.cx+t*Math.cos(i),this.cy-t*Math.sin(i)]},Xh.prototype.pointToData=function(t){var e=t[0]-this.cx,i=t[1]-this.cy,n=Math.sqrt(e*e+i*i);e/=n,i/=n;for(var o,a=Math.atan2(-i,e),r=1/0,s=-1,l=0;ln[0]&&isFinite(c)&&isFinite(n[0]))}else{r.getTicks().length-1>a&&(u=i(u));var d=Math.round((n[0]+n[1])/2/u)*u,f=Math.round(a/2);r.setExtent(Vo(d-f*u),Vo(d+(a-f)*u)),r.setInterval(u)}})},Xh.dimensions=[],Xh.create=function(t,e){var i=[];return t.eachComponent("radar",function(n){var o=new Xh(n,t,e);i.push(o),n.coordinateSystem=o}),t.eachSeriesByType("radar",function(t){"radar"===t.get("coordinateSystem")&&(t.coordinateSystem=i[t.get("radarIndex")||0])}),i},Ga.register("radar",Xh);var vC=OD.valueAxis,yC=(Gs({type:"radar",optionUpdated:function(){var t=this.get("boundaryGap"),e=this.get("splitNumber"),o=this.get("scale"),s=this.get("axisLine"),l=this.get("axisTick"),u=this.get("axisLabel"),h=this.get("name"),c=this.get("name.show"),d=this.get("name.formatter"),p=this.get("nameGap"),g=this.get("triggerEvent"),m=f(this.get("indicator")||[],function(f){null!=f.max&&f.max>0&&!f.min?f.min=0:null!=f.min&&f.min<0&&!f.max&&(f.max=0);var m=h;if(null!=f.color&&(m=r({color:f.color},h)),f=n(i(f),{boundaryGap:t,splitNumber:e,scale:o,axisLine:s,axisTick:l,axisLabel:u,name:f.text,nameLocation:"end",nameGap:p,nameTextStyle:m,triggerEvent:g},!1),c||(f.name=""),"string"==typeof d){var v=f.name;f.name=d.replace("{value}",null!=v?v:"")}else"function"==typeof d&&(f.name=d(f.name,f));var y=a(new Po(f,null,this.ecModel),XA);return y.mainType="radar",y.componentIndex=this.componentIndex,y},this);this.getIndicatorModels=function(){return m}},defaultOption:{zlevel:0,z:0,center:["50%","50%"],radius:"75%",startAngle:90,name:{show:!0},boundaryGap:[0,0],splitNumber:5,nameGap:15,scale:!1,shape:"polygon",axisLine:n({lineStyle:{color:"#bbb"}},vC.axisLine),axisLabel:jh(vC.axisLabel,!1),axisTick:jh(vC.axisTick,!1),splitLine:jh(vC.splitLine,!0),splitArea:jh(vC.splitArea,!0),indicator:[]}}),["axisLine","axisTickLabel","axisName"]);Fs({type:"radar",render:function(t,e,i){this.group.removeAll(),this._buildAxes(t),this._buildSplitLineAndArea(t)},_buildAxes:function(t){var e=t.coordinateSystem;d(f(e.getIndicatorAxes(),function(t){return new WD(t.model,{position:[e.cx,e.cy],rotation:t.angle,labelDirection:-1,tickDirection:-1,nameDirection:1})}),function(t){d(yC,t.add,t),this.group.add(t.getGroup())},this)},_buildSplitLineAndArea:function(t){function e(t,e,i){var n=i%e.length;return t[n]=t[n]||[],n}var i=t.coordinateSystem,n=i.getIndicatorAxes();if(n.length){var o=t.get("shape"),a=t.getModel("splitLine"),s=t.getModel("splitArea"),l=a.getModel("lineStyle"),u=s.getModel("areaStyle"),h=a.get("show"),c=s.get("show"),p=l.get("color"),g=u.get("color");p=y(p)?p:[p],g=y(g)?g:[g];var m=[],v=[];if("circle"===o)for(var x=n[0].getTicksCoords(),_=i.cx,w=i.cy,b=0;b"+f(i,function(i,n){var o=e.get(e.mapDimension(i.dim),t);return ea(i.name+" : "+o)}).join("
")},defaultOption:{zlevel:0,z:2,coordinateSystem:"radar",legendHoverLink:!0,radarIndex:0,lineStyle:{width:2,type:"solid"},label:{position:"top"},symbol:"emptyCircle",symbolSize:4}});Hs({type:"radar",render:function(t,e,n){function o(t,e){var i=t.getItemVisual(e,"symbol")||"circle",n=t.getItemVisual(e,"color");if("none"!==i){var o=Yh(t.getItemVisual(e,"symbolSize")),a=$l(i,-1,-1,2,2,n);return a.attr({style:{strokeNoScale:!0},z2:100,scale:[o[0]/2,o[1]/2]}),a}}function a(e,i,n,a,r,s){n.removeAll();for(var l=0;l"+ea(n+" : "+i)},getTooltipPosition:function(t){if(null!=t){var e=this.getData().getName(t),i=this.coordinateSystem,n=i.getRegion(e);return n&&i.dataToPoint(n.center)}},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t},defaultOption:{zlevel:0,z:2,coordinateSystem:"geo",map:"",left:"center",top:"center",aspectScale:.75,showLegendSymbol:!0,dataRangeHoverLink:!0,boundingCoords:null,center:null,zoom:1,scaleLimit:null,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",areaColor:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{areaColor:"rgba(255,215,0,0.8)"}}}}),rC);var RC="\0_ec_interaction_mutex";Os({type:"takeGlobalCursor",event:"globalCursorTaken",update:"update"},function(){}),h(nc,fw);var zC={axisPointer:1,tooltip:1,brush:1};yc.prototype={constructor:yc,draw:function(t,e,i,n,o){var a="geo"===t.mainType,r=t.getData&&t.getData();a&&e.eachComponent({mainType:"series",subType:"map"},function(e){r||e.getHostGeoModel()!==t||(r=e.getData())});var s=t.coordinateSystem;this._updateBackground(s);var l=this._regionsGroup,u=this.group,h=s.scale,c={position:s.position,scale:h};!l.childAt(0)||o?u.attr(c):Mo(u,c,t),l.removeAll();var f=["itemStyle"],p=["emphasis","itemStyle"],g=["label"],m=["emphasis","label"],v=R();d(s.regions,function(e){var i=v.get(e.name)||v.set(e.name,new tb),n=new MM({shape:{paths:[]}});i.add(n);var o,s=(C=t.getRegionModel(e.name)||t).getModel(f),u=C.getModel(p),c=gc(s),y=gc(u),x=C.getModel(g),_=C.getModel(m);if(r){o=r.indexOfName(e.name);var w=r.getItemVisual(o,"color",!0);w&&(c.fill=w)}d(e.geometries,function(t){if("polygon"===t.type){n.shape.paths.push(new pM({shape:{points:t.exterior}}));for(var e=0;e<(t.interiors?t.interiors.length:0);e++)n.shape.paths.push(new pM({shape:{points:t.interiors[e]}}))}}),n.setStyle(c),n.style.strokeNoScale=!0,n.culling=!0;var b=x.get("show"),S=_.get("show"),M=r&&isNaN(r.get(r.mapDimension("value"),o)),I=r&&r.getItemLayout(o);if(a||M&&(b||S)||I&&I.showLabel){var T,A=a?e.name:o;(!r||o>=0)&&(T=t);var D=new rM({position:e.center.slice(),scale:[1/h[0],1/h[1]],z2:10,silent:!0});po(D.style,D.hoverStyle={},x,_,{labelFetcher:T,labelDataIndex:A,defaultText:e.name,useInsideStyle:!1},{textAlign:"center",textVerticalAlign:"middle"}),i.add(D)}if(r)r.setItemGraphicEl(o,i);else{var C=t.getRegionModel(e.name);n.eventData={componentType:"geo",componentIndex:t.componentIndex,geoIndex:t.componentIndex,name:e.name,region:C&&C.option||{}}}(i.__regions||(i.__regions=[])).push(e),co(i,y,{hoverSilentOnTouch:!!t.get("selectedMode")}),l.add(i)}),this._updateController(t,e,i),mc(this,t,l,i,n),vc(t,l)},remove:function(){this._regionsGroup.removeAll(),this._backgroundGroup.removeAll(),this._controller.dispose(),this._mapName&&EC.removeGraphic(this._mapName,this.uid),this._mapName=null,this._controllerHost={}},_updateBackground:function(t){var e=t.map;this._mapName!==e&&d(EC.makeGraphic(e,this.uid),function(t){this._backgroundGroup.add(t)},this),this._mapName=e},_updateController:function(t,e,i){function n(){var e={type:"geoRoam",componentType:l};return e[l+"Id"]=t.id,e}var o=t.coordinateSystem,r=this._controller,s=this._controllerHost;s.zoomLimit=t.get("scaleLimit"),s.zoom=o.getZoom(),r.enable(t.get("roam")||!1);var l=t.mainType;r.off("pan").on("pan",function(t){this._mouseDownFlag=!1,dc(s,t.dx,t.dy),i.dispatchAction(a(n(),{dx:t.dx,dy:t.dy}))},this),r.off("zoom").on("zoom",function(t){if(this._mouseDownFlag=!1,fc(s,t.scale,t.originX,t.originY),i.dispatchAction(a(n(),{zoom:t.scale,originX:t.originX,originY:t.originY})),this._updateGroup){var e=this.group.scale;this._regionsGroup.traverse(function(t){"text"===t.type&&t.attr("scale",[1/e[0],1/e[1]])})}},this),r.setPointerChecker(function(e,n,a){return o.getViewRectAfterRoam().contain(n,a)&&!pc(e,i,t)})}};var BC="__seriesMapHighDown",VC="__seriesMapCallKey";Hs({type:"map",render:function(t,e,i,n){if(!n||"mapToggleSelect"!==n.type||n.from!==this.uid){var o=this.group;if(o.removeAll(),!t.getHostGeoModel()){if(n&&"geoRoam"===n.type&&"series"===n.componentType&&n.seriesId===t.id)(a=this._mapDraw)&&o.add(a.group);else if(t.needsDrawMap){var a=this._mapDraw||new yc(i,!0);o.add(a.group),a.draw(t,e,i,this,n),this._mapDraw=a}else this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null;t.get("showLegendSymbol")&&e.getComponent("legend")&&this._renderSymbols(t,e,i)}}},remove:function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null,this.group.removeAll()},dispose:function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null},_renderSymbols:function(t,e,i){var n=t.originalData,o=this.group;n.each(n.mapDimension("value"),function(e,i){if(!isNaN(e)){var r=n.getItemLayout(i);if(r&&r.point){var s=r.point,l=r.offset,u=new sM({style:{fill:t.getData().getVisual("color")},shape:{cx:s[0]+9*l,cy:s[1],r:3},silent:!0,z2:8+(l?0:NM+1)});if(!l){var h=t.mainSeries.getData(),c=n.getName(i),d=h.indexOfName(c),f=n.getItemModel(i),p=f.getModel("label"),g=f.getModel("emphasis.label"),m=h.getItemGraphicEl(d),y=A(t.getFormattedLabel(d,"normal"),c),x=A(t.getFormattedLabel(d,"emphasis"),y),_=m[BC],w=Math.random();if(!_){_=m[BC]={};var b=v(xc,!0),S=v(xc,!1);m.on("mouseover",b).on("mouseout",S).on("emphasis",b).on("normal",S)}m[VC]=w,a(_,{recordVersion:w,circle:u,labelModel:p,hoverLabelModel:g,emphasisText:x,normalText:y}),_c(_,!1)}o.add(u)}}})}}),Os({type:"geoRoam",event:"geoRoam",update:"updateTransform"},function(t,e){var i=t.componentType||"series";e.eachComponent({mainType:i,query:t},function(e){var n=e.coordinateSystem;if("geo"===n.type){var o=wc(n,t,e.get("scaleLimit"));e.setCenter&&e.setCenter(o.center),e.setZoom&&e.setZoom(o.zoom),"series"===i&&d(e.seriesGroup,function(t){t.setCenter(o.center),t.setZoom(o.zoom)})}})});var GC=Q;h(bc,Tw),Sc.prototype={constructor:Sc,type:"view",dimensions:["x","y"],setBoundingRect:function(t,e,i,n){return this._rect=new de(t,e,i,n),this._rect},getBoundingRect:function(){return this._rect},setViewRect:function(t,e,i,n){this.transformTo(t,e,i,n),this._viewRect=new de(t,e,i,n)},transformTo:function(t,e,i,n){var o=this.getBoundingRect(),a=this._rawTransformable;a.transform=o.calculateTransform(new de(t,e,i,n)),a.decomposeTransform(),this._updateTransform()},setCenter:function(t){t&&(this._center=t,this._updateCenterAndZoom())},setZoom:function(t){t=t||1;var e=this.zoomLimit;e&&(null!=e.max&&(t=Math.min(e.max,t)),null!=e.min&&(t=Math.max(e.min,t))),this._zoom=t,this._updateCenterAndZoom()},getDefaultCenter:function(){var t=this.getBoundingRect();return[t.x+t.width/2,t.y+t.height/2]},getCenter:function(){return this._center||this.getDefaultCenter()},getZoom:function(){return this._zoom||1},getRoamTransform:function(){return this._roamTransformable.getLocalTransform()},_updateCenterAndZoom:function(){var t=this._rawTransformable.getLocalTransform(),e=this._roamTransformable,i=this.getDefaultCenter(),n=this.getCenter(),o=this.getZoom();n=Q([],n,t),i=Q([],i,t),e.origin=n,e.position=[i[0]-n[0],i[1]-n[1]],e.scale=[o,o],this._updateTransform()},_updateTransform:function(){var t=this._roamTransformable,e=this._rawTransformable;e.parent=t,t.updateTransform(),e.updateTransform(),wt(this.transform||(this.transform=[]),e.transform||xt()),this._rawTransform=e.getLocalTransform(),this.invTransform=this.invTransform||[],Tt(this.invTransform,this.transform),this.decomposeTransform()},getViewRect:function(){return this._viewRect},getViewRectAfterRoam:function(){var t=this.getBoundingRect().clone();return t.applyTransform(this.transform),t},dataToPoint:function(t,e,i){var n=e?this._rawTransform:this.transform;return i=i||[],n?GC(i,t,n):G(i,t)},pointToData:function(t){var e=this.invTransform;return e?GC([],t,e):[t[0],t[1]]},convertToPixel:v(Mc,"dataToPoint"),convertFromPixel:v(Mc,"pointToData"),containPoint:function(t){return this.getViewRectAfterRoam().contain(t[0],t[1])}},h(Sc,Tw),Ic.prototype={constructor:Ic,type:"geo",dimensions:["lng","lat"],containCoord:function(t){for(var e=this.regions,i=0;ie&&(e=n.height)}this.height=e+1},getNodeById:function(t){if(this.getId()===t)return this;for(var e=0,i=this.children,n=i.length;e=0&&this.hostTree.data.setItemLayout(this.dataIndex,t,e)},getLayout:function(){return this.hostTree.data.getItemLayout(this.dataIndex)},getModel:function(t){if(!(this.dataIndex<0)){var e,i=this.hostTree,n=i.data.getItemModel(this.dataIndex),o=this.getLevelModel();return o||0!==this.children.length&&(0===this.children.length||!1!==this.isExpand)||(e=this.getLeavesModel()),n.getModel(t,(o||e||i.hostModel).getModel(t))}},getLevelModel:function(){return(this.hostTree.levelModels||[])[this.depth]},getLeavesModel:function(){return this.hostTree.leavesModel},setVisual:function(t,e){this.dataIndex>=0&&this.hostTree.data.setItemVisual(this.dataIndex,t,e)},getVisual:function(t,e){return this.hostTree.data.getItemVisual(this.dataIndex,t,e)},getRawIndex:function(){return this.hostTree.data.getRawIndex(this.dataIndex)},getId:function(){return this.hostTree.data.getId(this.dataIndex)},isAncestorOf:function(t){for(var e=t.parentNode;e;){if(e===this)return!0;e=e.parentNode}return!1},isDescendantOf:function(t){return t!==this&&t.isAncestorOf(this)}},Bc.prototype={constructor:Bc,type:"tree",eachNode:function(t,e,i){this.root.eachNode(t,e,i)},getNodeByDataIndex:function(t){var e=this.data.getRawIndex(t);return this._nodes[e]},getNodeByName:function(t){return this.root.getNodeByName(t)},update:function(){for(var t=this.data,e=this._nodes,i=0,n=e.length;ia&&(a=t.depth)});var r=t.expandAndCollapse&&t.initialTreeDepth>=0?t.initialTreeDepth:a;return o.root.eachNode("preorder",function(t){var e=t.hostTree.data.getRawDataItem(t.dataIndex);t.isExpand=e&&null!=e.collapsed?!e.collapsed:t.depth<=r}),o.data},getOrient:function(){var t=this.get("orient");return"horizontal"===t?t="LR":"vertical"===t&&(t="TB"),t},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t},formatTooltip:function(t){for(var e=this.getData().tree,i=e.root.children[0],n=e.getNodeByDataIndex(t),o=n.getValue(),a=n.name;n&&n!==i;)a=n.parentNode.name+"."+a,n=n.parentNode;return ea(a+(isNaN(o)||null==o?"":" : "+o))},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",left:"12%",top:"12%",right:"12%",bottom:"12%",layout:"orthogonal",roam:!1,nodeScaleRatio:.4,center:null,zoom:1,orient:"LR",symbol:"emptyCircle",symbolSize:7,expandAndCollapse:!0,initialTreeDepth:2,lineStyle:{color:"#ccc",width:1.5,curveness:.5},itemStyle:{color:"lightsteelblue",borderColor:"#c23531",borderWidth:1.5},label:{show:!0,color:"#555"},leaves:{label:{show:!0}},animationEasing:"linear",animationDuration:700,animationDurationUpdate:1e3}}),Hs({type:"tree",init:function(t,e){this._oldTree,this._mainGroup=new tb,this._controller=new nc(e.getZr()),this._controllerHost={target:this.group},this.group.add(this._mainGroup)},render:function(t,e,i,n){var o=t.getData(),a=t.layoutInfo,r=this._mainGroup,s=t.get("layout");"radial"===s?r.attr("position",[a.x+a.width/2,a.y+a.height/2]):r.attr("position",[a.x,a.y]),this._updateViewCoordSys(t),this._updateController(t,e,i);var l=this._data,u={expandAndCollapse:t.get("expandAndCollapse"),layout:s,orient:t.getOrient(),curvature:t.get("lineStyle.curveness"),symbolRotate:t.get("symbolRotate"),symbolOffset:t.get("symbolOffset"),hoverAnimation:t.get("hoverAnimation"),useNameLabel:!0,fadeIn:!0};o.diff(l).add(function(e){Qc(o,e)&&ed(o,e,null,r,t,u)}).update(function(e,i){var n=l.getItemGraphicEl(i);Qc(o,e)?ed(o,e,n,r,t,u):n&&id(l,i,n,r,t,u)}).remove(function(e){var i=l.getItemGraphicEl(e);i&&id(l,e,i,r,t,u)}).execute(),this._nodeScaleRatio=t.get("nodeScaleRatio"),this._updateNodeAndLinkScale(t),!0===u.expandAndCollapse&&o.eachItemGraphicEl(function(e,n){e.off("click").on("click",function(){i.dispatchAction({type:"treeExpandAndCollapse",seriesId:t.id,dataIndex:n})})}),this._data=o},_updateViewCoordSys:function(t){var e=t.getData(),i=[];e.each(function(t){var n=e.getItemLayout(t);!n||isNaN(n.x)||isNaN(n.y)||i.push([+n.x,+n.y])});var n=[],o=[];dn(i,n,o),o[0]-n[0]==0&&(o[0]+=1,n[0]-=1),o[1]-n[1]==0&&(o[1]+=1,n[1]-=1);var a=t.coordinateSystem=new Sc;a.zoomLimit=t.get("scaleLimit"),a.setBoundingRect(n[0],n[1],o[0]-n[0],o[1]-n[1]),a.setCenter(t.get("center")),a.setZoom(t.get("zoom")),this.group.attr({position:a.position,scale:a.scale}),this._viewCoordSys=a},_updateController:function(t,e,i){var n=this._controller,o=this._controllerHost,a=this.group;n.setPointerChecker(function(e,n,o){var r=a.getBoundingRect();return r.applyTransform(a.transform),r.contain(n,o)&&!pc(e,i,t)}),n.enable(t.get("roam")),o.zoomLimit=t.get("scaleLimit"),o.zoom=t.coordinateSystem.getZoom(),n.off("pan").off("zoom").on("pan",function(e){dc(o,e.dx,e.dy),i.dispatchAction({seriesId:t.id,type:"treeRoam",dx:e.dx,dy:e.dy})},this).on("zoom",function(e){fc(o,e.scale,e.originX,e.originY),i.dispatchAction({seriesId:t.id,type:"treeRoam",zoom:e.scale,originX:e.originX,originY:e.originY}),this._updateNodeAndLinkScale(t)},this)},_updateNodeAndLinkScale:function(t){var e=t.getData(),i=this._getNodeGlobalScale(t),n=[i,i];e.eachItemGraphicEl(function(t,e){t.attr("scale",n)})},_getNodeGlobalScale:function(t){var e=t.coordinateSystem;if("view"!==e.type)return 1;var i=this._nodeScaleRatio,n=e.scale,o=n&&n[0]||1;return((e.getZoom()-1)*i+1)/o},dispose:function(){this._controller&&this._controller.dispose(),this._controllerHost={}},remove:function(){this._mainGroup.removeAll(),this._data=null}}),Os({type:"treeExpandAndCollapse",event:"treeExpandAndCollapse",update:"update"},function(t,e){e.eachComponent({mainType:"series",subType:"tree",query:t},function(e){var i=t.dataIndex,n=e.getData().tree.getNodeByDataIndex(i);n.isExpand=!n.isExpand})}),Os({type:"treeRoam",event:"treeRoam",update:"none"},function(t,e){e.eachComponent({mainType:"series",subType:"tree",query:t},function(e){var i=wc(e.coordinateSystem,t);e.setCenter&&e.setCenter(i.center),e.setZoom&&e.setZoom(i.zoom)})});zs(AD("tree","circle")),Rs(function(t,e){t.eachSeriesByType("tree",function(t){rd(t,e)})}),qI.extend({type:"series.treemap",layoutMode:"box",dependencies:["grid","polar"],_viewRoot:null,defaultOption:{progressive:0,hoverLayerThreshold:1/0,left:"center",top:"middle",right:null,bottom:null,width:"80%",height:"80%",sort:!0,clipWindow:"origin",squareRatio:.5*(1+Math.sqrt(5)),leafDepth:null,drillDownIcon:"▶",zoomToNodeRatio:.1024,roam:!0,nodeClick:"zoomToNode",animation:!0,animationDurationUpdate:900,animationEasing:"quinticInOut",breadcrumb:{show:!0,height:22,left:"center",top:"bottom",emptyItemWidth:25,itemStyle:{color:"rgba(0,0,0,0.7)",borderColor:"rgba(255,255,255,0.7)",borderWidth:1,shadowColor:"rgba(150,150,150,1)",shadowBlur:3,shadowOffsetX:0,shadowOffsetY:0,textStyle:{color:"#fff"}},emphasis:{textStyle:{}}},label:{show:!0,distance:0,padding:5,position:"inside",color:"#fff",ellipsis:!0},upperLabel:{show:!1,position:[0,"50%"],height:20,color:"#fff",ellipsis:!0,verticalAlign:"middle"},itemStyle:{color:null,colorAlpha:null,colorSaturation:null,borderWidth:0,gapWidth:0,borderColor:"#fff",borderColorSaturation:null},emphasis:{upperLabel:{show:!0,position:[0,"50%"],color:"#fff",ellipsis:!0,verticalAlign:"middle"}},visualDimension:0,visualMin:null,visualMax:null,color:[],colorAlpha:null,colorSaturation:null,colorMappingBy:"index",visibleMin:10,childrenVisibleMin:null,levels:[]},getInitialData:function(t,e){var i={name:t.name,children:t.data};cd(i);var n=t.levels||[];n=t.levels=dd(n,e);var o={};return o.levels=n,Bc.createTree(i,this,o).data},optionUpdated:function(){this.resetViewRoot()},formatTooltip:function(t){var e=this.getData(),i=this.getRawValue(t),n=Qo(y(i)?i[0]:i);return ea(e.getName(t)+": "+n)},getDataParams:function(t){var e=qI.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(t);return e.treePathInfo=hd(i,this),e},setLayoutInfo:function(t){this.layoutInfo=this.layoutInfo||{},a(this.layoutInfo,t)},mapIdToIndex:function(t){var e=this._idIndexMap;e||(e=this._idIndexMap=R(),this._idIndexMapCount=0);var i=e.get(t);return null==i&&e.set(t,i=this._idIndexMapCount++),i},getViewRoot:function(){return this._viewRoot},resetViewRoot:function(t){t?this._viewRoot=t:t=this._viewRoot;var e=this.getRawData().tree.root;t&&(t===e||e.contains(t))||(this._viewRoot=e)}});var XC=5;fd.prototype={constructor:fd,render:function(t,e,i,n){var o=t.getModel("breadcrumb"),a=this.group;if(a.removeAll(),o.get("show")&&i){var r=o.getModel("itemStyle"),s=r.getModel("textStyle"),l={pos:{left:o.get("left"),right:o.get("right"),top:o.get("top"),bottom:o.get("bottom")},box:{width:e.getWidth(),height:e.getHeight()},emptyItemWidth:o.get("emptyItemWidth"),totalWidth:0,renderList:[]};this._prepare(i,l,s),this._renderContent(t,l,r,s,n),ca(a,l.pos,l.box)}},_prepare:function(t,e,i){for(var n=t;n;n=n.parentNode){var o=n.getModel().get("name"),a=i.getTextRect(o),r=Math.max(a.width+16,e.emptyItemWidth);e.totalWidth+=r+8,e.renderList.push({node:n,text:o,width:r})}},_renderContent:function(t,e,i,n,o){for(var a=0,s=e.emptyItemWidth,l=t.get("breadcrumb.height"),u=ua(e.pos,e.box),h=e.totalWidth,c=e.renderList,d=c.length-1;d>=0;d--){var f=c[d],p=f.node,g=f.width,m=f.text;h>u.width&&(h-=g-s,g=s,m=null);var y=new pM({shape:{points:pd(a,0,g,l,d===c.length-1,0===d)},style:r(i.getItemStyle(),{lineJoin:"bevel",text:m,textFill:n.getTextColor(),textFont:n.getFont()}),z:10,onclick:v(o,p)});this.group.add(y),gd(y,t,p),a+=g+8}},remove:function(){this.group.removeAll()}};var jC=m,YC=tb,qC=yM,KC=d,$C=["label"],JC=["emphasis","label"],QC=["upperLabel"],tL=["emphasis","upperLabel"],eL=10,iL=1,nL=2,oL=Qb([["fill","color"],["stroke","strokeColor"],["lineWidth","strokeWidth"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),aL=function(t){var e=oL(t);return e.stroke=e.fill=e.lineWidth=null,e};Hs({type:"treemap",init:function(t,e){this._containerGroup,this._storage={nodeGroup:[],background:[],content:[]},this._oldTree,this._breadcrumb,this._controller,this._state="ready"},render:function(t,e,i,n){if(!(l(e.findComponents({mainType:"series",subType:"treemap",query:n}),t)<0)){this.seriesModel=t,this.api=i,this.ecModel=e;var o=sd(n,["treemapZoomToNode","treemapRootToNode"],t),a=n&&n.type,r=t.layoutInfo,s=!this._oldTree,u=this._storage,h="treemapRootToNode"===a&&o&&u?{rootNodeGroup:u.nodeGroup[o.node.getRawIndex()],direction:n.direction}:null,c=this._giveContainerGroup(r),d=this._doRender(c,t,h);s||a&&"treemapZoomToNode"!==a&&"treemapRootToNode"!==a?d.renderFinally():this._doAnimation(c,d,t,h),this._resetController(i),this._renderBreadcrumb(t,i,o)}},_giveContainerGroup:function(t){var e=this._containerGroup;return e||(e=this._containerGroup=new YC,this._initEvents(e),this.group.add(e)),e.attr("position",[t.x,t.y]),e},_doRender:function(t,e,i){function n(t,e,i,o,a){function r(t){return t.getId()}function s(r,s){var l=null!=r?t[r]:null,u=null!=s?e[s]:null,c=h(l,u,i,a);c&&n(l&&l.viewChildren||[],u&&u.viewChildren||[],c,o,a+1)}o?(e=t,KC(t,function(t,e){!t.isRemoved()&&s(e,e)})):new Us(e,t,r,r).add(s).update(s).remove(v(s,null)).execute()}var o=e.getData().tree,a=this._oldTree,r={nodeGroup:[],background:[],content:[]},s={nodeGroup:[],background:[],content:[]},l=this._storage,u=[],h=v(vd,e,s,l,i,r,u);n(o.root?[o.root]:[],a&&a.root?[a.root]:[],t,o===a||!a,0);var c=function(t){var e={nodeGroup:[],background:[],content:[]};return t&&KC(t,function(t,i){var n=e[i];KC(t,function(t){t&&(n.push(t),t.__tmWillDelete=1)})}),e}(l);return this._oldTree=o,this._storage=s,{lastsForAnimation:r,willDeleteEls:c,renderFinally:function(){KC(c,function(t){KC(t,function(t){t.parent&&t.parent.remove(t)})}),KC(u,function(t){t.invisible=!0,t.dirty()})}}},_doAnimation:function(t,e,i,n){if(i.get("animation")){var o=i.get("animationDurationUpdate"),r=i.get("animationEasing"),s=md();KC(e.willDeleteEls,function(t,e){KC(t,function(t,i){if(!t.invisible){var a,l=t.parent;if(n&&"drillDown"===n.direction)a=l===n.rootNodeGroup?{shape:{x:0,y:0,width:l.__tmNodeWidth,height:l.__tmNodeHeight},style:{opacity:0}}:{style:{opacity:0}};else{var u=0,h=0;l.__tmWillDelete||(u=l.__tmNodeWidth/2,h=l.__tmNodeHeight/2),a="nodeGroup"===e?{position:[u,h],style:{opacity:0}}:{shape:{x:u,y:h,width:0,height:0},style:{opacity:0}}}a&&s.add(t,a,o,r)}})}),KC(this._storage,function(t,i){KC(t,function(t,n){var l=e.lastsForAnimation[i][n],u={};l&&("nodeGroup"===i?l.old&&(u.position=t.position.slice(),t.attr("position",l.old)):(l.old&&(u.shape=a({},t.shape),t.setShape(l.old)),l.fadein?(t.setStyle("opacity",0),u.style={opacity:1}):1!==t.style.opacity&&(u.style={opacity:1})),s.add(t,u,o,r))})},this),this._state="animating",s.done(jC(function(){this._state="ready",e.renderFinally()},this)).start()}},_resetController:function(t){var e=this._controller;e||((e=this._controller=new nc(t.getZr())).enable(this.seriesModel.get("roam")),e.on("pan",jC(this._onPan,this)),e.on("zoom",jC(this._onZoom,this)));var i=new de(0,0,t.getWidth(),t.getHeight());e.setPointerChecker(function(t,e,n){return i.contain(e,n)})},_clearController:function(){var t=this._controller;t&&(t.dispose(),t=null)},_onPan:function(t){if("animating"!==this._state&&(Math.abs(t.dx)>3||Math.abs(t.dy)>3)){var e=this.seriesModel.getData().tree.root;if(!e)return;var i=e.getLayout();if(!i)return;this.api.dispatchAction({type:"treemapMove",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:i.x+t.dx,y:i.y+t.dy,width:i.width,height:i.height}})}},_onZoom:function(t){var e=t.originX,i=t.originY;if("animating"!==this._state){var n=this.seriesModel.getData().tree.root;if(!n)return;var o=n.getLayout();if(!o)return;var a=new de(o.x,o.y,o.width,o.height),r=this.seriesModel.layoutInfo;e-=r.x,i-=r.y;var s=xt();St(s,s,[-e,-i]),It(s,s,[t.scale,t.scale]),St(s,s,[e,i]),a.applyTransform(s),this.api.dispatchAction({type:"treemapRender",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:a.x,y:a.y,width:a.width,height:a.height}})}},_initEvents:function(t){t.on("click",function(t){if("ready"===this._state){var e=this.seriesModel.get("nodeClick",!0);if(e){var i=this.findTarget(t.offsetX,t.offsetY);if(i){var n=i.node;if(n.getLayout().isLeafRoot)this._rootToNode(i);else if("zoomToNode"===e)this._zoomToNode(i);else if("link"===e){var o=n.hostTree.data.getItemModel(n.dataIndex),a=o.get("link",!0),r=o.get("target",!0)||"blank";a&&window.open(a,r)}}}}},this)},_renderBreadcrumb:function(t,e,i){i||(i=null!=t.get("leafDepth",!0)?{node:t.getViewRoot()}:this.findTarget(e.getWidth()/2,e.getHeight()/2))||(i={node:t.getData().tree.root}),(this._breadcrumb||(this._breadcrumb=new fd(this.group))).render(t,e,i.node,jC(function(e){"animating"!==this._state&&(ud(t.getViewRoot(),e)?this._rootToNode({node:e}):this._zoomToNode({node:e}))},this))},remove:function(){this._clearController(),this._containerGroup&&this._containerGroup.removeAll(),this._storage={nodeGroup:[],background:[],content:[]},this._state="ready",this._breadcrumb&&this._breadcrumb.remove()},dispose:function(){this._clearController()},_zoomToNode:function(t){this.api.dispatchAction({type:"treemapZoomToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},_rootToNode:function(t){this.api.dispatchAction({type:"treemapRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},findTarget:function(t,e){var i;return this.seriesModel.getViewRoot().eachNode({attr:"viewChildren",order:"preorder"},function(n){var o=this._storage.background[n.getRawIndex()];if(o){var a=o.transformCoordToLocal(t,e),r=o.shape;if(!(r.x<=a[0]&&a[0]<=r.x+r.width&&r.y<=a[1]&&a[1]<=r.y+r.height))return!1;i={node:n,offsetX:a[0],offsetY:a[1]}}},this),i}});for(var rL=["treemapZoomToNode","treemapRender","treemapMove"],sL=0;sL=0&&t.call(e,i[o],o)},AL.eachEdge=function(t,e){for(var i=this.edges,n=i.length,o=0;o=0&&i[o].node1.dataIndex>=0&&i[o].node2.dataIndex>=0&&t.call(e,i[o],o)},AL.breadthFirstTraverse=function(t,e,i,n){if($d.isInstance(e)||(e=this._nodesMap[Kd(e)]),e){for(var o="out"===i?"outEdges":"in"===i?"inEdges":"edges",a=0;a=0&&i.node2.dataIndex>=0});for(var o=0,a=n.length;o=0&&this[t][e].setItemVisual(this.dataIndex,i,n)},getVisual:function(i,n){return this[t][e].getItemVisual(this.dataIndex,i,n)},setLayout:function(i,n){this.dataIndex>=0&&this[t][e].setItemLayout(this.dataIndex,i,n)},getLayout:function(){return this[t][e].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[t][e].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[t][e].getRawIndex(this.dataIndex)}}};h($d,DL("hostGraph","data")),h(Jd,DL("hostGraph","edgeData")),TL.Node=$d,TL.Edge=Jd,ji($d),ji(Jd);var CL=function(t,e,i,n,o){for(var a=new TL(n),r=0;r "+f)),h++)}var p,g=i.get("coordinateSystem");if("cartesian2d"===g||"polar"===g)p=gl(t,i);else{var m=Ga.get(g),v=m&&"view"!==m.type?m.dimensions||[]:[];l(v,"value")<0&&v.concat(["value"]);var y=wA(t,{coordDimensions:v});(p=new yA(y,i)).initData(t)}var x=new yA(["value"],i);return x.initData(u,s),o&&o(p,x),Lc({mainData:p,struct:a,structAttr:"graph",datas:{node:p,edge:x},datasAttr:{node:"data",edge:"edgeData"}}),a.update(),a},LL=Ws({type:"series.graph",init:function(t){LL.superApply(this,"init",arguments),this.legendDataProvider=function(){return this._categoriesData},this.fillDataTextStyle(t.edges||t.links),this._updateCategoriesData()},mergeOption:function(t){LL.superApply(this,"mergeOption",arguments),this.fillDataTextStyle(t.edges||t.links),this._updateCategoriesData()},mergeDefaultAndTheme:function(t){LL.superApply(this,"mergeDefaultAndTheme",arguments),Ci(t,["edgeLabel"],["show"])},getInitialData:function(t,e){var i=t.edges||t.links||[],n=t.data||t.nodes||[],o=this;if(n&&i)return CL(n,i,this,!0,function(t,i){function n(t){return(t=this.parsePath(t))&&"label"===t[0]?r:t&&"emphasis"===t[0]&&"label"===t[1]?l:this.parentModel}t.wrapMethod("getItemModel",function(t){var e=o._categoriesModels[t.getShallow("category")];return e&&(e.parentModel=t.parentModel,t.parentModel=e),t});var a=o.getModel("edgeLabel"),r=new Po({label:a.option},a.parentModel,e),s=o.getModel("emphasis.edgeLabel"),l=new Po({emphasis:{label:s.option}},s.parentModel,e);i.wrapMethod("getItemModel",function(t){return t.customizeGetParent(n),t})}).data},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},getCategoriesData:function(){return this._categoriesData},formatTooltip:function(t,e,i){if("edge"===i){var n=this.getData(),o=this.getDataParams(t,i),a=n.graph.getEdgeByIndex(t),r=n.getName(a.node1.dataIndex),s=n.getName(a.node2.dataIndex),l=[];return null!=r&&l.push(r),null!=s&&l.push(s),l=ea(l.join(" > ")),o.value&&(l+=" : "+ea(o.value)),l}return LL.superApply(this,"formatTooltip",arguments)},_updateCategoriesData:function(){var t=f(this.option.categories||[],function(t){return null!=t.value?t:a({value:0},t)}),e=new yA(["value"],this);e.initData(t),this._categoriesData=e,this._categoriesModels=e.mapArray(function(t){return e.getItemModel(t,!0)})},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t},isAnimationEnabled:function(){return LL.superCall(this,"isAnimationEnabled")&&!("force"===this.get("layout")&&this.get("force.layoutAnimation"))},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",legendHoverLink:!0,hoverAnimation:!0,layout:null,focusNodeAdjacency:!1,circular:{rotateLabel:!1},force:{initLayout:null,repulsion:[0,50],gravity:.1,edgeLength:30,layoutAnimation:!0},left:"center",top:"center",symbol:"circle",symbolSize:10,edgeSymbol:["none","none"],edgeSymbolSize:10,edgeLabel:{position:"middle"},draggable:!1,roam:!1,center:null,zoom:1,nodeScaleRatio:.6,label:{show:!1,formatter:"{b}"},itemStyle:{},lineStyle:{color:"#aaa",width:1,curveness:0,opacity:.5},emphasis:{label:{show:!0}}}}),kL=_M.prototype,PL=bM.prototype,NL=Zn({type:"ec-line",style:{stroke:"#000",fill:null},shape:{x1:0,y1:0,x2:0,y2:0,percent:1,cpx1:null,cpy1:null},buildPath:function(t,e){(Qd(e)?kL:PL).buildPath(t,e)},pointAt:function(t){return Qd(this.shape)?kL.pointAt.call(this,t):PL.pointAt.call(this,t)},tangentAt:function(t){var e=this.shape,i=Qd(e)?[e.x2-e.x1,e.y2-e.y1]:PL.tangentAt.call(this,t);return q(i,i)}}),OL=["fromSymbol","toSymbol"],EL=af.prototype;EL.beforeUpdate=function(){var t=this,e=t.childOfName("fromSymbol"),i=t.childOfName("toSymbol"),n=t.childOfName("label");if(e||i||!n.ignore){for(var o=1,a=this.parent;a;)a.scale&&(o/=a.scale[0]),a=a.parent;var r=t.childOfName("line");if(this.__dirty||r.__dirty){var s=r.shape.percent,l=r.pointAt(0),u=r.pointAt(s),h=U([],u,l);if(q(h,h),e&&(e.attr("position",l),c=r.tangentAt(0),e.attr("rotation",Math.PI/2-Math.atan2(c[1],c[0])),e.attr("scale",[o*s,o*s])),i){i.attr("position",u);var c=r.tangentAt(1);i.attr("rotation",-Math.PI/2-Math.atan2(c[1],c[0])),i.attr("scale",[o*s,o*s])}if(!n.ignore){n.attr("position",u);var d,f,p,g=5*o;if("end"===n.__position)d=[h[0]*g+u[0],h[1]*g+u[1]],f=h[0]>.8?"left":h[0]<-.8?"right":"center",p=h[1]>.8?"top":h[1]<-.8?"bottom":"middle";else if("middle"===n.__position){var m=s/2,v=[(c=r.tangentAt(m))[1],-c[0]],y=r.pointAt(m);v[1]>0&&(v[0]=-v[0],v[1]=-v[1]),d=[y[0]+v[0]*g,y[1]+v[1]*g],f="center",p="bottom";var x=-Math.atan2(c[1],c[0]);u[0].8?"right":h[0]<-.8?"left":"center",p=h[1]>.8?"bottom":h[1]<-.8?"top":"middle";n.attr({style:{textVerticalAlign:n.__verticalAlign||p,textAlign:n.__textAlign||f},position:d,scale:[o,o]})}}}},EL._createLine=function(t,e,i){var n=t.hostModel,o=nf(t.getItemLayout(e));o.shape.percent=0,Io(o,{shape:{percent:1}},n,e),this.add(o);var a=new rM({name:"label",lineLabelOriginalOpacity:1});this.add(a),d(OL,function(i){var n=ef(i,t,e);this.add(n),this[tf(i)]=t.getItemVisual(e,i)},this),this._updateCommonStl(t,e,i)},EL.updateData=function(t,e,i){var n=t.hostModel,o=this.childOfName("line"),a=t.getItemLayout(e),r={shape:{}};of(r.shape,a),Mo(o,r,n,e),d(OL,function(i){var n=t.getItemVisual(e,i),o=tf(i);if(this[o]!==n){this.remove(this.childOfName(i));var a=ef(i,t,e);this.add(a)}this[o]=n},this),this._updateCommonStl(t,e,i)},EL._updateCommonStl=function(t,e,i){var n=t.hostModel,o=this.childOfName("line"),a=i&&i.lineStyle,s=i&&i.hoverLineStyle,l=i&&i.labelModel,u=i&&i.hoverLabelModel;if(!i||t.hasItemOption){var h=t.getItemModel(e);a=h.getModel("lineStyle").getLineStyle(),s=h.getModel("emphasis.lineStyle").getLineStyle(),l=h.getModel("label"),u=h.getModel("emphasis.label")}var c=t.getItemVisual(e,"color"),f=D(t.getItemVisual(e,"opacity"),a.opacity,1);o.useStyle(r({strokeNoScale:!0,fill:"none",stroke:c,opacity:f},a)),o.hoverStyle=s,d(OL,function(t){var e=this.childOfName(t);e&&(e.setColor(c),e.setStyle({opacity:f}))},this);var p,g,m=l.getShallow("show"),v=u.getShallow("show"),y=this.childOfName("label");if((m||v)&&(p=c||"#000",null==(g=n.getFormattedLabel(e,"normal",t.dataType)))){var x=n.getRawValue(e);g=null==x?t.getName(e):isFinite(x)?Vo(x):x}var _=m?g:null,w=v?A(n.getFormattedLabel(e,"emphasis",t.dataType),g):null,b=y.style;null==_&&null==w||(go(y.style,l,{text:_},{autoColor:p}),y.__textAlign=b.textAlign,y.__verticalAlign=b.textVerticalAlign,y.__position=l.get("position")||"middle"),y.hoverStyle=null!=w?{text:w,textFill:u.getTextColor(!0),fontStyle:u.getShallow("fontStyle"),fontWeight:u.getShallow("fontWeight"),fontSize:u.getShallow("fontSize"),fontFamily:u.getShallow("fontFamily")}:{text:null},y.ignore=!m&&!v,co(this)},EL.highlight=function(){this.trigger("emphasis")},EL.downplay=function(){this.trigger("normal")},EL.updateLayout=function(t,e){this.setLinePoints(t.getItemLayout(e))},EL.setLinePoints=function(t){var e=this.childOfName("line");of(e.shape,t),e.dirty()},u(af,tb);var RL=rf.prototype;RL.isPersistent=function(){return!0},RL.updateData=function(t){var e=this,i=e.group,n=e._lineData;e._lineData=t,n||i.removeAll();var o=uf(t);t.diff(n).add(function(i){sf(e,t,i,o)}).update(function(i,a){lf(e,n,t,a,i,o)}).remove(function(t){i.remove(n.getItemGraphicEl(t))}).execute()},RL.updateLayout=function(){var t=this._lineData;t&&t.eachItemGraphicEl(function(e,i){e.updateLayout(t,i)},this)},RL.incrementalPrepareUpdate=function(t){this._seriesScope=uf(t),this._lineData=null,this.group.removeAll()},RL.incrementalUpdate=function(t,e){for(var i=t.start;i=o/3?1:2),l=e.y-n(r)*a*(a>=o/3?1:2);r=e.angle-Math.PI/2,t.moveTo(s,l),t.lineTo(e.x+i(r)*a,e.y+n(r)*a),t.lineTo(e.x+i(e.angle)*o,e.y+n(e.angle)*o),t.lineTo(e.x-i(r)*a,e.y-n(r)*a),t.lineTo(s,l)}}),qL=2*Math.PI,KL=(Tr.extend({type:"gauge",render:function(t,e,i){this.group.removeAll();var n=t.get("axisLine.lineStyle.color"),o=bf(t,i);this._renderMain(t,e,i,n,o)},dispose:function(){},_renderMain:function(t,e,i,n,o){for(var a=this.group,r=t.getModel("axisLine").getModel("lineStyle"),s=t.get("clockwise"),l=-t.get("startAngle")/180*Math.PI,u=-t.get("endAngle")/180*Math.PI,h=(u-l)%qL,c=l,d=r.get("width"),f=0;f=t&&(0===e?0:n[e-1][0]).4?"bottom":"middle",textAlign:A<-.4?"left":A>.4?"right":"center"},{autoColor:P}),silent:!0}))}if(g.get("show")&&T!==v){for(var N=0;N<=y;N++){var A=Math.cos(w),D=Math.sin(w),O=new _M({shape:{x1:A*c+u,y1:D*c+h,x2:A*(c-_)+u,y2:D*(c-_)+h},silent:!0,style:I});"auto"===I.stroke&&O.setStyle({stroke:n((T+N/y)/v)}),l.add(O),w+=S}w-=S}else w+=b}},_renderPointer:function(t,e,i,n,o,a,r,s){var l=this.group,u=this._data;if(t.get("pointer.show")){var h=[+t.get("min"),+t.get("max")],c=[a,r],d=t.getData(),f=d.mapDimension("value");d.diff(u).add(function(e){var i=new YL({shape:{angle:a}});Io(i,{shape:{angle:zo(d.get(f,e),h,c,!0)}},t),l.add(i),d.setItemGraphicEl(e,i)}).update(function(e,i){var n=u.getItemGraphicEl(i);Mo(n,{shape:{angle:zo(d.get(f,e),h,c,!0)}},t),l.add(n),d.setItemGraphicEl(e,n)}).remove(function(t){var e=u.getItemGraphicEl(t);l.remove(e)}).execute(),d.eachItemGraphicEl(function(t,e){var i=d.getItemModel(e),a=i.getModel("pointer");t.setShape({x:o.cx,y:o.cy,width:Bo(a.get("width"),o.r),r:Bo(a.get("length"),o.r)}),t.useStyle(i.getModel("itemStyle").getItemStyle()),"auto"===t.style.fill&&t.setStyle("fill",n(zo(d.get(f,e),h,[0,1],!0))),co(t,i.getModel("emphasis.itemStyle").getItemStyle())}),this._data=d}else u&&u.eachItemGraphicEl(function(t){l.remove(t)})},_renderTitle:function(t,e,i,n,o){var a=t.getData(),r=a.mapDimension("value"),s=t.getModel("title");if(s.get("show")){var l=s.get("offsetCenter"),u=o.cx+Bo(l[0],o.r),h=o.cy+Bo(l[1],o.r),c=+t.get("min"),d=+t.get("max"),f=n(zo(t.getData().get(r,0),[c,d],[0,1],!0));this.group.add(new rM({silent:!0,style:go({},s,{x:u,y:h,text:a.getName(0),textAlign:"center",textVerticalAlign:"middle"},{autoColor:f,forceRich:!0})}))}},_renderDetail:function(t,e,i,n,o){var a=t.getModel("detail"),r=+t.get("min"),s=+t.get("max");if(a.get("show")){var l=a.get("offsetCenter"),u=o.cx+Bo(l[0],o.r),h=o.cy+Bo(l[1],o.r),c=Bo(a.get("width"),o.r),d=Bo(a.get("height"),o.r),f=t.getData(),p=f.get(f.mapDimension("value"),0),g=n(zo(p,[r,s],[0,1],!0));this.group.add(new rM({silent:!0,style:go({},a,{x:u,y:h,text:Sf(p,a.get("formatter")),textWidth:isNaN(c)?null:c,textHeight:isNaN(d)?null:d,textAlign:"center",textVerticalAlign:"middle"},{autoColor:g,forceRich:!0})}))}}}),Ws({type:"series.funnel",init:function(t){KL.superApply(this,"init",arguments),this.legendDataProvider=function(){return this.getRawData()},this._defaultLabelLine(t)},getInitialData:function(t,e){return aC(this,["value"])},_defaultLabelLine:function(t){Ci(t,"labelLine",["show"]);var e=t.labelLine,i=t.emphasis.labelLine;e.show=e.show&&t.label.show,i.show=i.show&&t.emphasis.label.show},getDataParams:function(t){var e=this.getData(),i=KL.superCall(this,"getDataParams",t),n=e.mapDimension("value"),o=e.getSum(n);return i.percent=o?+(e.get(n,t)/o*100).toFixed(2):0,i.$vars.push("percent"),i},defaultOption:{zlevel:0,z:2,legendHoverLink:!0,left:80,top:60,right:80,bottom:60,minSize:"0%",maxSize:"100%",sort:"descending",gap:0,funnelAlign:"center",label:{show:!0,position:"outer"},labelLine:{show:!0,length:20,lineStyle:{width:1,type:"solid"}},itemStyle:{borderColor:"#fff",borderWidth:1},emphasis:{label:{show:!0}}}})),$L=Mf.prototype,JL=["itemStyle","opacity"];$L.updateData=function(t,e,i){var n=this.childAt(0),o=t.hostModel,a=t.getItemModel(e),s=t.getItemLayout(e),l=t.getItemModel(e).get(JL);l=null==l?1:l,n.useStyle({}),i?(n.setShape({points:s.points}),n.setStyle({opacity:0}),Io(n,{style:{opacity:l}},o,e)):Mo(n,{style:{opacity:l},shape:{points:s.points}},o,e);var u=a.getModel("itemStyle"),h=t.getItemVisual(e,"color");n.setStyle(r({lineJoin:"round",fill:h},u.getItemStyle(["opacity"]))),n.hoverStyle=u.getModel("emphasis").getItemStyle(),this._updateLabel(t,e),co(this)},$L._updateLabel=function(t,e){var i=this.childAt(1),n=this.childAt(2),o=t.hostModel,a=t.getItemModel(e),r=t.getItemLayout(e).label,s=t.getItemVisual(e,"color");Mo(i,{shape:{points:r.linePoints||r.linePoints}},o,e),Mo(n,{style:{x:r.x,y:r.y}},o,e),n.attr({rotation:r.rotation,origin:[r.x,r.y],z2:10});var l=a.getModel("label"),u=a.getModel("emphasis.label"),h=a.getModel("labelLine"),c=a.getModel("emphasis.labelLine"),s=t.getItemVisual(e,"color");po(n.style,n.hoverStyle={},l,u,{labelFetcher:t.hostModel,labelDataIndex:e,defaultText:t.getName(e),autoColor:s,useInsideStyle:!!r.inside},{textAlign:r.textAlign,textVerticalAlign:r.verticalAlign}),n.ignore=n.normalIgnore=!l.get("show"),n.hoverIgnore=!u.get("show"),i.ignore=i.normalIgnore=!h.get("show"),i.hoverIgnore=!c.get("show"),i.setStyle({stroke:s}),i.setStyle(h.getModel("lineStyle").getLineStyle()),i.hoverStyle=c.getModel("lineStyle").getLineStyle()},u(Mf,tb);Tr.extend({type:"funnel",render:function(t,e,i){var n=t.getData(),o=this._data,a=this.group;n.diff(o).add(function(t){var e=new Mf(n,t);n.setItemGraphicEl(t,e),a.add(e)}).update(function(t,e){var i=o.getItemGraphicEl(e);i.updateData(n,t),a.add(i),n.setItemGraphicEl(t,i)}).remove(function(t){var e=o.getItemGraphicEl(t);a.remove(e)}).execute(),this._data=n},remove:function(){this.group.removeAll(),this._data=null},dispose:function(){}});zs(hC("funnel")),Rs(function(t,e,i){t.eachSeriesByType("funnel",function(t){var i=t.getData(),n=i.mapDimension("value"),o=t.get("sort"),a=If(t,e),r=Tf(i,o),s=[Bo(t.get("minSize"),a.width),Bo(t.get("maxSize"),a.width)],l=i.getDataExtent(n),u=t.get("min"),h=t.get("max");null==u&&(u=Math.min(l[0],0)),null==h&&(h=l[1]);var c=t.get("funnelAlign"),d=t.get("gap"),f=(a.height-d*(i.count()-1))/i.count(),p=a.y,g=function(t,e){var o,r=zo(i.get(n,t)||0,[u,h],s,!0);switch(c){case"left":o=a.x;break;case"center":o=a.x+(a.width-r)/2;break;case"right":o=a.x+a.width-r}return[[o,e],[o+r,e]]};"ascending"===o&&(f=-f,d=-d,p+=a.height,r=r.reverse());for(var m=0;ma&&(e[1-n]=e[n]+h.sign*a),e},ek=d,ik=Math.min,nk=Math.max,ok=Math.floor,ak=Math.ceil,rk=Vo,sk=Math.PI;Pf.prototype={type:"parallel",constructor:Pf,_init:function(t,e,i){var n=t.dimensions,o=t.parallelAxisIndex;ek(n,function(t,i){var n=o[i],a=e.getComponent("parallelAxis",n),r=this._axesMap.set(t,new QL(t,Wl(a),[0,0],a.get("type"),n)),s="category"===r.type;r.onBand=s&&a.get("boundaryGap"),r.inverse=a.get("inverse"),a.axis=r,r.model=a,r.coordinateSystem=a.coordinateSystem=this},this)},update:function(t,e){this._updateAxesFromSeries(this._model,t)},containPoint:function(t){var e=this._makeLayoutInfo(),i=e.axisBase,n=e.layoutBase,o=e.pixelDimIndex,a=t[1-o],r=t[o];return a>=i&&a<=i+e.axisLength&&r>=n&&r<=n+e.layoutLength},getModel:function(){return this._model},_updateAxesFromSeries:function(t,e){e.eachSeries(function(i){if(t.contains(i,e)){var n=i.getData();ek(this.dimensions,function(t){var e=this._axesMap.get(t);e.scale.unionExtentFromData(n,n.mapDimension(t)),Fl(e.scale,e.model)},this)}},this)},resize:function(t,e){this._rect=ha(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()}),this._layoutAxes()},getRect:function(){return this._rect},_makeLayoutInfo:function(){var t,e=this._model,i=this._rect,n=["x","y"],o=["width","height"],a=e.get("layout"),r="horizontal"===a?0:1,s=i[o[r]],l=[0,s],u=this.dimensions.length,h=Nf(e.get("axisExpandWidth"),l),c=Nf(e.get("axisExpandCount")||0,[0,u]),d=e.get("axisExpandable")&&u>3&&u>c&&c>1&&h>0&&s>0,f=e.get("axisExpandWindow");f?(t=Nf(f[1]-f[0],l),f[1]=f[0]+t):(t=Nf(h*(c-1),l),(f=[h*(e.get("axisExpandCenter")||ok(u/2))-t/2])[1]=f[0]+t);var p=(s-t)/(u-c);p<3&&(p=0);var g=[ok(rk(f[0]/h,1))+1,ak(rk(f[1]/h,1))-1],m=p/h*f[0];return{layout:a,pixelDimIndex:r,layoutBase:i[n[r]],layoutLength:s,axisBase:i[n[1-r]],axisLength:i[o[1-r]],axisExpandable:d,axisExpandWidth:h,axisCollapseWidth:p,axisExpandWindow:f,axisCount:u,winInnerIndices:g,axisExpandWindow0Pos:m}},_layoutAxes:function(){var t=this._rect,e=this._axesMap,i=this.dimensions,n=this._makeLayoutInfo(),o=n.layout;e.each(function(t){var e=[0,n.axisLength],i=t.inverse?1:0;t.setExtent(e[i],e[1-i])}),ek(i,function(e,i){var a=(n.axisExpandable?Ef:Of)(i,n),r={horizontal:{x:a.position,y:n.axisLength},vertical:{x:0,y:a.position}},s={horizontal:sk/2,vertical:0},l=[r[o].x+t.x,r[o].y+t.y],u=s[o],h=xt();Mt(h,h,u),St(h,h,l),this._axesLayout[e]={position:l,rotation:u,transform:h,axisNameAvailableWidth:a.axisNameAvailableWidth,axisLabelShow:a.axisLabelShow,nameTruncateMaxWidth:a.nameTruncateMaxWidth,tickDirection:1,labelDirection:1}},this)},getAxis:function(t){return this._axesMap.get(t)},dataToPoint:function(t,e){return this.axisCoordToPoint(this._axesMap.get(e).dataToCoord(t),e)},eachActiveState:function(t,e,i,n){null==i&&(i=0),null==n&&(n=t.count());var o=this._axesMap,a=this.dimensions,r=[],s=[];d(a,function(e){r.push(t.mapDimension(e)),s.push(o.get(e).model)});for(var l=this.hasAxisBrushed(),u=i;uo*(1-h[0])?(l="jump",r=s-o*(1-h[2])):(r=s-o*h[1])>=0&&(r=s-o*(1-h[1]))<=0&&(r=0),(r*=e.axisExpandWidth/u)?tk(r,n,a,"all"):l="none";else{o=n[1]-n[0];(n=[nk(0,a[1]*s/o-o/2)])[1]=ik(a[1],n[0]+o),n[0]=n[1]-o}return{axisExpandWindow:n,behavior:l}}},Ga.register("parallel",{create:function(t,e){var i=[];return t.eachComponent("parallel",function(n,o){var a=new Pf(n,t,e);a.name="parallel_"+o,a.resize(n,e),n.coordinateSystem=a,a.model=n,i.push(a)}),t.eachSeries(function(e){if("parallel"===e.get("coordinateSystem")){var i=t.queryComponents({mainType:"parallel",index:e.get("parallelIndex"),id:e.get("parallelId")})[0];e.coordinateSystem=i.coordinateSystem}}),i}});var lk=uI.extend({type:"baseParallelAxis",axis:null,activeIntervals:[],getAreaSelectStyle:function(){return Qb([["fill","color"],["lineWidth","borderWidth"],["stroke","borderColor"],["width","width"],["opacity","opacity"]])(this.getModel("areaSelectStyle"))},setActiveIntervals:function(t){var e=this.activeIntervals=i(t);if(e)for(var n=e.length-1;n>=0;n--)Go(e[n])},getActiveState:function(t){var e=this.activeIntervals;if(!e.length)return"normal";if(null==t||isNaN(t))return"inactive";if(1===e.length){var i=e[0];if(i[0]<=t&&t<=i[1])return"active"}else for(var n=0,o=e.length;n5)return;var n=this._model.coordinateSystem.getSlidedAxisExpandWindow([t.offsetX,t.offsetY]);"none"!==n.behavior&&this._dispatchExpand({axisExpandWindow:n.axisExpandWindow})}this._mouseDownPoint=null},mousemove:function(t){if(!this._mouseDownPoint&&Mp(this,"mousemove")){var e=this._model,i=e.coordinateSystem.getSlidedAxisExpandWindow([t.offsetX,t.offsetY]),n=i.behavior;"jump"===n&&this._throttledDispatchExpand.debounceNextCall(e.get("axisExpandDebounce")),this._throttledDispatchExpand("none"===n?null:{axisExpandWindow:i.axisExpandWindow,animation:"jump"===n&&null})}}};Ps(function(t){Df(t),Cf(t)}),qI.extend({type:"series.parallel",dependencies:["parallel"],visualColorAccessPath:"lineStyle.color",getInitialData:function(t,e){var i=this.getSource();return Ip(i,this),gl(i,this)},getRawIndicesByActiveState:function(t){var e=this.coordinateSystem,i=this.getData(),n=[];return e.eachActiveState(i,function(e,o){t===e&&n.push(i.getRawIndex(o))}),n},defaultOption:{zlevel:0,z:2,coordinateSystem:"parallel",parallelIndex:0,label:{show:!1},inactiveOpacity:.05,activeOpacity:1,lineStyle:{width:1,opacity:.45,type:"solid"},emphasis:{label:{show:!1}},progressive:500,smooth:!1,animationEasing:"linear"}});var Ck=.3,Lk=(Tr.extend({type:"parallel",init:function(){this._dataGroup=new tb,this.group.add(this._dataGroup),this._data,this._initialized},render:function(t,e,i,n){var o=this._dataGroup,a=t.getData(),r=this._data,s=t.coordinateSystem,l=s.dimensions,u=Lp(t);if(a.diff(r).add(function(t){kp(Cp(a,o,t,l,s),a,t,u)}).update(function(e,i){var o=r.getItemGraphicEl(i),h=Dp(a,e,l,s);a.setItemGraphicEl(e,o),Mo(o,{shape:{points:h}},n&&!1===n.animation?null:t,e),kp(o,a,e,u)}).remove(function(t){var e=r.getItemGraphicEl(t);o.remove(e)}).execute(),!this._initialized){this._initialized=!0;var h=Ap(s,t,function(){setTimeout(function(){o.removeClipPath()})});o.setClipPath(h)}this._data=a},incrementalPrepareRender:function(t,e,i){this._initialized=!0,this._data=null,this._dataGroup.removeAll()},incrementalRender:function(t,e,i){for(var n=e.getData(),o=e.coordinateSystem,a=o.dimensions,r=Lp(e),s=t.start;sn&&(n=e)}),d(e,function(e){var o=new cL({type:"color",mappingMethod:"linear",dataExtent:[i,n],visual:t.get("color")}).mapValueToVisual(e.getLayout().value);e.setVisual("color",o);var a=e.getModel().get("itemStyle.color");null!=a&&e.setVisual("color",a)})}})});var Ek={_baseAxisDim:null,getInitialData:function(t,e){var i,n,o=e.getComponent("xAxis",this.get("xAxisIndex")),a=e.getComponent("yAxis",this.get("yAxisIndex")),r=o.get("type"),s=a.get("type");"category"===r?(t.layout="horizontal",i=o.getOrdinalMeta(),n=!0):"category"===s?(t.layout="vertical",i=a.getOrdinalMeta(),n=!0):t.layout=t.layout||"horizontal";var l=["x","y"],u="horizontal"===t.layout?0:1,h=this._baseAxisDim=l[u],c=l[1-u],f=[o,a],p=f[u].get("type"),g=f[1-u].get("type"),m=t.data;if(m&&n){var v=[];d(m,function(t,e){var i;t.value&&y(t.value)?(i=t.value.slice(),t.value.unshift(e)):y(t)?(i=t.slice(),t.unshift(e)):i=t,v.push(i)}),t.data=v}var x=this.defaultValueDimensions;return aC(this,{coordDimensions:[{name:h,type:Ys(p),ordinalMeta:i,otherDims:{tooltip:!1,itemName:0},dimsDef:["base"]},{name:c,type:Ys(g),dimsDef:x.slice()}],dimensionsCount:x.length+1})},getBaseAxis:function(){var t=this._baseAxisDim;return this.ecModel.getComponent(t+"Axis",this.get(t+"AxisIndex")).axis}};h(qI.extend({type:"series.boxplot",dependencies:["xAxis","yAxis","grid"],defaultValueDimensions:[{name:"min",defaultTooltip:!0},{name:"Q1",defaultTooltip:!0},{name:"median",defaultTooltip:!0},{name:"Q3",defaultTooltip:!0},{name:"max",defaultTooltip:!0}],dimensions:null,defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,layout:null,boxWidth:[7,50],itemStyle:{color:"#fff",borderWidth:1},emphasis:{itemStyle:{borderWidth:2,shadowBlur:5,shadowOffsetX:2,shadowOffsetY:2,shadowColor:"rgba(0,0,0,0.4)"}},animationEasing:"elasticOut",animationDuration:800}}),Ek,!0);var Rk=["itemStyle"],zk=["emphasis","itemStyle"],Bk=(Tr.extend({type:"boxplot",render:function(t,e,i){var n=t.getData(),o=this.group,a=this._data;this._data||o.removeAll();var r="horizontal"===t.get("layout")?1:0;n.diff(a).add(function(t){if(n.hasValue(t)){var e=ig(n.getItemLayout(t),n,t,r,!0);n.setItemGraphicEl(t,e),o.add(e)}}).update(function(t,e){var i=a.getItemGraphicEl(e);if(n.hasValue(t)){var s=n.getItemLayout(t);i?ng(s,i,n,t):i=ig(s,n,t,r),o.add(i),n.setItemGraphicEl(t,i)}else o.remove(i)}).remove(function(t){var e=a.getItemGraphicEl(t);e&&o.remove(e)}).execute(),this._data=n},remove:function(t){var e=this.group,i=this._data;this._data=null,i&&i.eachItemGraphicEl(function(t){t&&e.remove(t)})},dispose:B}),kn.extend({type:"boxplotBoxPath",shape:{},buildPath:function(t,e){var i=e.points,n=0;for(t.moveTo(i[n][0],i[n][1]),n++;n<4;n++)t.lineTo(i[n][0],i[n][1]);for(t.closePath();n0?Yk:qk)}function n(t,e){return e.get(t>0?Xk:jk)}var o=t.getData(),a=t.pipelineContext.large;if(o.setVisual({legendSymbol:"roundRect",colorP:i(1,t),colorN:i(-1,t),borderColorP:n(1,t),borderColorN:n(-1,t)}),!e.isSeriesFiltered(t))return!a&&{progress:function(t,e){for(var o;null!=(o=t.next());){var a=e.getItemModel(o),r=e.getItemLayout(o).sign;e.setItemVisual(o,{color:i(r,a),borderColor:n(r,a)})}}}}},$k="undefined"!=typeof Float32Array?Float32Array:Array,Jk={seriesType:"candlestick",plan:JI(),reset:function(t){var e=t.coordinateSystem,i=t.getData(),n=pg(t,i),o=0,a=1,r=["x","y"],s=i.mapDimension(r[o]),l=i.mapDimension(r[a],!0),u=l[0],h=l[1],c=l[2],d=l[3];if(i.setLayout({candleWidth:n,isSimpleBox:n<=1.3}),!(null==s||l.length<4))return{progress:t.pipelineContext.large?function(t,i){for(var n,r,l=new $k(5*t.count),f=0,p=[],g=[];null!=(r=t.next());){var m=i.get(s,r),v=i.get(u,r),y=i.get(h,r),x=i.get(c,r),_=i.get(d,r);isNaN(m)||isNaN(x)||isNaN(_)?(l[f++]=NaN,f+=4):(l[f++]=fg(i,r,v,y,h),p[o]=m,p[a]=x,n=e.dataToPoint(p,null,g),l[f++]=n?n[0]:NaN,l[f++]=n?n[1]:NaN,p[a]=_,n=e.dataToPoint(p,null,g),l[f++]=n?n[1]:NaN)}i.setLayout("largePoints",l)}:function(t,i){function r(t,i){var n=[];return n[o]=i,n[a]=t,isNaN(i)||isNaN(t)?[NaN,NaN]:e.dataToPoint(n)}function l(t,e,i){var a=e.slice(),r=e.slice();a[o]=$n(a[o]+n/2,1,!1),r[o]=$n(r[o]-n/2,1,!0),i?t.push(a,r):t.push(r,a)}function f(t){return t[o]=$n(t[o],1),t}for(var p;null!=(p=t.next());){var g=i.get(s,p),m=i.get(u,p),v=i.get(h,p),y=i.get(c,p),x=i.get(d,p),_=Math.min(m,v),w=Math.max(m,v),b=r(_,g),S=r(w,g),M=r(y,g),I=r(x,g),T=[];l(T,S,0),l(T,b,1),T.push(f(I),f(S),f(M),f(b)),i.setItemLayout(p,{sign:fg(i,p,m,v,h),initBaseline:m>v?S[a]:b[a],ends:T,brushRect:function(t,e,i){var s=r(t,i),l=r(e,i);return s[o]-=n/2,l[o]-=n/2,{x:s[0],y:s[1],width:a?n:l[0]-s[0],height:a?l[1]-s[1]:n}}(y,x,g)})}}}}};Ps(function(t){t&&y(t.series)&&d(t.series,function(t){w(t)&&"k"===t.type&&(t.type="candlestick")})}),zs(Kk),Rs(Jk),qI.extend({type:"series.effectScatter",dependencies:["grid","polar"],getInitialData:function(t,e){return gl(this.getSource(),this)},brushSelector:"point",defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,effectType:"ripple",progressive:0,showEffectOn:"render",rippleEffect:{period:4,scale:2.5,brushType:"fill"},symbolSize:10}});var Qk=vg.prototype;Qk.stopEffectAnimation=function(){this.childAt(1).removeAll()},Qk.startEffectAnimation=function(t){for(var e=t.symbolType,i=t.color,n=this.childAt(1),o=0;o<3;o++){var a=$l(e,-1,-1,2,2,i);a.attr({style:{strokeNoScale:!0},z2:99,silent:!0,scale:[.5,.5]});var r=-o/3*t.period+t.effectOffset;a.animate("",!0).when(t.period,{scale:[t.rippleScale/2,t.rippleScale/2]}).delay(r).start(),a.animateStyle(!0).when(t.period,{opacity:0}).delay(r).start(),n.add(a)}mg(n,t)},Qk.updateEffectAnimation=function(t){for(var e=this._effectCfg,i=this.childAt(1),n=["symbolType","period","rippleScale"],o=0;o "))},preventIncremental:function(){return!!this.get("effect.show")},getProgressive:function(){var t=this.option.progressive;return null==t?this.option.large?1e4:this.get("progressive"):t},getProgressiveThreshold:function(){var t=this.option.progressiveThreshold;return null==t?this.option.large?2e4:this.get("progressiveThreshold"):t},defaultOption:{coordinateSystem:"geo",zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,xAxisIndex:0,yAxisIndex:0,symbol:["none","none"],symbolSize:[10,10],geoIndex:0,effect:{show:!1,period:4,constantSpeed:0,symbol:"circle",symbolSize:3,loop:!0,trailLength:.2},large:!1,largeThreshold:2e3,polyline:!1,label:{show:!1,position:"end"},lineStyle:{opacity:.5}}}),nP=xg.prototype;nP.createLine=function(t,e,i){return new af(t,e,i)},nP._updateEffectSymbol=function(t,e){var i=t.getItemModel(e).getModel("effect"),n=i.get("symbolSize"),o=i.get("symbol");y(n)||(n=[n,n]);var a=i.get("color")||t.getItemVisual(e,"color"),r=this.childAt(1);this._symbolType!==o&&(this.remove(r),(r=$l(o,-.5,-.5,1,1,a)).z2=100,r.culling=!0,this.add(r)),r&&(r.setStyle("shadowColor",a),r.setStyle(i.getItemStyle(["color"])),r.attr("scale",n),r.setColor(a),r.attr("scale",n),this._symbolType=o,this._updateEffectAnimation(t,i,e))},nP._updateEffectAnimation=function(t,e,i){var n=this.childAt(1);if(n){var o=this,a=t.getItemLayout(i),r=1e3*e.get("period"),s=e.get("loop"),l=e.get("constantSpeed"),u=T(e.get("delay"),function(e){return e/t.count()*r/3}),h="function"==typeof u;if(n.ignore=!0,this.updateAnimationPoints(n,a),l>0&&(r=this.getLineLength(n)/l*1e3),r!==this._period||s!==this._loop){n.stopAnimation();var c=u;h&&(c=u(i)),n.__t>0&&(c=-r*n.__t),n.__t=0;var d=n.animate("",s).when(r,{__t:1}).delay(c).during(function(){o.updateSymbolPosition(n)});s||d.done(function(){o.remove(n)}),d.start()}this._period=r,this._loop=s}},nP.getLineLength=function(t){return uw(t.__p1,t.__cp1)+uw(t.__cp1,t.__p2)},nP.updateAnimationPoints=function(t,e){t.__p1=e[0],t.__p2=e[1],t.__cp1=e[2]||[(e[0][0]+e[1][0])/2,(e[0][1]+e[1][1])/2]},nP.updateData=function(t,e,i){this.childAt(0).updateData(t,e,i),this._updateEffectSymbol(t,e)},nP.updateSymbolPosition=function(t){var e=t.__p1,i=t.__p2,n=t.__cp1,o=t.__t,a=t.position,r=rn,s=sn;a[0]=r(e[0],n[0],i[0],o),a[1]=r(e[1],n[1],i[1],o);var l=s(e[0],n[0],i[0],o),u=s(e[1],n[1],i[1],o);t.rotation=-Math.atan2(u,l)-Math.PI/2,t.ignore=!1},nP.updateLayout=function(t,e){this.childAt(0).updateLayout(t,e);var i=t.getItemModel(e).getModel("effect");this._updateEffectAnimation(t,i,e)},u(xg,tb);var oP=_g.prototype;oP._createPolyline=function(t,e,i){var n=t.getItemLayout(e),o=new gM({shape:{points:n}});this.add(o),this._updateCommonStl(t,e,i)},oP.updateData=function(t,e,i){var n=t.hostModel;Mo(this.childAt(0),{shape:{points:t.getItemLayout(e)}},n,e),this._updateCommonStl(t,e,i)},oP._updateCommonStl=function(t,e,i){var n=this.childAt(0),o=t.getItemModel(e),a=t.getItemVisual(e,"color"),s=i&&i.lineStyle,l=i&&i.hoverLineStyle;i&&!t.hasItemOption||(s=o.getModel("lineStyle").getLineStyle(),l=o.getModel("emphasis.lineStyle").getLineStyle()),n.useStyle(r({strokeNoScale:!0,fill:"none",stroke:a},s)),n.hoverStyle=l,co(this)},oP.updateLayout=function(t,e){this.childAt(0).setShape("points",t.getItemLayout(e))},u(_g,tb);var aP=wg.prototype;aP.createLine=function(t,e,i){return new _g(t,e,i)},aP.updateAnimationPoints=function(t,e){this._points=e;for(var i=[0],n=0,o=1;o=0&&!(n[r]<=e);r--);r=Math.min(r,o-2)}else{for(var r=a;re);r++);r=Math.min(r-1,o-2)}J(t.position,i[r],i[r+1],(e-n[r])/(n[r+1]-n[r]));var s=i[r+1][0]-i[r][0],l=i[r+1][1]-i[r][1];t.rotation=-Math.atan2(l,s)-Math.PI/2,this._lastFrame=r,this._lastFramePercent=e,t.ignore=!1}},u(wg,xg);var rP=Zn({shape:{polyline:!1,curveness:0,segs:[]},buildPath:function(t,e){var i=e.segs,n=e.curveness;if(e.polyline)for(r=0;r0){t.moveTo(i[r++],i[r++]);for(var a=1;a0){var c=(s+u)/2-(l-h)*n,d=(l+h)/2-(u-s)*n;t.quadraticCurveTo(c,d,u,h)}else t.lineTo(u,h)}},findDataIndex:function(t,e){var i=this.shape,n=i.segs,o=i.curveness;if(i.polyline)for(var a=0,r=0;r0)for(var l=n[r++],u=n[r++],h=1;h0){if(xn(l,u,(l+c)/2-(u-d)*o,(u+d)/2-(c-l)*o,c,d))return a}else if(vn(l,u,c,d))return a;a++}return-1}}),sP=bg.prototype;sP.isPersistent=function(){return!this._incremental},sP.updateData=function(t){this.group.removeAll();var e=new rP({rectHover:!0,cursor:"default"});e.setShape({segs:t.getLayout("linesPoints")}),this._setCommon(e,t),this.group.add(e),this._incremental=null},sP.incrementalPrepareUpdate=function(t){this.group.removeAll(),this._clearIncremental(),t.count()>5e5?(this._incremental||(this._incremental=new Hn({silent:!0})),this.group.add(this._incremental)):this._incremental=null},sP.incrementalUpdate=function(t,e){var i=new rP;i.setShape({segs:e.getLayout("linesPoints")}),this._setCommon(i,e,!!this._incremental),this._incremental?this._incremental.addDisplayable(i,!0):(i.rectHover=!0,i.cursor="default",i.__startIndex=t.start,this.group.add(i))},sP.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},sP._setCommon=function(t,e,i){var n=e.hostModel;t.setShape({polyline:n.get("polyline"),curveness:n.get("lineStyle.curveness")}),t.useStyle(n.getModel("lineStyle").getLineStyle()),t.style.strokeNoScale=!0;var o=e.getVisual("color");o&&t.setStyle("stroke",o),t.setStyle("fill"),i||(t.seriesIndex=n.seriesIndex,t.on("mousemove",function(e){t.dataIndex=null;var i=t.findDataIndex(e.offsetX,e.offsetY);i>0&&(t.dataIndex=i+t.__startIndex)}))},sP._clearIncremental=function(){var t=this._incremental;t&&t.clearDisplaybles()};var lP={seriesType:"lines",plan:JI(),reset:function(t){var e=t.coordinateSystem,i=t.get("polyline"),n=t.pipelineContext.large;return{progress:function(o,a){var r=[];if(n){var s,l=o.end-o.start;if(i){for(var u=0,h=o.start;h0){var I=a(v)?s:l;v>0&&(v=v*S+b),x[_++]=I[M],x[_++]=I[M+1],x[_++]=I[M+2],x[_++]=I[M+3]*v*256}else _+=4}return c.putImageData(y,0,0),h},_getBrush:function(){var t=this._brushCanvas||(this._brushCanvas=iw()),e=this.pointSize+this.blurSize,i=2*e;t.width=i,t.height=i;var n=t.getContext("2d");return n.clearRect(0,0,i,i),n.shadowOffsetX=i,n.shadowBlur=this.blurSize,n.shadowColor="#000",n.beginPath(),n.arc(-e,e,this.pointSize,0,2*Math.PI,!0),n.closePath(),n.fill(),t},_getGradient:function(t,e,i){for(var n=this._gradientPixels,o=n[i]||(n[i]=new Uint8ClampedArray(1024)),a=[0,0,0,0],r=0,s=0;s<256;s++)e[i](s/255,!0,a),o[r++]=a[0],o[r++]=a[1],o[r++]=a[2],o[r++]=a[3];return o}},Hs({type:"heatmap",render:function(t,e,i){var n;e.eachComponent("visualMap",function(e){e.eachTargetSeries(function(i){i===t&&(n=e)})}),this.group.removeAll(),this._incrementalDisplayable=null;var o=t.coordinateSystem;"cartesian2d"===o.type||"calendar"===o.type?this._renderOnCartesianAndCalendar(t,i,0,t.getData().count()):Ag(o)&&this._renderOnGeo(o,t,n,i)},incrementalPrepareRender:function(t,e,i){this.group.removeAll()},incrementalRender:function(t,e,i,n){e.coordinateSystem&&this._renderOnCartesianAndCalendar(e,n,t.start,t.end,!0)},_renderOnCartesianAndCalendar:function(t,e,i,n,o){var r,s,l=t.coordinateSystem;if("cartesian2d"===l.type){var u=l.getAxis("x"),h=l.getAxis("y");r=u.getBandWidth(),s=h.getBandWidth()}for(var c=this.group,d=t.getData(),f=t.getModel("itemStyle").getItemStyle(["color"]),p=t.getModel("emphasis.itemStyle").getItemStyle(),g=t.getModel("label"),m=t.getModel("emphasis.label"),v=l.type,y="cartesian2d"===v?[d.mapDimension("x"),d.mapDimension("y"),d.mapDimension("value")]:[d.mapDimension("time"),d.mapDimension("value")],x=i;x=e.y&&t[1]<=e.y+e.height:i.contain(i.toLocalCoord(t[1]))&&t[0]>=e.y&&t[0]<=e.y+e.height},pointToData:function(t){var e=this.getAxis();return[e.coordToData(e.toLocalCoord(t["horizontal"===e.orient?0:1]))]},dataToPoint:function(t){var e=this.getAxis(),i=this.getRect(),n=[],o="horizontal"===e.orient?0:1;return t instanceof Array&&(t=t[0]),n[o]=e.toGlobalCoord(e.dataToCoord(+t)),n[1-o]=0===o?i.y+i.height/2:i.x+i.width/2,n}},Ga.register("single",{create:function(t,e){var i=[];return t.eachComponent("singleAxis",function(n,o){var a=new $g(n,t,e);a.name="single_"+o,a.resize(n,e),n.coordinateSystem=a,i.push(a)}),t.eachSeries(function(e){if("singleAxis"===e.get("coordinateSystem")){var i=t.queryComponents({mainType:"singleAxis",index:e.get("singleAxisIndex"),id:e.get("singleAxisId")})[0];e.coordinateSystem=i&&i.coordinateSystem}}),i},dimensions:$g.prototype.dimensions});var mP=["axisLine","axisTickLabel","axisName"],vP=jD.extend({type:"singleAxis",axisPointerClass:"SingleAxisPointer",render:function(t,e,i,n){var o=this.group;o.removeAll();var a=Jg(t),r=new WD(t,a);d(mP,r.add,r),o.add(r.getGroup()),t.get("splitLine.show")&&this._splitLine(t),vP.superCall(this,"render",t,e,i,n)},_splitLine:function(t){var e=t.axis;if(!e.scale.isBlank()){var i=t.getModel("splitLine"),n=i.getModel("lineStyle"),o=n.get("width"),a=n.get("color");a=a instanceof Array?a:[a];for(var r=t.coordinateSystem.getRect(),s=e.isHorizontal(),l=[],u=0,h=e.getTicksCoords({tickModel:i}),c=[],d=[],f=0;f=0)&&i({type:"updateAxisPointer",currTrigger:t,x:e&&e.offsetX,y:e&&e.offsetY})})},remove:function(t,e){gm(e.getZr(),"axisPointer"),TP.superApply(this._model,"remove",arguments)},dispose:function(t,e){gm("axisPointer",e),TP.superApply(this._model,"dispose",arguments)}}),AP=Bi(),DP=i,CP=m;(mm.prototype={_group:null,_lastGraphicKey:null,_handle:null,_dragging:!1,_lastValue:null,_lastStatus:null,_payloadInfo:null,animationThreshold:15,render:function(t,e,i,n){var o=e.get("value"),a=e.get("status");if(this._axisModel=t,this._axisPointerModel=e,this._api=i,n||this._lastValue!==o||this._lastStatus!==a){this._lastValue=o,this._lastStatus=a;var r=this._group,s=this._handle;if(!a||"hide"===a)return r&&r.hide(),void(s&&s.hide());r&&r.show(),s&&s.show();var l={};this.makeElOption(l,o,t,e,i);var u=l.graphicKey;u!==this._lastGraphicKey&&this.clear(i),this._lastGraphicKey=u;var h=this._moveAnimation=this.determineAnimation(t,e);if(r){var c=v(vm,e,h);this.updatePointerEl(r,l,c,e),this.updateLabelEl(r,l,c,e)}else r=this._group=new tb,this.createPointerEl(r,l,t,e),this.createLabelEl(r,l,t,e),i.getZr().add(r);wm(r,e,!0),this._renderHandle(o)}},remove:function(t){this.clear(t)},dispose:function(t){this.clear(t)},determineAnimation:function(t,e){var i=e.get("animation"),n=t.axis,o="category"===n.type,a=e.get("snap");if(!a&&!o)return!1;if("auto"===i||null==i){var r=this.animationThreshold;if(o&&n.getBandWidth()>r)return!0;if(a){var s=Sh(t).seriesDataCount,l=n.getExtent();return Math.abs(l[0]-l[1])/s>r}return!1}return!0===i},makeElOption:function(t,e,i,n,o){},createPointerEl:function(t,e,i,n){var o=e.pointer;if(o){var a=AP(t).pointerEl=new zM[o.type](DP(e.pointer));t.add(a)}},createLabelEl:function(t,e,i,n){if(e.label){var o=AP(t).labelEl=new yM(DP(e.label));t.add(o),xm(o,n)}},updatePointerEl:function(t,e,i){var n=AP(t).pointerEl;n&&(n.setStyle(e.pointer.style),i(n,{shape:e.pointer.shape}))},updateLabelEl:function(t,e,i,n){var o=AP(t).labelEl;o&&(o.setStyle(e.label.style),i(o,{shape:e.label.shape,position:e.label.position}),xm(o,n))},_renderHandle:function(t){if(!this._dragging&&this.updateHandleTransform){var e=this._axisPointerModel,i=this._api.getZr(),n=this._handle,o=e.getModel("handle"),a=e.get("status");if(!o.get("show")||!a||"hide"===a)return n&&i.remove(n),void(this._handle=null);var r;this._handle||(r=!0,n=this._handle=ko(o.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(t){mw(t.event)},onmousedown:CP(this._onHandleDragMove,this,0,0),drift:CP(this._onHandleDragMove,this),ondragend:CP(this._onHandleDragEnd,this)}),i.add(n)),wm(n,e,!1);var s=["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"];n.setStyle(o.getItemStyle(null,s));var l=o.get("size");y(l)||(l=[l,l]),n.attr("scale",[l[0]/2,l[1]/2]),Pr(this,"_doDispatchAxisPointer",o.get("throttle")||0,"fixRate"),this._moveHandleToValue(t,r)}},_moveHandleToValue:function(t,e){vm(this._axisPointerModel,!e&&this._moveAnimation,this._handle,_m(this.getHandleTransform(t,this._axisModel,this._axisPointerModel)))},_onHandleDragMove:function(t,e){var i=this._handle;if(i){this._dragging=!0;var n=this.updateHandleTransform(_m(i),[t,e],this._axisModel,this._axisPointerModel);this._payloadInfo=n,i.stopAnimation(),i.attr(_m(n)),AP(i).lastProp=null,this._doDispatchAxisPointer()}},_doDispatchAxisPointer:function(){if(this._handle){var t=this._payloadInfo,e=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:t.cursorPoint[0],y:t.cursorPoint[1],tooltipOption:t.tooltipOption,axesInfo:[{axisDim:e.axis.dim,axisIndex:e.componentIndex}]})}},_onHandleDragEnd:function(t){if(this._dragging=!1,this._handle){var e=this._axisPointerModel.get("value");this._moveHandleToValue(e),this._api.dispatchAction({type:"hideTip"})}},getHandleTransform:null,updateHandleTransform:null,clear:function(t){this._lastValue=null,this._lastStatus=null;var e=t.getZr(),i=this._group,n=this._handle;e&&i&&(this._lastGraphicKey=null,i&&e.remove(i),n&&e.remove(n),this._group=null,this._handle=null,this._payloadInfo=null)},doClear:function(){},buildLabel:function(t,e,i){return i=i||0,{x:t[i],y:t[1-i],width:e[i],height:e[1-i]}}}).constructor=mm,Xi(mm);var LP=mm.extend({makeElOption:function(t,e,i,n,o){var a=i.axis,r=a.grid,s=n.get("type"),l=km(r,a).getOtherAxis(a).getGlobalExtent(),u=a.toGlobalCoord(a.dataToCoord(e,!0));if(s&&"none"!==s){var h=bm(n),c=kP[s](a,u,l,h);c.style=h,t.graphicKey=c.type,t.pointer=c}Am(e,t,Ch(r.model,i),i,n,o)},getHandleTransform:function(t,e,i){var n=Ch(e.axis.grid.model,e,{labelInside:!1});return n.labelMargin=i.get("handle.margin"),{position:Tm(e.axis,t,n),rotation:n.rotation+(n.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(t,e,i,n){var o=i.axis,a=o.grid,r=o.getGlobalExtent(!0),s=km(a,o).getOtherAxis(o).getGlobalExtent(),l="x"===o.dim?0:1,u=t.position;u[l]+=e[l],u[l]=Math.min(r[1],u[l]),u[l]=Math.max(r[0],u[l]);var h=(s[1]+s[0])/2,c=[h,h];c[l]=u[l];var d=[{verticalAlign:"middle"},{align:"center"}];return{position:u,rotation:t.rotation,cursorPoint:c,tooltipOption:d[l]}}}),kP={line:function(t,e,i,n){var o=Dm([e,i[0]],[e,i[1]],Pm(t));return qn({shape:o,style:n}),{type:"Line",shape:o}},shadow:function(t,e,i,n){var o=Math.max(1,t.getBandWidth()),a=i[1]-i[0];return{type:"Rect",shape:Cm([e-o/2,i[0]],[o,a],Pm(t))}}};jD.registerAxisPointerClass("CartesianAxisPointer",LP),Ps(function(t){if(t){(!t.axisPointer||0===t.axisPointer.length)&&(t.axisPointer={});var e=t.axisPointer.link;e&&!y(e)&&(t.axisPointer.link=[e])}}),Ns(GT.PROCESSOR.STATISTIC,function(t,e){t.getComponent("axisPointer").coordSysAxesInfo=mh(t,e)}),Os({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},function(t,e,i){var n=t.currTrigger,o=[t.x,t.y],a=t,r=t.dispatchAction||m(i.dispatchAction,i),s=e.getComponent("axisPointer").coordSysAxesInfo;if(s){lm(o)&&(o=_P({seriesIndex:a.seriesIndex,dataIndex:a.dataIndex},e).point);var l=lm(o),u=a.axesInfo,h=s.axesInfo,c="leave"===n||lm(o),d={},f={},p={list:[],map:{}},g={showPointer:bP(em,f),showTooltip:bP(im,p)};wP(s.coordSysMap,function(t,e){var i=l||t.containPoint(o);wP(s.coordSysAxesInfo[e],function(t,e){var n=t.axis,a=rm(u,t);if(!c&&i&&(!u||a)){var r=a&&a.value;null!=r||l||(r=n.pointToData(o)),null!=r&&Qg(t,r,g,!1,d)}})});var v={};return wP(h,function(t,e){var i=t.linkGroup;i&&!f[e]&&wP(i.axesInfo,function(e,n){var o=f[n];if(e!==t&&o){var a=o.value;i.mapper&&(a=t.axis.scale.parse(i.mapper(a,sm(e),sm(t)))),v[t.key]=a}})}),wP(v,function(t,e){Qg(h[e],t,g,!0,d)}),nm(f,h,d),om(p,o,t,r),am(h,0,i),d}});var PP=["x","y"],NP=["width","height"],OP=mm.extend({makeElOption:function(t,e,i,n,o){var a=i.axis,r=a.coordinateSystem,s=Om(r,1-Nm(a)),l=r.dataToPoint(e)[0],u=n.get("type");if(u&&"none"!==u){var h=bm(n),c=EP[u](a,l,s,h);c.style=h,t.graphicKey=c.type,t.pointer=c}Am(e,t,Jg(i),i,n,o)},getHandleTransform:function(t,e,i){var n=Jg(e,{labelInside:!1});return n.labelMargin=i.get("handle.margin"),{position:Tm(e.axis,t,n),rotation:n.rotation+(n.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(t,e,i,n){var o=i.axis,a=o.coordinateSystem,r=Nm(o),s=Om(a,r),l=t.position;l[r]+=e[r],l[r]=Math.min(s[1],l[r]),l[r]=Math.max(s[0],l[r]);var u=Om(a,1-r),h=(u[1]+u[0])/2,c=[h,h];return c[r]=l[r],{position:l,rotation:t.rotation,cursorPoint:c,tooltipOption:{verticalAlign:"middle"}}}}),EP={line:function(t,e,i,n){var o=Dm([e,i[0]],[e,i[1]],Nm(t));return qn({shape:o,style:n}),{type:"Line",shape:o}},shadow:function(t,e,i,n){var o=t.getBandWidth(),a=i[1]-i[0];return{type:"Rect",shape:Cm([e-o/2,i[0]],[o,a],Nm(t))}}};jD.registerAxisPointerClass("SingleAxisPointer",OP),Fs({type:"single"});var RP=qI.extend({type:"series.themeRiver",dependencies:["singleAxis"],nameMap:null,init:function(t){RP.superApply(this,"init",arguments),this.legendDataProvider=function(){return this.getRawData()}},fixData:function(t){for(var e=t.length,i=f(zp().key(function(t){return t[2]}).entries(t),function(t){return{name:t.key,dataList:t.values}}),n=i.length,o=-1,a=-1,r=0;ro&&(o=s,a=r)}for(var l=0;lMath.PI/2?"right":"left"):x&&"center"!==x?"left"===x?(f=u.r0+y,p>Math.PI/2&&(x="right")):"right"===x&&(f=u.r-y,p>Math.PI/2&&(x="left")):(f=(u.r+u.r0)/2,x="center"),d.attr("style",{text:l,textAlign:x,textVerticalAlign:n("verticalAlign")||"middle",opacity:n("opacity")});var _=f*g+u.cx,w=f*m+u.cy;d.attr("position",[_,w]);var b=n("rotate"),S=0;"radial"===b?(S=-p)<-Math.PI/2&&(S+=Math.PI):"tangential"===b?(S=Math.PI/2-p)>Math.PI/2?S-=Math.PI:S<-Math.PI/2&&(S+=Math.PI):"number"==typeof b&&(S=b*Math.PI/180),d.attr("rotation",S)},GP._initEvents=function(t,e,i,n){t.off("mouseover").off("mouseout").off("emphasis").off("normal");var o=this,a=function(){o.onEmphasis(n)},r=function(){o.onNormal()};i.isAnimationEnabled()&&t.on("mouseover",a).on("mouseout",r).on("emphasis",a).on("normal",r).on("downplay",function(){o.onDownplay()}).on("highlight",function(){o.onHighlight()})},u(Vm,tb);Tr.extend({type:"sunburst",init:function(){},render:function(t,e,i,n){function o(i,n){if(c||!i||i.getValue()||(i=null),i!==l&&n!==l)if(n&&n.piece)i?(n.piece.updateData(!1,i,"normal",t,e),s.setItemGraphicEl(i.dataIndex,n.piece)):a(n);else if(i){var o=new Vm(i,t,e);h.add(o),s.setItemGraphicEl(i.dataIndex,o)}}function a(t){t&&t.piece&&(h.remove(t.piece),t.piece=null)}var r=this;this.seriesModel=t,this.api=i,this.ecModel=e;var s=t.getData(),l=s.tree.root,u=t.getViewRoot(),h=this.group,c=t.get("renderLabelForZeroData"),d=[];u.eachNode(function(t){d.push(t)});var f=this._oldChildren||[];if(function(t,e){function i(t){return t.getId()}function n(i,n){o(null==i?null:t[i],null==n?null:e[n])}0===t.length&&0===e.length||new Us(e,t,i,i).add(n).update(n).remove(v(n,null)).execute()}(d,f),function(i,n){if(n.depth>0){r.virtualPiece?r.virtualPiece.updateData(!1,i,"normal",t,e):(r.virtualPiece=new Vm(i,t,e),h.add(r.virtualPiece)),n.piece._onclickEvent&&n.piece.off("click",n.piece._onclickEvent);var o=function(t){r._rootToNode(n.parentNode)};n.piece._onclickEvent=o,r.virtualPiece.on("click",o)}else r.virtualPiece&&(h.remove(r.virtualPiece),r.virtualPiece=null)}(l,u),n&&n.highlight&&n.highlight.piece){var p=t.getShallow("highlightPolicy");n.highlight.piece.onEmphasis(p)}else if(n&&n.unhighlight){var g=this.virtualPiece;!g&&l.children.length&&(g=l.children[0].piece),g&&g.onNormal()}this._initEvents(),this._oldChildren=d},dispose:function(){},_initEvents:function(){var t=this,e=function(e){var i=!1;t.seriesModel.getViewRoot().eachNode(function(n){if(!i&&n.piece&&n.piece.childAt(0)===e.target){var o=n.getModel().get("nodeClick");if("rootToNode"===o)t._rootToNode(n);else if("link"===o){var a=n.getModel(),r=a.get("link");if(r){var s=a.get("target",!0)||"_blank";window.open(r,s)}}i=!0}})};this.group._onclickEvent&&this.group.off("click",this.group._onclickEvent),this.group.on("click",e),this.group._onclickEvent=e},_rootToNode:function(t){t!==this.seriesModel.getViewRoot()&&this.api.dispatchAction({type:"sunburstRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t})},containPoint:function(t,e){var i=e.getData().getItemLayout(0);if(i){var n=t[0]-i.cx,o=t[1]-i.cy,a=Math.sqrt(n*n+o*o);return a<=i.r&&a>=i.r0}}});var FP="sunburstRootToNode";Os({type:FP,update:"updateView"},function(t,e){e.eachComponent({mainType:"series",subType:"sunburst",query:t},function(e,i){var n=sd(t,[FP],e);if(n){var o=e.getViewRoot();o&&(t.direction=ud(o,n.node)?"rollUp":"drillDown"),e.resetViewRoot(n.node)}})});var WP="sunburstHighlight";Os({type:WP,update:"updateView"},function(t,e){e.eachComponent({mainType:"series",subType:"sunburst",query:t},function(e,i){var n=sd(t,[WP],e);n&&(t.highlight=n.node)})});Os({type:"sunburstUnhighlight",update:"updateView"},function(t,e){e.eachComponent({mainType:"series",subType:"sunburst",query:t},function(e,i){t.unhighlight=!0})});var HP=Math.PI/180;zs(v(hC,"sunburst")),Rs(v(function(t,e,i,n){e.eachSeriesByType(t,function(t){var e=t.get("center"),n=t.get("radius");y(n)||(n=[0,n]),y(e)||(e=[e,e]);var o=i.getWidth(),a=i.getHeight(),r=Math.min(o,a),s=Bo(e[0],o),l=Bo(e[1],a),u=Bo(n[0],r/2),h=Bo(n[1],r/2),c=-t.get("startAngle")*HP,f=t.get("minAngle")*HP,p=t.getData().tree.root,g=t.getViewRoot(),m=g.depth,v=t.get("sort");null!=v&&Zm(g,v);var x=0;d(g.children,function(t){!isNaN(t.getValue())&&x++});var _=g.getValue(),w=Math.PI/(_||x)*2,b=g.depth>0,S=g.height-(b?-1:1),M=(h-u)/(S||1),I=t.get("clockwise"),T=t.get("stillShowZeroSum"),A=I?1:-1,D=function(t,e){if(t){var i=e;if(t!==p){var n=t.getValue(),o=0===_&&T?w:n*w;on[1]&&n.reverse(),{coordSys:{type:"polar",cx:t.cx,cy:t.cy,r:n[1],r0:n[0]},api:{coord:m(function(n){var o=e.dataToRadius(n[0]),a=i.dataToAngle(n[1]),r=t.coordToPoint([o,a]);return r.push(o,a*Math.PI/180),r}),size:m(qm,t)}}},calendar:function(t){var e=t.getRect(),i=t.getRangeInfo();return{coordSys:{type:"calendar",x:e.x,y:e.y,width:e.width,height:e.height,cellWidth:t.getCellWidth(),cellHeight:t.getCellHeight(),rangeInfo:{start:i.start,end:i.end,weeks:i.weeks,dayCount:i.allDay}},api:{coord:function(e,i){return t.dataToPoint(e,i)}}}}};qI.extend({type:"series.custom",dependencies:["grid","polar","geo","singleAxis","calendar"],defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,useTransform:!0},getInitialData:function(t,e){return gl(this.getSource(),this)},getDataParams:function(t,e,i){var n=qI.prototype.getDataParams.apply(this,arguments);return i&&(n.info=i.info),n}}),Tr.extend({type:"custom",_data:null,render:function(t,e,i,n){var o=this._data,a=t.getData(),r=this.group,s=Qm(t,a,e,i);a.diff(o).add(function(e){ev(null,e,s(e,n),t,r,a)}).update(function(e,i){ev(o.getItemGraphicEl(i),e,s(e,n),t,r,a)}).remove(function(t){var e=o.getItemGraphicEl(t);e&&r.remove(e)}).execute(),this._data=a},incrementalPrepareRender:function(t,e,i){this.group.removeAll(),this._data=null},incrementalRender:function(t,e,i,n,o){for(var a=e.getData(),r=Qm(e,a,i,n),s=t.start;s=0;l--)null==o[l]?o.splice(l,1):delete o[l].$action},_flatten:function(t,e,i){d(t,function(t){if(t){i&&(t.parentOption=i),e.push(t);var n=t.children;"group"===t.type&&n&&this._flatten(n,e,t),delete t.children}},this)},useElOptionsToUpdate:function(){var t=this._elOptionsToUpdate;return this._elOptionsToUpdate=null,t}});Fs({type:"graphic",init:function(t,e){this._elMap=R(),this._lastGraphicModel},render:function(t,e,i){t!==this._lastGraphicModel&&this._clear(),this._lastGraphicModel=t,this._updateElements(t),this._relocate(t,i)},_updateElements:function(t){var e=t.useElOptionsToUpdate();if(e){var i=this._elMap,n=this.group;d(e,function(e){var o=e.$action,a=e.id,r=i.get(a),s=e.parentId,l=null!=s?i.get(s):n,u=e.style;"text"===e.type&&u&&(e.hv&&e.hv[1]&&(u.textVerticalAlign=u.textBaseline=null),!u.hasOwnProperty("textFill")&&u.fill&&(u.textFill=u.fill),!u.hasOwnProperty("textStroke")&&u.stroke&&(u.textStroke=u.stroke));var h=fv(e);o&&"merge"!==o?"replace"===o?(dv(r,i),cv(a,l,h,i)):"remove"===o&&dv(r,i):r?r.attr(h):cv(a,l,h,i);var c=i.get(a);c&&(c.__ecGraphicWidth=e.width,c.__ecGraphicHeight=e.height,yv(c,t))})}},_relocate:function(t,e){for(var i=t.option.elements,n=this.group,o=this._elMap,a=i.length-1;a>=0;a--){var r=i[a],s=o.get(r.id);if(s){var l=s.parent;ca(s,r,l===n?{width:e.getWidth(),height:e.getHeight()}:{width:l.__ecGraphicWidth||0,height:l.__ecGraphicHeight||0},null,{hv:r.hv,boundingMode:r.bounding})}}},_clear:function(){var t=this._elMap;t.each(function(e){dv(e,t)}),this._elMap=R()},dispose:function(){this._clear()}});var $P=Gs({type:"legend.plain",dependencies:["series"],layoutMode:{type:"box",ignoreSize:!0},init:function(t,e,i){this.mergeDefaultAndTheme(t,i),t.selected=t.selected||{}},mergeOption:function(t){$P.superCall(this,"mergeOption",t)},optionUpdated:function(){this._updateData(this.ecModel);var t=this._data;if(t[0]&&"single"===this.get("selectedMode")){for(var e=!1,i=0;i=0},defaultOption:{zlevel:0,z:4,show:!0,orient:"horizontal",left:"center",top:0,align:"auto",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,inactiveColor:"#ccc",textStyle:{color:"#333"},selectedMode:!0,tooltip:{show:!1}}});Os("legendToggleSelect","legendselectchanged",v(xv,"toggleSelected")),Os("legendSelect","legendselected",v(xv,"select")),Os("legendUnSelect","legendunselected",v(xv,"unSelect"));var JP=v,QP=d,tN=tb,eN=Fs({type:"legend.plain",newlineDisabled:!1,init:function(){this.group.add(this._contentGroup=new tN),this._backgroundEl,this._isFirstRender=!0},getContentGroup:function(){return this._contentGroup},render:function(t,e,i){var n=this._isFirstRender;if(this._isFirstRender=!1,this.resetInner(),t.get("show",!0)){var o=t.get("align");o&&"auto"!==o||(o="right"===t.get("left")&&"vertical"===t.get("orient")?"right":"left"),this.renderInner(o,t,e,i);var a=t.getBoxLayoutParams(),s={width:i.getWidth(),height:i.getHeight()},l=t.get("padding"),u=ha(a,s,l),h=this.layoutInner(t,o,u,n),c=ha(r({width:h.width,height:h.height},a),s,l);this.group.attr("position",[c.x-h.x,c.y-h.y]),this.group.add(this._backgroundEl=wv(h,t))}},resetInner:function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl)},renderInner:function(t,e,i,n){var o=this.getContentGroup(),a=R(),r=e.get("selectedMode"),s=[];i.eachRawSeries(function(t){!t.get("legendHoverLink")&&s.push(t.id)}),QP(e.getData(),function(l,u){var h=l.get("name");if(this.newlineDisabled||""!==h&&"\n"!==h){var c=i.getSeriesByName(h)[0];if(!a.get(h))if(c){var d=c.getData(),f=d.getVisual("color");"function"==typeof f&&(f=f(c.getDataParams(0)));var p=d.getVisual("legendSymbol")||"roundRect",g=d.getVisual("symbol");this._createItem(h,u,l,e,p,g,t,f,r).on("click",JP(bv,h,n)).on("mouseover",JP(Sv,c.name,null,n,s)).on("mouseout",JP(Mv,c.name,null,n,s)),a.set(h,!0)}else i.eachRawSeries(function(i){if(!a.get(h)&&i.legendDataProvider){var o=i.legendDataProvider(),c=o.indexOfName(h);if(c<0)return;var d=o.getItemVisual(c,"color");this._createItem(h,u,l,e,"roundRect",null,t,d,r).on("click",JP(bv,h,n)).on("mouseover",JP(Sv,null,h,n,s)).on("mouseout",JP(Mv,null,h,n,s)),a.set(h,!0)}},this)}else o.add(new tN({newline:!0}))},this)},_createItem:function(t,e,i,n,o,r,s,l,u){var h=n.get("itemWidth"),c=n.get("itemHeight"),d=n.get("inactiveColor"),f=n.get("symbolKeepAspect"),p=n.isSelected(t),g=new tN,m=i.getModel("textStyle"),v=i.get("icon"),y=i.getModel("tooltip"),x=y.parentModel;if(o=v||o,g.add($l(o,0,0,h,c,p?l:d,null==f||f)),!v&&r&&(r!==o||"none"===r)){var _=.8*c;"none"===r&&(r="circle"),g.add($l(r,(h-_)/2,(c-_)/2,_,_,p?l:d,null==f||f))}var w="left"===s?h+5:-5,b=s,S=n.get("formatter"),M=t;"string"==typeof S&&S?M=S.replace("{name}",null!=t?t:""):"function"==typeof S&&(M=S(t)),g.add(new rM({style:go({},m,{text:M,x:w,y:c/2,textFill:p?m.getTextColor():d,textAlign:b,textVerticalAlign:"middle"})}));var I=new yM({shape:g.getBoundingRect(),invisible:!0,tooltip:y.get("show")?a({content:t,formatter:x.get("formatter",!0)||function(){return t},formatterParams:{componentType:"legend",legendIndex:n.componentIndex,name:t,$vars:["name"]}},y.option):null});return g.add(I),g.eachChild(function(t){t.silent=!0}),I.silent=!u,this.getContentGroup().add(g),co(g),g.__legendDataIndex=e,g},layoutInner:function(t,e,i){var n=this.getContentGroup();rI(t.get("orient"),n,t.get("itemGap"),i.width,i.height);var o=n.getBoundingRect();return n.attr("position",[-o.x,-o.y]),this.group.getBoundingRect()},remove:function(){this.getContentGroup().removeAll(),this._isFirstRender=!0}});Ns(function(t){var e=t.findComponents({mainType:"legend"});e&&e.length&&t.filterSeries(function(t){for(var i=0;ii[l],p=[-c.x,-c.y];n||(p[s]=o.position[s]);var g=[0,0],m=[-d.x,-d.y],v=A(t.get("pageButtonGap",!0),t.get("itemGap",!0));f&&("end"===t.get("pageButtonPosition",!0)?m[s]+=i[l]-d[l]:g[s]+=d[l]+v),m[1-s]+=c[u]/2-d[u]/2,o.attr("position",p),a.attr("position",g),r.attr("position",m);var y=this.group.getBoundingRect();if((y={x:0,y:0})[l]=f?i[l]:c[l],y[u]=Math.max(c[u],d[u]),y[h]=Math.min(0,d[h]+m[1-s]),a.__rectSize=i[l],f){var x={x:0,y:0};x[l]=Math.max(i[l]-d[l]-v,0),x[u]=y[u],a.setClipPath(new yM({shape:x})),a.__rectSize=x[l]}else r.eachChild(function(t){t.attr({invisible:!0,silent:!0})});var _=this._getPageInfo(t);return null!=_.pageIndex&&Mo(o,{position:_.contentPosition},!!f&&t),this._updatePageInfoView(t,_),y},_pageGo:function(t,e,i){var n=this._getPageInfo(e)[t];null!=n&&i.dispatchAction({type:"legendScroll",scrollDataIndex:n,legendId:e.id})},_updatePageInfoView:function(t,e){var i=this._controllerGroup;d(["pagePrev","pageNext"],function(n){var o=null!=e[n+"DataIndex"],a=i.childOfName(n);a&&(a.setStyle("fill",o?t.get("pageIconColor",!0):t.get("pageIconInactiveColor",!0)),a.cursor=o?"pointer":"default")});var n=i.childOfName("pageText"),o=t.get("pageFormatter"),a=e.pageIndex,r=null!=a?a+1:0,s=e.pageCount;n&&o&&n.setStyle("text",_(o)?o.replace("{current}",r).replace("{total}",s):o({current:r,total:s}))},_getPageInfo:function(t){function e(t){if(t){var e=t.getBoundingRect(),i=e[l]+t.position[r];return{s:i,e:i+e[s],i:t.__legendDataIndex}}}function i(t,e){return t.e>=e&&t.s<=e+a}var n=t.get("scrollDataIndex",!0),o=this.getContentGroup(),a=this._containerGroup.__rectSize,r=t.getOrient().index,s=oN[r],l=aN[r],u=this._findTargetItemIndex(n),h=o.children(),c=h[u],d=h.length,f=d?1:0,p={contentPosition:o.position.slice(),pageCount:f,pageIndex:f-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!c)return p;var g=e(c);p.contentPosition[r]=-g.s;for(var m=u+1,v=g,y=g,x=null;m<=d;++m)(!(x=e(h[m]))&&y.e>v.s+a||x&&!i(x,v.s))&&(v=y.i>v.i?y:x)&&(null==p.pageNextDataIndex&&(p.pageNextDataIndex=v.i),++p.pageCount),y=x;for(var m=u-1,v=g,y=g,x=null;m>=-1;--m)(x=e(h[m]))&&i(y,x.s)||!(v.i=0;){var r=o.indexOf("|}"),s=o.substr(a+"{marker".length,r-a-"{marker".length);s.indexOf("sub")>-1?n["marker"+s]={textWidth:4,textHeight:4,textBorderRadius:2,textBackgroundColor:e[s],textOffset:[3,0]}:n["marker"+s]={textWidth:10,textHeight:10,textBorderRadius:5,textBackgroundColor:e[s]},a=(o=o.substr(r+1)).indexOf("{marker")}this.el=new rM({style:{rich:n,text:t,textLineHeight:20,textBackgroundColor:i.get("backgroundColor"),textBorderRadius:i.get("borderRadius"),textFill:i.get("textStyle.color"),textPadding:i.get("padding")},z:i.get("z")}),this._zr.add(this.el);var l=this;this.el.on("mouseover",function(){l._enterable&&(clearTimeout(l._hideTimeout),l._show=!0),l._inContent=!0}),this.el.on("mouseout",function(){l._enterable&&l._show&&l.hideLater(l._hideDelay),l._inContent=!1})},setEnterable:function(t){this._enterable=t},getSize:function(){var t=this.el.getBoundingRect();return[t.width,t.height]},moveTo:function(t,e){this.el&&this.el.attr("position",[t,e])},hide:function(){this.el.hide(),this._show=!1},hideLater:function(t){!this._show||this._inContent&&this._enterable||(t?(this._hideDelay=t,this._show=!1,this._hideTimeout=setTimeout(m(this.hide,this),t)):this.hide())},isShow:function(){return this._show},getOuterSize:function(){return this.getSize()}};var hN=m,cN=d,dN=Bo,fN=new yM({shape:{x:-1,y:-1,width:2,height:2}});Fs({type:"tooltip",init:function(t,e){if(!U_.node){var i=t.getComponent("tooltip").get("renderMode");this._renderMode=Hi(i);var n;"html"===this._renderMode?(n=new Cv(e.getDom(),e),this._newLine="
"):(n=new Lv(e),this._newLine="\n"),this._tooltipContent=n}},render:function(t,e,i){if(!U_.node){this.group.removeAll(),this._tooltipModel=t,this._ecModel=e,this._api=i,this._lastDataByCoordSys=null,this._alwaysShowContent=t.get("alwaysShowContent");var n=this._tooltipContent;n.update(),n.setEnterable(t.get("enterable")),this._initGlobalListener(),this._keepShow()}},_initGlobalListener:function(){var t=this._tooltipModel.get("triggerOn");um("itemTooltip",this._api,hN(function(e,i,n){"none"!==t&&(t.indexOf(e)>=0?this._tryShow(i,n):"leave"===e&&this._hide(n))},this))},_keepShow:function(){var t=this._tooltipModel,e=this._ecModel,i=this._api;if(null!=this._lastX&&null!=this._lastY&&"none"!==t.get("triggerOn")){var n=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout(function(){n.manuallyShowTip(t,e,i,{x:n._lastX,y:n._lastY})})}},manuallyShowTip:function(t,e,i,n){if(n.from!==this.uid&&!U_.node){var o=Pv(n,i);this._ticket="";var a=n.dataByCoordSys;if(n.tooltip&&null!=n.x&&null!=n.y){var r=fN;r.position=[n.x,n.y],r.update(),r.tooltip=n.tooltip,this._tryShow({offsetX:n.x,offsetY:n.y,target:r},o)}else if(a)this._tryShow({offsetX:n.x,offsetY:n.y,position:n.position,event:{},dataByCoordSys:n.dataByCoordSys,tooltipOption:n.tooltipOption},o);else if(null!=n.seriesIndex){if(this._manuallyAxisShowTip(t,e,i,n))return;var s=_P(n,e),l=s.point[0],u=s.point[1];null!=l&&null!=u&&this._tryShow({offsetX:l,offsetY:u,position:n.position,target:s.el,event:{}},o)}else null!=n.x&&null!=n.y&&(i.dispatchAction({type:"updateAxisPointer",x:n.x,y:n.y}),this._tryShow({offsetX:n.x,offsetY:n.y,position:n.position,target:i.getZr().findHover(n.x,n.y).target,event:{}},o))}},manuallyHideTip:function(t,e,i,n){var o=this._tooltipContent;!this._alwaysShowContent&&this._tooltipModel&&o.hideLater(this._tooltipModel.get("hideDelay")),this._lastX=this._lastY=null,n.from!==this.uid&&this._hide(Pv(n,i))},_manuallyAxisShowTip:function(t,e,i,n){var o=n.seriesIndex,a=n.dataIndex,r=e.getComponent("axisPointer").coordSysAxesInfo;if(null!=o&&null!=a&&null!=r){var s=e.getSeriesByIndex(o);if(s&&"axis"===(t=kv([s.getData().getItemModel(a),s,(s.coordinateSystem||{}).model,t])).get("trigger"))return i.dispatchAction({type:"updateAxisPointer",seriesIndex:o,dataIndex:a,position:n.position}),!0}},_tryShow:function(t,e){var i=t.target;if(this._tooltipModel){this._lastX=t.offsetX,this._lastY=t.offsetY;var n=t.dataByCoordSys;n&&n.length?this._showAxisTooltip(n,t):i&&null!=i.dataIndex?(this._lastDataByCoordSys=null,this._showSeriesItemTooltip(t,i,e)):i&&i.tooltip?(this._lastDataByCoordSys=null,this._showComponentItemTooltip(t,i,e)):(this._lastDataByCoordSys=null,this._hide(e))}},_showOrMove:function(t,e){var i=t.get("showDelay");e=m(e,this),clearTimeout(this._showTimout),i>0?this._showTimout=setTimeout(e,i):e()},_showAxisTooltip:function(t,e){var i=this._ecModel,o=this._tooltipModel,a=[e.offsetX,e.offsetY],r=[],s=[],l=kv([e.tooltipOption,o]),u=this._renderMode,h=this._newLine,c={};cN(t,function(t){cN(t.dataByAxis,function(t){var e=i.getComponent(t.axisDim+"Axis",t.axisIndex),o=t.value,a=[];if(e&&null!=o){var l=Im(o,e.axis,i,t.seriesDataIndices,t.valueLabelOpt);d(t.seriesDataIndices,function(r){var h=i.getSeriesByIndex(r.seriesIndex),d=r.dataIndexInside,f=h&&h.getDataParams(d);if(f.axisDim=t.axisDim,f.axisIndex=t.axisIndex,f.axisType=t.axisType,f.axisId=t.axisId,f.axisValue=Ul(e.axis,o),f.axisValueLabel=l,f){s.push(f);var p,g=h.formatTooltip(d,!0,null,u);if(w(g)){p=g.html;var m=g.markers;n(c,m)}else p=g;a.push(p)}});var f=l;"html"!==u?r.push(a.join(h)):r.push((f?ea(f)+h:"")+a.join(h))}})},this),r.reverse(),r=r.join(this._newLine+this._newLine);var f=e.position;this._showOrMove(l,function(){this._updateContentNotChangedOnAxis(t)?this._updatePosition(l,f,a[0],a[1],this._tooltipContent,s):this._showTooltipContent(l,r,s,Math.random(),a[0],a[1],f,void 0,c)})},_showSeriesItemTooltip:function(t,e,i){var n=this._ecModel,o=e.seriesIndex,a=n.getSeriesByIndex(o),r=e.dataModel||a,s=e.dataIndex,l=e.dataType,u=r.getData(),h=kv([u.getItemModel(s),r,a&&(a.coordinateSystem||{}).model,this._tooltipModel]),c=h.get("trigger");if(null==c||"item"===c){var d,f,p=r.getDataParams(s,l),g=r.formatTooltip(s,!1,l,this._renderMode);w(g)?(d=g.html,f=g.markers):(d=g,f=null);var m="item_"+r.name+"_"+s;this._showOrMove(h,function(){this._showTooltipContent(h,d,p,m,t.offsetX,t.offsetY,t.position,t.target,f)}),i({type:"showTip",dataIndexInside:s,dataIndex:u.getRawIndex(s),seriesIndex:o,from:this.uid})}},_showComponentItemTooltip:function(t,e,i){var n=e.tooltip;if("string"==typeof n){var o=n;n={content:o,formatter:o}}var a=new Po(n,this._tooltipModel,this._ecModel),r=a.get("content"),s=Math.random();this._showOrMove(a,function(){this._showTooltipContent(a,r,a.get("formatterParams")||{},s,t.offsetX,t.offsetY,t.position,e)}),i({type:"showTip",from:this.uid})},_showTooltipContent:function(t,e,i,n,o,a,r,s,l){if(this._ticket="",t.get("showContent")&&t.get("show")){var u=this._tooltipContent,h=t.get("formatter");r=r||t.get("position");var c=e;if(h&&"string"==typeof h)c=ia(h,i,!0);else if("function"==typeof h){var d=hN(function(e,n){e===this._ticket&&(u.setContent(n,l,t),this._updatePosition(t,r,o,a,u,i,s))},this);this._ticket=n,c=h(i,n,d)}u.setContent(c,l,t),u.show(t),this._updatePosition(t,r,o,a,u,i,s)}},_updatePosition:function(t,e,i,n,o,a,r){var s=this._api.getWidth(),l=this._api.getHeight();e=e||t.get("position");var u=o.getSize(),h=t.get("align"),c=t.get("verticalAlign"),d=r&&r.getBoundingRect().clone();if(r&&d.applyTransform(r.transform),"function"==typeof e&&(e=e([i,n],a,o.el,d,{viewSize:[s,l],contentSize:u.slice()})),y(e))i=dN(e[0],s),n=dN(e[1],l);else if(w(e)){e.width=u[0],e.height=u[1];var f=ha(e,{width:s,height:l});i=f.x,n=f.y,h=null,c=null}else"string"==typeof e&&r?(i=(p=Ev(e,d,u))[0],n=p[1]):(i=(p=Nv(i,n,o,s,l,h?null:20,c?null:20))[0],n=p[1]);if(h&&(i-=Rv(h)?u[0]/2:"right"===h?u[0]:0),c&&(n-=Rv(c)?u[1]/2:"bottom"===c?u[1]:0),t.get("confine")){var p=Ov(i,n,o,s,l);i=p[0],n=p[1]}o.moveTo(i,n)},_updateContentNotChangedOnAxis:function(t){var e=this._lastDataByCoordSys,i=!!e&&e.length===t.length;return i&&cN(e,function(e,n){var o=e.dataByAxis||{},a=(t[n]||{}).dataByAxis||[];(i&=o.length===a.length)&&cN(o,function(t,e){var n=a[e]||{},o=t.seriesDataIndices||[],r=n.seriesDataIndices||[];(i&=t.value===n.value&&t.axisType===n.axisType&&t.axisId===n.axisId&&o.length===r.length)&&cN(o,function(t,e){var n=r[e];i&=t.seriesIndex===n.seriesIndex&&t.dataIndex===n.dataIndex})})}),this._lastDataByCoordSys=t,!!i},_hide:function(t){this._lastDataByCoordSys=null,t({type:"hideTip",from:this.uid})},dispose:function(t,e){U_.node||(this._tooltipContent.hide(),gm("itemTooltip",e))}}),Os({type:"showTip",event:"showTip",update:"tooltip:manuallyShowTip"},function(){}),Os({type:"hideTip",event:"hideTip",update:"tooltip:manuallyHideTip"},function(){}),Gv.prototype={constructor:Gv,pointToData:function(t,e){return this.polar.pointToData(t,e)["radius"===this.dim?0:1]},dataToRadius:rD.prototype.dataToCoord,radiusToData:rD.prototype.coordToData},u(Gv,rD);var pN=Bi();Fv.prototype={constructor:Fv,pointToData:function(t,e){return this.polar.pointToData(t,e)["radius"===this.dim?0:1]},dataToAngle:rD.prototype.dataToCoord,angleToData:rD.prototype.coordToData,calculateCategoryInterval:function(){var t=this,e=t.getLabelModel(),i=t.scale,n=i.getExtent(),o=i.count();if(n[1]-n[0]<1)return 0;var a=n[0],r=t.dataToCoord(a+1)-t.dataToCoord(a),s=Math.abs(r),l=ke(a,e.getFont(),"center","top"),u=Math.max(l.height,7)/s;isNaN(u)&&(u=1/0);var h=Math.max(0,Math.floor(u)),c=pN(t.model),d=c.lastAutoInterval,f=c.lastTickCount;return null!=d&&null!=f&&Math.abs(d-h)<=1&&Math.abs(f-o)<=1&&d>h?h=d:(c.lastTickCount=o,c.lastAutoInterval=h),h}},u(Fv,rD);var gN=function(t){this.name=t||"",this.cx=0,this.cy=0,this._radiusAxis=new Gv,this._angleAxis=new Fv,this._radiusAxis.polar=this._angleAxis.polar=this};gN.prototype={type:"polar",axisPointerEnabled:!0,constructor:gN,dimensions:["radius","angle"],model:null,containPoint:function(t){var e=this.pointToCoord(t);return this._radiusAxis.contain(e[0])&&this._angleAxis.contain(e[1])},containData:function(t){return this._radiusAxis.containData(t[0])&&this._angleAxis.containData(t[1])},getAxis:function(t){return this["_"+t+"Axis"]},getAxes:function(){return[this._radiusAxis,this._angleAxis]},getAxesByScale:function(t){var e=[],i=this._angleAxis,n=this._radiusAxis;return i.scale.type===t&&e.push(i),n.scale.type===t&&e.push(n),e},getAngleAxis:function(){return this._angleAxis},getRadiusAxis:function(){return this._radiusAxis},getOtherAxis:function(t){var e=this._angleAxis;return t===e?this._radiusAxis:e},getBaseAxis:function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAngleAxis()},getTooltipAxes:function(t){var e=null!=t&&"auto"!==t?this.getAxis(t):this.getBaseAxis();return{baseAxes:[e],otherAxes:[this.getOtherAxis(e)]}},dataToPoint:function(t,e){return this.coordToPoint([this._radiusAxis.dataToRadius(t[0],e),this._angleAxis.dataToAngle(t[1],e)])},pointToData:function(t,e){var i=this.pointToCoord(t);return[this._radiusAxis.radiusToData(i[0],e),this._angleAxis.angleToData(i[1],e)]},pointToCoord:function(t){var e=t[0]-this.cx,i=t[1]-this.cy,n=this.getAngleAxis(),o=n.getExtent(),a=Math.min(o[0],o[1]),r=Math.max(o[0],o[1]);n.inverse?a=r-360:r=a+360;var s=Math.sqrt(e*e+i*i);e/=s,i/=s;for(var l=Math.atan2(-i,e)/Math.PI*180,u=lr;)l+=360*u;return[s,l]},coordToPoint:function(t){var e=t[0],i=t[1]/180*Math.PI;return[Math.cos(i)*e+this.cx,-Math.sin(i)*e+this.cy]}};var mN=uI.extend({type:"polarAxis",axis:null,getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"polar",index:this.option.polarIndex,id:this.option.polarId})[0]}});n(mN.prototype,XA);var vN={angle:{startAngle:90,clockwise:!0,splitNumber:12,axisLabel:{rotate:!1}},radius:{splitNumber:5}};RD("angle",mN,Wv,vN.angle),RD("radius",mN,Wv,vN.radius),Gs({type:"polar",dependencies:["polarAxis","angleAxis"],coordinateSystem:null,findAxisModel:function(t){var e;return this.ecModel.eachComponent(t,function(t){t.getCoordSysModel()===this&&(e=t)},this),e},defaultOption:{zlevel:0,z:0,center:["50%","50%"],radius:"80%"}});var yN={dimensions:gN.prototype.dimensions,create:function(t,e){var i=[];return t.eachComponent("polar",function(t,n){var o=new gN(n);o.update=Zv;var a=o.getRadiusAxis(),r=o.getAngleAxis(),s=t.findAxisModel("radiusAxis"),l=t.findAxisModel("angleAxis");Uv(a,s),Uv(r,l),Hv(o,t,e),i.push(o),t.coordinateSystem=o,o.model=t}),t.eachSeries(function(e){if("polar"===e.get("coordinateSystem")){var i=t.queryComponents({mainType:"polar",index:e.get("polarIndex"),id:e.get("polarId")})[0];e.coordinateSystem=i.coordinateSystem}}),i}};Ga.register("polar",yN);var xN=["axisLine","axisLabel","axisTick","splitLine","splitArea"];jD.extend({type:"angleAxis",axisPointerClass:"PolarAxisPointer",render:function(t,e){if(this.group.removeAll(),t.get("show")){var n=t.axis,o=n.polar,a=o.getRadiusAxis().getExtent(),r=n.getTicksCoords(),s=f(n.getViewLabels(),function(t){return(t=i(t)).coord=n.dataToCoord(t.tickValue),t});Yv(s),Yv(r),d(xN,function(e){!t.get(e+".show")||n.scale.isBlank()&&"axisLine"!==e||this["_"+e](t,o,r,a,s)},this)}},_axisLine:function(t,e,i,n){var o=t.getModel("axisLine.lineStyle"),a=new sM({shape:{cx:e.cx,cy:e.cy,r:n[jv(e)]},style:o.getLineStyle(),z2:1,silent:!0});a.style.fill=null,this.group.add(a)},_axisTick:function(t,e,i,n){var o=t.getModel("axisTick"),a=(o.get("inside")?-1:1)*o.get("length"),s=n[jv(e)],l=f(i,function(t){return new _M({shape:Xv(e,[s,s+a],t.coord)})});this.group.add(OM(l,{style:r(o.getModel("lineStyle").getLineStyle(),{stroke:t.get("axisLine.lineStyle.color")})}))},_axisLabel:function(t,e,i,n,o){var a=t.getCategories(!0),r=t.getModel("axisLabel"),s=r.get("margin");d(o,function(i,o){var l=r,u=i.tickValue,h=n[jv(e)],c=e.coordToPoint([h+s,i.coord]),d=e.cx,f=e.cy,p=Math.abs(c[0]-d)/h<.3?"center":c[0]>d?"left":"right",g=Math.abs(c[1]-f)/h<.3?"middle":c[1]>f?"top":"bottom";a&&a[u]&&a[u].textStyle&&(l=new Po(a[u].textStyle,r,r.ecModel));var m=new rM({silent:!0});this.group.add(m),go(m.style,l,{x:c[0],y:c[1],textFill:l.getTextColor()||t.get("axisLine.lineStyle.color"),text:i.formattedLabel,textAlign:p,textVerticalAlign:g})},this)},_splitLine:function(t,e,i,n){var o=t.getModel("splitLine").getModel("lineStyle"),a=o.get("color"),s=0;a=a instanceof Array?a:[a];for(var l=[],u=0;u=0?"p":"n",M=y;v&&(n[r][b]||(n[r][b]={p:y,n:y}),M=n[r][b][S]);var I,T,A,D;if("radius"===h.dim){var C=h.dataToRadius(w)-y,L=a.dataToAngle(b);Math.abs(C)=0},PN.findTargetInfo=function(t,e){for(var i=this._targetInfoList,n=dy(e,t),o=0;o=0||DN(n,t.getAxis("y").model)>=0)&&a.push(t)}),e.push({panelId:"grid--"+t.id,gridModel:t,coordSysModel:t,coordSys:a[0],coordSyses:a,getPanelRect:EN.grid,xAxisDeclared:r[t.id],yAxisDeclared:s[t.id]})}))},geo:function(t,e){AN(t.geoModels,function(t){var i=t.coordinateSystem;e.push({panelId:"geo--"+t.id,geoModel:t,coordSysModel:t,coordSys:i,coordSyses:[i],getPanelRect:EN.geo})})}},ON=[function(t,e){var i=t.xAxisModel,n=t.yAxisModel,o=t.gridModel;return!o&&i&&(o=i.axis.grid.model),!o&&n&&(o=n.axis.grid.model),o&&o===e.gridModel},function(t,e){var i=t.geoModel;return i&&i===e.geoModel}],EN={grid:function(){return this.coordSys.grid.getRect().clone()},geo:function(){var t=this.coordSys,e=t.getBoundingRect().clone();return e.applyTransform(To(t)),e}},RN={lineX:CN(fy,0),lineY:CN(fy,1),rect:function(t,e,i){var n=e[LN[t]]([i[0][0],i[1][0]]),o=e[LN[t]]([i[0][1],i[1][1]]),a=[cy([n[0],o[0]]),cy([n[1],o[1]])];return{values:a,xyMinMax:a}},polygon:function(t,e,i){var n=[[1/0,-1/0],[1/0,-1/0]];return{values:f(i,function(i){var o=e[LN[t]](i);return n[0][0]=Math.min(n[0][0],o[0]),n[1][0]=Math.min(n[1][0],o[1]),n[0][1]=Math.max(n[0][1],o[0]),n[1][1]=Math.max(n[1][1],o[1]),o}),xyMinMax:n}}},zN={lineX:CN(py,0),lineY:CN(py,1),rect:function(t,e,i){return[[t[0][0]-i[0]*e[0][0],t[0][1]-i[0]*e[0][1]],[t[1][0]-i[1]*e[1][0],t[1][1]-i[1]*e[1][1]]]},polygon:function(t,e,i){return f(t,function(t,n){return[t[0]-i[0]*e[n][0],t[1]-i[1]*e[n][1]]})}},BN=["inBrush","outOfBrush"],VN="__ecBrushSelect",GN="__ecInBrushSelectEvent",FN=GT.VISUAL.BRUSH;Rs(FN,function(t,e,i){t.eachComponent({mainType:"brush"},function(e){i&&"takeGlobalCursor"===i.type&&e.setBrushOption("brush"===i.key?i.brushOption:{brushType:!1}),(e.brushTargetManager=new hy(e.option,t)).setInputRanges(e.areas,t)})}),zs(FN,function(t,e,n){var o,a,s=[];t.eachComponent({mainType:"brush"},function(e,n){function l(t){return"all"===m||v[t]}function u(t){return!!t.length}function h(t,e){var i=t.coordinateSystem;w|=i.hasAxisBrushed(),l(e)&&i.eachActiveState(t.getData(),function(t,e){"active"===t&&(x[e]=1)})}function c(i,n,o){var a=_y(i);if(a&&!wy(e,n)&&(d(b,function(n){a[n.brushType]&&e.brushTargetManager.controlSeries(n,i,t)&&o.push(n),w|=u(o)}),l(n)&&u(o))){var r=i.getData();r.each(function(t){xy(a,o,r,t)&&(x[t]=1)})}}var p={brushId:e.id,brushIndex:n,brushName:e.name,areas:i(e.areas),selected:[]};s.push(p);var g=e.option,m=g.brushLink,v=[],x=[],_=[],w=0;n||(o=g.throttleType,a=g.throttleDelay);var b=f(e.areas,function(t){return by(r({boundingRect:WN[t.brushType](t)},t))}),S=ty(e.option,BN,function(t){t.mappingMethod="fixed"});y(m)&&d(m,function(t){v[t]=1}),t.eachSeries(function(t,e){var i=_[e]=[];"parallel"===t.subType?h(t,e):c(t,e,i)}),t.eachSeries(function(t,e){var i={seriesId:t.id,seriesIndex:e,seriesName:t.name,dataIndex:[]};p.selected.push(i);var n=_y(t),o=_[e],a=t.getData(),r=l(e)?function(t){return x[t]?(i.dataIndex.push(a.getRawIndex(t)),"inBrush"):"outOfBrush"}:function(t){return xy(n,o,a,t)?(i.dataIndex.push(a.getRawIndex(t)),"inBrush"):"outOfBrush"};(l(e)?w:u(o))&&iy(BN,S,a,r)})}),vy(e,o,a,s,n)});var WN={lineX:B,lineY:B,rect:function(t){return Sy(t.range)},polygon:function(t){for(var e,i=t.range,n=0,o=i.length;ne[0][1]&&(e[0][1]=a[0]),a[1]e[1][1]&&(e[1][1]=a[1])}return e&&Sy(e)}},HN=["#ddd"];Gs({type:"brush",dependencies:["geo","grid","xAxis","yAxis","parallel","series"],defaultOption:{toolbox:null,brushLink:null,seriesIndex:"all",geoIndex:null,xAxisIndex:null,yAxisIndex:null,brushType:"rect",brushMode:"single",transformable:!0,brushStyle:{borderWidth:1,color:"rgba(120,140,180,0.3)",borderColor:"rgba(120,140,180,0.8)"},throttleType:"fixRate",throttleDelay:0,removeOnClick:!0,z:1e4},areas:[],brushType:null,brushOption:{},coordInfoList:[],optionUpdated:function(t,e){var i=this.option;!e&&ey(i,t,["inBrush","outOfBrush"]);var n=i.inBrush=i.inBrush||{};i.outOfBrush=i.outOfBrush||{color:HN},n.hasOwnProperty("liftZ")||(n.liftZ=5)},setAreas:function(t){t&&(this.areas=f(t,function(t){return My(this.option,t)},this))},setBrushOption:function(t){this.brushOption=My(this.option,t),this.brushType=this.brushOption.brushType}});Fs({type:"brush",init:function(t,e){this.ecModel=t,this.api=e,this.model,(this._brushController=new Rf(e.getZr())).on("brush",m(this._onBrush,this)).mount()},render:function(t){return this.model=t,Iy.apply(this,arguments)},updateTransform:Iy,updateView:Iy,dispose:function(){this._brushController.dispose()},_onBrush:function(t,e){var n=this.model.id;this.model.brushTargetManager.setOutputRanges(t,this.ecModel),(!e.isEnd||e.removeOnClick)&&this.api.dispatchAction({type:"brush",brushId:n,areas:i(t),$from:n})}}),Os({type:"brush",event:"brush"},function(t,e){e.eachComponent({mainType:"brush",query:t},function(e){e.setAreas(t.areas)})}),Os({type:"brushSelect",event:"brushSelected",update:"none"},function(){});var ZN={},UN=sT.toolbox.brush;Dy.defaultOption={show:!0,type:["rect","polygon","lineX","lineY","keep","clear"],icon:{rect:"M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13",polygon:"M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2",lineX:"M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4",lineY:"M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4",keep:"M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z",clear:"M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2"},title:i(UN.title)};var XN=Dy.prototype;XN.render=XN.updateView=function(t,e,i){var n,o,a;e.eachComponent({mainType:"brush"},function(t){n=t.brushType,o=t.brushOption.brushMode||"single",a|=t.areas.length}),this._brushType=n,this._brushMode=o,d(t.get("type",!0),function(e){t.setIconStatus(e,("keep"===e?"multiple"===o:"clear"===e?a:e===n)?"emphasis":"normal")})},XN.getIcons=function(){var t=this.model,e=t.get("icon",!0),i={};return d(t.get("type",!0),function(t){e[t]&&(i[t]=e[t])}),i},XN.onclick=function(t,e,i){var n=this._brushType,o=this._brushMode;"clear"===i?(e.dispatchAction({type:"axisAreaSelect",intervals:[]}),e.dispatchAction({type:"brush",command:"clear",areas:[]})):e.dispatchAction({type:"takeGlobalCursor",key:"brush",brushOption:{brushType:"keep"===i?n:n!==i&&i,brushMode:"keep"===i?"multiple"===o?"single":"multiple":o}})},Ty("brush",Dy),Ps(function(t,e){var i=t&&t.brush;if(y(i)||(i=i?[i]:[]),i.length){var n=[];d(i,function(t){var e=t.hasOwnProperty("toolbox")?t.toolbox:[];e instanceof Array&&(n=n.concat(e))});var o=t&&t.toolbox;y(o)&&(o=o[0]),o||(o={feature:{}},t.toolbox=[o]);var a=o.feature||(o.feature={}),r=a.brush||(a.brush={}),s=r.type||(r.type=[]);s.push.apply(s,n),Jv(s),e&&!s.length&&s.push.apply(s,MN)}});Cy.prototype={constructor:Cy,type:"calendar",dimensions:["time","value"],getDimensionsInfo:function(){return[{name:"time",type:"time"},"value"]},getRangeInfo:function(){return this._rangeInfo},getModel:function(){return this._model},getRect:function(){return this._rect},getCellWidth:function(){return this._sw},getCellHeight:function(){return this._sh},getOrient:function(){return this._orient},getFirstDayOfWeek:function(){return this._firstDayOfWeek},getDateInfo:function(t){var e=(t=jo(t)).getFullYear(),i=t.getMonth()+1;i=i<10?"0"+i:i;var n=t.getDate();n=n<10?"0"+n:n;var o=t.getDay();return o=Math.abs((o+7-this.getFirstDayOfWeek())%7),{y:e,m:i,d:n,day:o,time:t.getTime(),formatedDate:e+"-"+i+"-"+n,date:t}},getNextNDay:function(t,e){return 0===(e=e||0)?this.getDateInfo(t):((t=new Date(this.getDateInfo(t).time)).setDate(t.getDate()+e),this.getDateInfo(t))},update:function(t,e){function i(t,e){return null!=t[e]&&"auto"!==t[e]}this._firstDayOfWeek=+this._model.getModel("dayLabel").get("firstDay"),this._orient=this._model.get("orient"),this._lineWidth=this._model.getModel("itemStyle").getItemStyle().lineWidth||0,this._rangeInfo=this._getRangeInfo(this._initRangeOption());var n=this._rangeInfo.weeks||1,o=["width","height"],a=this._model.get("cellSize").slice(),r=this._model.getBoxLayoutParams(),s="horizontal"===this._orient?[n,7]:[7,n];d([0,1],function(t){i(a,t)&&(r[o[t]]=a[t]*s[t])});var l={width:e.getWidth(),height:e.getHeight()},u=this._rect=ha(r,l);d([0,1],function(t){i(a,t)||(a[t]=u[o[t]]/s[t])}),this._sw=a[0],this._sh=a[1]},dataToPoint:function(t,e){y(t)&&(t=t[0]),null==e&&(e=!0);var i=this.getDateInfo(t),n=this._rangeInfo,o=i.formatedDate;if(e&&!(i.time>=n.start.time&&i.timea.end.time&&t.reverse(),t},_getRangeInfo:function(t){var e;(t=[this.getDateInfo(t[0]),this.getDateInfo(t[1])])[0].time>t[1].time&&(e=!0,t.reverse());var i=Math.floor(t[1].time/864e5)-Math.floor(t[0].time/864e5)+1,n=new Date(t[0].time),o=n.getDate(),a=t[1].date.getDate();if(n.setDate(o+i-1),n.getDate()!==a)for(var r=n.getTime()-t[1].time>0?1:-1;n.getDate()!==a&&(n.getTime()-t[1].time)*r>0;)i-=r,n.setDate(o+i-1);var s=Math.floor((i+t[0].day+6)/7),l=e?1-s:s-1;return e&&t.reverse(),{range:[t[0].formatedDate,t[1].formatedDate],start:t[0],end:t[1],allDay:i,weeks:s,nthWeek:l,fweek:t[0].day,lweek:t[1].day}},_getDateByWeeksAndDay:function(t,e,i){var n=this._getRangeInfo(i);if(t>n.weeks||0===t&&en.lweek)return!1;var o=7*(t-1)-n.fweek+e,a=new Date(n.start.time);return a.setDate(n.start.d+o),this.getDateInfo(a)}},Cy.dimensions=Cy.prototype.dimensions,Cy.getDimensionsInfo=Cy.prototype.getDimensionsInfo,Cy.create=function(t,e){var i=[];return t.eachComponent("calendar",function(n){var o=new Cy(n,t,e);i.push(o),n.coordinateSystem=o}),t.eachSeries(function(t){"calendar"===t.get("coordinateSystem")&&(t.coordinateSystem=i[t.get("calendarIndex")||0])}),i},Ga.register("calendar",Cy);var jN=uI.extend({type:"calendar",coordinateSystem:null,defaultOption:{zlevel:0,z:2,left:80,top:60,cellSize:20,orient:"horizontal",splitLine:{show:!0,lineStyle:{color:"#000",width:1,type:"solid"}},itemStyle:{color:"#fff",borderWidth:1,borderColor:"#ccc"},dayLabel:{show:!0,firstDay:0,position:"start",margin:"50%",nameMap:"en",color:"#000"},monthLabel:{show:!0,position:"start",margin:5,align:"center",nameMap:"en",formatter:null,color:"#000"},yearLabel:{show:!0,position:null,margin:30,formatter:null,color:"#ccc",fontFamily:"sans-serif",fontWeight:"bolder",fontSize:20}},init:function(t,e,i,n){var o=pa(t);jN.superApply(this,"init",arguments),ky(t,o)},mergeOption:function(t,e){jN.superApply(this,"mergeOption",arguments),ky(this.option,t)}}),YN={EN:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],CN:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},qN={EN:["S","M","T","W","T","F","S"],CN:["日","一","二","三","四","五","六"]};Fs({type:"calendar",_tlpoints:null,_blpoints:null,_firstDayOfMonth:null,_firstDayPoints:null,render:function(t,e,i){var n=this.group;n.removeAll();var o=t.coordinateSystem,a=o.getRangeInfo(),r=o.getOrient();this._renderDayRect(t,a,n),this._renderLines(t,a,r,n),this._renderYearText(t,a,r,n),this._renderMonthText(t,r,n),this._renderWeekText(t,a,r,n)},_renderDayRect:function(t,e,i){for(var n=t.coordinateSystem,o=t.getModel("itemStyle").getItemStyle(),a=n.getCellWidth(),r=n.getCellHeight(),s=e.start.time;s<=e.end.time;s=n.getNextNDay(s,1).time){var l=n.dataToRect([s],!1).tl,u=new yM({shape:{x:l[0],y:l[1],width:a,height:r},cursor:"default",style:o});i.add(u)}},_renderLines:function(t,e,i,n){function o(e){a._firstDayOfMonth.push(r.getDateInfo(e)),a._firstDayPoints.push(r.dataToRect([e],!1).tl);var o=a._getLinePointsOfOneWeek(t,e,i);a._tlpoints.push(o[0]),a._blpoints.push(o[o.length-1]),l&&a._drawSplitline(o,s,n)}var a=this,r=t.coordinateSystem,s=t.getModel("splitLine.lineStyle").getLineStyle(),l=t.get("splitLine.show"),u=s.lineWidth;this._tlpoints=[],this._blpoints=[],this._firstDayOfMonth=[],this._firstDayPoints=[];for(var h=e.start,c=0;h.time<=e.end.time;c++){o(h.formatedDate),0===c&&(h=r.getDateInfo(e.start.y+"-"+e.start.m));var d=h.date;d.setMonth(d.getMonth()+1),h=r.getDateInfo(d)}o(r.getNextNDay(e.end.time,1).formatedDate),l&&this._drawSplitline(a._getEdgesPoints(a._tlpoints,u,i),s,n),l&&this._drawSplitline(a._getEdgesPoints(a._blpoints,u,i),s,n)},_getEdgesPoints:function(t,e,i){var n=[t[0].slice(),t[t.length-1].slice()],o="horizontal"===i?0:1;return n[0][o]=n[0][o]-e/2,n[1][o]=n[1][o]+e/2,n},_drawSplitline:function(t,e,i){var n=new gM({z2:20,shape:{points:t},style:e});i.add(n)},_getLinePointsOfOneWeek:function(t,e,i){var n=t.coordinateSystem;e=n.getDateInfo(e);for(var o=[],a=0;a<7;a++){var r=n.getNextNDay(e.time,a),s=n.dataToRect([r.time],!1);o[2*r.day]=s.tl,o[2*r.day+1]=s["horizontal"===i?"bl":"tr"]}return o},_formatterLabel:function(t,e){return"string"==typeof t&&t?na(t,e):"function"==typeof t?t(e):e.nameMap},_yearTextPositionControl:function(t,e,i,n,o){e=e.slice();var a=["center","bottom"];"bottom"===n?(e[1]+=o,a=["center","top"]):"left"===n?e[0]-=o:"right"===n?(e[0]+=o,a=["center","top"]):e[1]-=o;var r=0;return"left"!==n&&"right"!==n||(r=Math.PI/2),{rotation:r,position:e,style:{textAlign:a[0],textVerticalAlign:a[1]}}},_renderYearText:function(t,e,i,n){var o=t.getModel("yearLabel");if(o.get("show")){var a=o.get("margin"),r=o.get("position");r||(r="horizontal"!==i?"top":"left");var s=[this._tlpoints[this._tlpoints.length-1],this._blpoints[0]],l=(s[0][0]+s[1][0])/2,u=(s[0][1]+s[1][1])/2,h="horizontal"===i?0:1,c={top:[l,s[h][1]],bottom:[l,s[1-h][1]],left:[s[1-h][0],u],right:[s[h][0],u]},d=e.start.y;+e.end.y>+e.start.y&&(d=d+"-"+e.end.y);var f=o.get("formatter"),p={start:e.start.y,end:e.end.y,nameMap:d},g=this._formatterLabel(f,p),m=new rM({z2:30});go(m.style,o,{text:g}),m.attr(this._yearTextPositionControl(m,c[r],i,r,a)),n.add(m)}},_monthTextPositionControl:function(t,e,i,n,o){var a="left",r="top",s=t[0],l=t[1];return"horizontal"===i?(l+=o,e&&(a="center"),"start"===n&&(r="bottom")):(s+=o,e&&(r="middle"),"start"===n&&(a="right")),{x:s,y:l,textAlign:a,textVerticalAlign:r}},_renderMonthText:function(t,e,i){var n=t.getModel("monthLabel");if(n.get("show")){var o=n.get("nameMap"),r=n.get("margin"),s=n.get("position"),l=n.get("align"),u=[this._tlpoints,this._blpoints];_(o)&&(o=YN[o.toUpperCase()]||[]);var h="start"===s?0:1,c="horizontal"===e?0:1;r="start"===s?-r:r;for(var d="center"===l,f=0;f=r[0]&&t<=r[1]}if(t===this._dataZoomModel){var n=this._dimName,o=this.getTargetSeriesModels(),a=t.get("filterMode"),r=this._valueWindow;"none"!==a&&JN(o,function(t){var e=t.getData(),o=e.mapDimension(n,!0);o.length&&("weakFilter"===a?e.filterSelf(function(t){for(var i,n,a,s=0;sr[1];if(u&&!h&&!c)return!0;u&&(a=!0),h&&(i=!0),c&&(n=!0)}return a&&i&&n}):JN(o,function(n){if("empty"===a)t.setData(e.map(n,function(t){return i(t)?t:NaN}));else{var o={};o[n]=r,e.selectRange(o)}}),JN(o,function(t){e.setApproximateExtent(r,t)}))})}}};var eO=d,iO=$N,nO=Gs({type:"dataZoom",dependencies:["xAxis","yAxis","zAxis","radiusAxis","angleAxis","singleAxis","series"],defaultOption:{zlevel:0,z:4,orient:null,xAxisIndex:null,yAxisIndex:null,filterMode:"filter",throttle:null,start:0,end:100,startValue:null,endValue:null,minSpan:null,maxSpan:null,minValueSpan:null,maxValueSpan:null,rangeMode:null},init:function(t,e,i){this._dataIntervalByAxis={},this._dataInfo={},this._axisProxies={},this.textStyleModel,this._autoThrottle=!0,this._rangePropMode=["percent","percent"];var n=By(t);this.mergeDefaultAndTheme(t,i),this.doInit(n)},mergeOption:function(t){var e=By(t);n(this.option,t,!0),this.doInit(e)},doInit:function(t){var e=this.option;U_.canvasSupported||(e.realtime=!1),this._setDefaultThrottle(t),Vy(this,t),eO([["start","startValue"],["end","endValue"]],function(t,i){"value"===this._rangePropMode[i]&&(e[t[0]]=null)},this),this.textStyleModel=this.getModel("textStyle"),this._resetTarget(),this._giveAxisProxies()},_giveAxisProxies:function(){var t=this._axisProxies;this.eachTargetAxis(function(e,i,n,o){var a=this.dependentModels[e.axis][i],r=a.__dzAxisProxy||(a.__dzAxisProxy=new tO(e.name,i,this,o));t[e.name+"_"+i]=r},this)},_resetTarget:function(){var t=this.option,e=this._judgeAutoMode();iO(function(e){var i=e.axisIndex;t[i]=Di(t[i])},this),"axisIndex"===e?this._autoSetAxisIndex():"orient"===e&&this._autoSetOrient()},_judgeAutoMode:function(){var t=this.option,e=!1;iO(function(i){null!=t[i.axisIndex]&&(e=!0)},this);var i=t.orient;return null==i&&e?"orient":e?void 0:(null==i&&(t.orient="horizontal"),"axisIndex")},_autoSetAxisIndex:function(){var t=!0,e=this.get("orient",!0),i=this.option,n=this.dependentModels;if(t){var o="vertical"===e?"y":"x";n[o+"Axis"].length?(i[o+"AxisIndex"]=[0],t=!1):eO(n.singleAxis,function(n){t&&n.get("orient",!0)===e&&(i.singleAxisIndex=[n.componentIndex],t=!1)})}t&&iO(function(e){if(t){var n=[],o=this.dependentModels[e.axis];if(o.length&&!n.length)for(var a=0,r=o.length;a0?100:20}},getFirstTargetAxisModel:function(){var t;return iO(function(e){if(null==t){var i=this.get(e.axisIndex);i.length&&(t=this.dependentModels[e.axis][i[0]])}},this),t},eachTargetAxis:function(t,e){var i=this.ecModel;iO(function(n){eO(this.get(n.axisIndex),function(o){t.call(e,n,o,this,i)},this)},this)},getAxisProxy:function(t,e){return this._axisProxies[t+"_"+e]},getAxisModel:function(t,e){var i=this.getAxisProxy(t,e);return i&&i.getAxisModel()},setRawRange:function(t,e){var i=this.option;eO([["start","startValue"],["end","endValue"]],function(e){null==t[e[0]]&&null==t[e[1]]||(i[e[0]]=t[e[0]],i[e[1]]=t[e[1]])},this),!e&&Vy(this,t)},getPercentRange:function(){var t=this.findRepresentativeAxisProxy();if(t)return t.getDataPercentWindow()},getValueRange:function(t,e){if(null!=t||null!=e)return this.getAxisProxy(t,e).getDataValueWindow();var i=this.findRepresentativeAxisProxy();return i?i.getDataValueWindow():void 0},findRepresentativeAxisProxy:function(t){if(t)return t.__dzAxisProxy;var e=this._axisProxies;for(var i in e)if(e.hasOwnProperty(i)&&e[i].hostedBy(this))return e[i];for(var i in e)if(e.hasOwnProperty(i)&&!e[i].hostedBy(this))return e[i]},getRangePropMode:function(){return this._rangePropMode.slice()}}),oO=KI.extend({type:"dataZoom",render:function(t,e,i,n){this.dataZoomModel=t,this.ecModel=e,this.api=i},getTargetCoordInfo:function(){function t(t,e,i,n){for(var o,a=0;a0&&e%g)p+=f;else{var i=null==t||isNaN(t)||""===t,n=i?0:rO(t,a,u,!0);i&&!l&&e?(c.push([c[c.length-1][0],0]),d.push([d[d.length-1][0],0])):!i&&l&&(c.push([p,0]),d.push([p,0])),c.push([p,n]),d.push([p,n]),p+=f,l=i}});var m=this.dataZoomModel;this._displayables.barGroup.add(new pM({shape:{points:c},style:r({fill:m.get("dataBackgroundColor")},m.getModel("dataBackground.areaStyle").getAreaStyle()),silent:!0,z2:-20})),this._displayables.barGroup.add(new gM({shape:{points:d},style:m.getModel("dataBackground.lineStyle").getLineStyle(),silent:!0,z2:-19}))}}},_prepareDataShadowInfo:function(){var t=this.dataZoomModel,e=t.get("showDataShadow");if(!1!==e){var i,n=this.ecModel;return t.eachTargetAxis(function(o,a){d(t.getAxisProxy(o.name,a).getTargetSeriesModels(),function(t){if(!(i||!0!==e&&l(dO,t.get("type"))<0)){var r,s=n.getComponent(o.axis,a).axis,u=Gy(o.name),h=t.coordinateSystem;null!=u&&h.getOtherAxis&&(r=h.getOtherAxis(s).inverse),u=t.getData().mapDimension(u),i={thisAxis:s,series:t,thisDim:o.name,otherDim:u,otherAxisInverse:r}}},this)},this),i}},_renderHandle:function(){var t=this._displayables,e=t.handles=[],i=t.handleLabels=[],n=this._displayables.barGroup,o=this._size,a=this.dataZoomModel;n.add(t.filler=new aO({draggable:!0,cursor:Fy(this._orient),drift:lO(this._onDragMove,this,"all"),onmousemove:function(t){mw(t.event)},ondragstart:lO(this._showDataInfo,this,!0),ondragend:lO(this._onDragEnd,this),onmouseover:lO(this._showDataInfo,this,!0),onmouseout:lO(this._showDataInfo,this,!1),style:{fill:a.get("fillerColor"),textPosition:"inside"}})),n.add(new aO(Kn({silent:!0,shape:{x:0,y:0,width:o[0],height:o[1]},style:{stroke:a.get("dataBackgroundColor")||a.get("borderColor"),lineWidth:1,fill:"rgba(0,0,0,0)"}}))),uO([0,1],function(t){var o=ko(a.get("handleIcon"),{cursor:Fy(this._orient),draggable:!0,drift:lO(this._onDragMove,this,t),onmousemove:function(t){mw(t.event)},ondragend:lO(this._onDragEnd,this),onmouseover:lO(this._showDataInfo,this,!0),onmouseout:lO(this._showDataInfo,this,!1)},{x:-1,y:0,width:2,height:2}),r=o.getBoundingRect();this._handleHeight=Bo(a.get("handleSize"),this._size[1]),this._handleWidth=r.width/r.height*this._handleHeight,o.setStyle(a.getModel("handleStyle").getItemStyle());var s=a.get("handleColor");null!=s&&(o.style.fill=s),n.add(e[t]=o);var l=a.textStyleModel;this.group.add(i[t]=new rM({silent:!0,invisible:!0,style:{x:0,y:0,text:"",textVerticalAlign:"middle",textAlign:"center",textFill:l.getTextColor(),textFont:l.getFont()},z2:10}))},this)},_resetInterval:function(){var t=this._range=this.dataZoomModel.getPercentRange(),e=this._getViewExtent();this._handleEnds=[rO(t[0],[0,100],e,!0),rO(t[1],[0,100],e,!0)]},_updateInterval:function(t,e){var i=this.dataZoomModel,n=this._handleEnds,o=this._getViewExtent(),a=i.findRepresentativeAxisProxy().getMinMaxSpan(),r=[0,100];tk(e,n,o,i.get("zoomLock")?"all":t,null!=a.minSpan?rO(a.minSpan,r,o,!0):null,null!=a.maxSpan?rO(a.maxSpan,r,o,!0):null);var s=this._range,l=this._range=sO([rO(n[0],o,r,!0),rO(n[1],o,r,!0)]);return!s||s[0]!==l[0]||s[1]!==l[1]},_updateView:function(t){var e=this._displayables,i=this._handleEnds,n=sO(i.slice()),o=this._size;uO([0,1],function(t){var n=e.handles[t],a=this._handleHeight;n.attr({scale:[a/2,a/2],position:[i[t],o[1]/2-a/2]})},this),e.filler.setShape({x:n[0],y:0,width:n[1]-n[0],height:o[1]}),this._updateDataInfo(t)},_updateDataInfo:function(t){function e(t){var e=To(n.handles[t].parent,this.group),i=Do(0===t?"right":"left",e),s=this._handleWidth/2+cO,l=Ao([c[t]+(0===t?-s:s),this._size[1]/2],e);o[t].setStyle({x:l[0],y:l[1],textVerticalAlign:a===hO?"middle":i,textAlign:a===hO?i:"center",text:r[t]})}var i=this.dataZoomModel,n=this._displayables,o=n.handleLabels,a=this._orient,r=["",""];if(i.get("showDetail")){var s=i.findRepresentativeAxisProxy();if(s){var l=s.getAxisModel().axis,u=this._range,h=t?s.calculateDataWindow({start:u[0],end:u[1]}).valueWindow:s.getDataValueWindow();r=[this._formatLabel(h[0],l),this._formatLabel(h[1],l)]}}var c=sO(this._handleEnds.slice());e.call(this,0),e.call(this,1)},_formatLabel:function(t,e){var i=this.dataZoomModel,n=i.get("labelFormatter"),o=i.get("labelPrecision");null!=o&&"auto"!==o||(o=e.getPixelPrecision());var a=null==t||isNaN(t)?"":"category"===e.type||"time"===e.type?e.scale.getLabel(Math.round(t)):t.toFixed(Math.min(o,20));return x(n)?n(t,a):_(n)?n.replace("{value}",a):a},_showDataInfo:function(t){t=this._dragging||t;var e=this._displayables.handleLabels;e[0].attr("invisible",!t),e[1].attr("invisible",!t)},_onDragMove:function(t,e,i){this._dragging=!0;var n=Ao([e,i],this._displayables.barGroup.getLocalTransform(),!0),o=this._updateInterval(t,n[0]),a=this.dataZoomModel.get("realtime");this._updateView(!a),o&&a&&this._dispatchZoomAction()},_onDragEnd:function(){this._dragging=!1,this._showDataInfo(!1),!this.dataZoomModel.get("realtime")&&this._dispatchZoomAction()},_onClickPanelClick:function(t){var e=this._size,i=this._displayables.barGroup.transformCoordToLocal(t.offsetX,t.offsetY);if(!(i[0]<0||i[0]>e[0]||i[1]<0||i[1]>e[1])){var n=this._handleEnds,o=(n[0]+n[1])/2,a=this._updateInterval("all",i[0]-o);this._updateView(),a&&this._dispatchZoomAction()}},_dispatchZoomAction:function(){var t=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,start:t[0],end:t[1]})},_findCoordRect:function(){var t;if(uO(this.getTargetCoordInfo(),function(e){if(!t&&e.length){var i=e[0].model.coordinateSystem;t=i.getRect&&i.getRect()}}),!t){var e=this.api.getWidth(),i=this.api.getHeight();t={x:.2*e,y:.2*i,width:.6*e,height:.6*i}}return t}});nO.extend({type:"dataZoom.inside",defaultOption:{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}});var pO="\0_ec_dataZoom_roams",gO=m,mO=oO.extend({type:"dataZoom.inside",init:function(t,e){this._range},render:function(t,e,i,n){mO.superApply(this,"render",arguments),this._range=t.getPercentRange(),d(this.getTargetCoordInfo(),function(e,n){var o=f(e,function(t){return Zy(t.model)});d(e,function(e){var a=e.model,r={};d(["pan","zoom","scrollMove"],function(t){r[t]=gO(vO[t],this,e,n)},this),Wy(i,{coordId:Zy(a),allCoordIds:o,containsPoint:function(t,e,i){return a.coordinateSystem.containPoint([e,i])},dataZoomId:t.id,dataZoomModel:t,getRange:r})},this)},this)},dispose:function(){Hy(this.api,this.dataZoomModel.id),mO.superApply(this,"dispose",arguments),this._range=null}}),vO={zoom:function(t,e,i,n){var o=this._range,a=o.slice(),r=t.axisModels[0];if(r){var s=yO[e](null,[n.originX,n.originY],r,i,t),l=(s.signal>0?s.pixelStart+s.pixelLength-s.pixel:s.pixel-s.pixelStart)/s.pixelLength*(a[1]-a[0])+a[0],u=Math.max(1/n.scale,0);a[0]=(a[0]-l)*u+l,a[1]=(a[1]-l)*u+l;var h=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();return tk(0,a,[0,100],0,h.minSpan,h.maxSpan),this._range=a,o[0]!==a[0]||o[1]!==a[1]?a:void 0}},pan:Ky(function(t,e,i,n,o,a){var r=yO[n]([a.oldX,a.oldY],[a.newX,a.newY],e,o,i);return r.signal*(t[1]-t[0])*r.pixel/r.pixelLength}),scrollMove:Ky(function(t,e,i,n,o,a){return yO[n]([0,0],[a.scrollDelta,a.scrollDelta],e,o,i).signal*(t[1]-t[0])*a.scrollDelta})},yO={grid:function(t,e,i,n,o){var a=i.axis,r={},s=o.model.coordinateSystem.getRect();return t=t||[0,0],"x"===a.dim?(r.pixel=e[0]-t[0],r.pixelLength=s.width,r.pixelStart=s.x,r.signal=a.inverse?1:-1):(r.pixel=e[1]-t[1],r.pixelLength=s.height,r.pixelStart=s.y,r.signal=a.inverse?-1:1),r},polar:function(t,e,i,n,o){var a=i.axis,r={},s=o.model.coordinateSystem,l=s.getRadiusAxis().getExtent(),u=s.getAngleAxis().getExtent();return t=t?s.pointToCoord(t):[0,0],e=s.pointToCoord(e),"radiusAxis"===i.mainType?(r.pixel=e[0]-t[0],r.pixelLength=l[1]-l[0],r.pixelStart=l[0],r.signal=a.inverse?1:-1):(r.pixel=e[1]-t[1],r.pixelLength=u[1]-u[0],r.pixelStart=u[0],r.signal=a.inverse?-1:1),r},singleAxis:function(t,e,i,n,o){var a=i.axis,r=o.model.coordinateSystem.getRect(),s={};return t=t||[0,0],"horizontal"===a.orient?(s.pixel=e[0]-t[0],s.pixelLength=r.width,s.pixelStart=r.x,s.signal=a.inverse?1:-1):(s.pixel=e[1]-t[1],s.pixelLength=r.height,s.pixelStart=r.y,s.signal=a.inverse?-1:1),s}};Ns({getTargetSeries:function(t){var e=R();return t.eachComponent("dataZoom",function(t){t.eachTargetAxis(function(t,i,n){d(n.getAxisProxy(t.name,i).getTargetSeriesModels(),function(t){e.set(t.uid,t)})})}),e},modifyOutputEnd:!0,overallReset:function(t,e){t.eachComponent("dataZoom",function(t){t.eachTargetAxis(function(t,i,n){n.getAxisProxy(t.name,i).reset(n,e)}),t.eachTargetAxis(function(t,i,n){n.getAxisProxy(t.name,i).filterData(n,e)})}),t.eachComponent("dataZoom",function(t){var e=t.findRepresentativeAxisProxy(),i=e.getDataPercentWindow(),n=e.getDataValueWindow();t.setRawRange({start:i[0],end:i[1],startValue:n[0],endValue:n[1]},!0)})}}),Os("dataZoom",function(t,e){var i=Ny(m(e.eachComponent,e,"dataZoom"),$N,function(t,e){return t.get(e.axisIndex)}),n=[];e.eachComponent({mainType:"dataZoom",query:t},function(t,e){n.push.apply(n,i(t).nodes)}),d(n,function(e,i){e.setRawRange({start:t.start,end:t.end,startValue:t.startValue,endValue:t.endValue})})});var xO=d,_O=function(t){var e=t&&t.visualMap;y(e)||(e=e?[e]:[]),xO(e,function(t){if(t){$y(t,"splitList")&&!$y(t,"pieces")&&(t.pieces=t.splitList,delete t.splitList);var e=t.pieces;e&&y(e)&&xO(e,function(t){w(t)&&($y(t,"start")&&!$y(t,"min")&&(t.min=t.start),$y(t,"end")&&!$y(t,"max")&&(t.max=t.end))})}})};uI.registerSubTypeDefaulter("visualMap",function(t){return t.categories||(t.pieces?t.pieces.length>0:t.splitNumber>0)&&!t.calculable?"piecewise":"continuous"});var wO=GT.VISUAL.COMPONENT;zs(wO,{createOnAllSeries:!0,reset:function(t,e){var i=[];return e.eachComponent("visualMap",function(e){var n=t.pipelineContext;!e.isTargetSeries(t)||n&&n.large||i.push(ny(e.stateList,e.targetVisuals,m(e.getValueState,e),e.getDataDimension(t.getData())))}),i}}),zs(wO,{createOnAllSeries:!0,reset:function(t,e){var i=t.getData(),n=[];e.eachComponent("visualMap",function(e){if(e.isTargetSeries(t)){var o=e.getVisualMeta(m(Jy,null,t,e))||{stops:[],outerColors:[]},a=e.getDataDimension(i),r=i.getDimensionInfo(a);null!=r&&(o.dimension=r.index,n.push(o))}}),t.getData().setVisual("visualMeta",n)}});var bO={get:function(t,e,n){var o=i((SO[t]||{})[e]);return n&&y(o)?o[o.length-1]:o}},SO={color:{active:["#006edd","#e0ffff"],inactive:["rgba(0,0,0,0)"]},colorHue:{active:[0,360],inactive:[0,0]},colorSaturation:{active:[.3,1],inactive:[0,0]},colorLightness:{active:[.9,.5],inactive:[0,0]},colorAlpha:{active:[.3,1],inactive:[0,0]},opacity:{active:[.3,1],inactive:[0,0]},symbol:{active:["circle","roundRect","diamond"],inactive:["none"]},symbolSize:{active:[10,50],inactive:[0,0]}},MO=cL.mapVisual,IO=cL.eachVisual,TO=y,AO=d,DO=Go,CO=zo,LO=B,kO=Gs({type:"visualMap",dependencies:["series"],stateList:["inRange","outOfRange"],replacableOptionKeys:["inRange","outOfRange","target","controller","color"],dataBound:[-1/0,1/0],layoutMode:{type:"box",ignoreSize:!0},defaultOption:{show:!0,zlevel:0,z:4,seriesIndex:"all",min:0,max:200,dimension:null,inRange:null,outOfRange:null,left:0,right:null,top:null,bottom:0,itemWidth:null,itemHeight:null,inverse:!1,orient:"vertical",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",contentColor:"#5793f3",inactiveColor:"#aaa",borderWidth:0,padding:5,textGap:10,precision:0,color:null,formatter:null,text:null,textStyle:{color:"#333"}},init:function(t,e,i){this._dataExtent,this.targetVisuals={},this.controllerVisuals={},this.textStyleModel,this.itemSize,this.mergeDefaultAndTheme(t,i)},optionUpdated:function(t,e){var i=this.option;U_.canvasSupported||(i.realtime=!1),!e&&ey(i,t,this.replacableOptionKeys),this.textStyleModel=this.getModel("textStyle"),this.resetItemSize(),this.completeVisualOption()},resetVisual:function(t){var e=this.stateList;t=m(t,this),this.controllerVisuals=ty(this.option.controller,e,t),this.targetVisuals=ty(this.option.target,e,t)},getTargetSeriesIndices:function(){var t=this.option.seriesIndex,e=[];return null==t||"all"===t?this.ecModel.eachSeries(function(t,i){e.push(i)}):e=Di(t),e},eachTargetSeries:function(t,e){d(this.getTargetSeriesIndices(),function(i){t.call(e,this.ecModel.getSeriesByIndex(i))},this)},isTargetSeries:function(t){var e=!1;return this.eachTargetSeries(function(i){i===t&&(e=!0)}),e},formatValueText:function(t,e,i){function n(t){return t===l[0]?"min":t===l[1]?"max":(+t).toFixed(Math.min(s,20))}var o,a,r=this.option,s=r.precision,l=this.dataBound,u=r.formatter;return i=i||["<",">"],y(t)&&(t=t.slice(),o=!0),a=e?t:o?[n(t[0]),n(t[1])]:n(t),_(u)?u.replace("{value}",o?a[0]:a).replace("{value2}",o?a[1]:a):x(u)?o?u(t[0],t[1]):u(t):o?t[0]===l[0]?i[0]+" "+a[1]:t[1]===l[1]?i[1]+" "+a[0]:a[0]+" - "+a[1]:a},resetExtent:function(){var t=this.option,e=DO([t.min,t.max]);this._dataExtent=e},getDataDimension:function(t){var e=this.option.dimension,i=t.dimensions;if(null!=e||i.length){if(null!=e)return t.getDimension(e);for(var n=t.dimensions,o=n.length-1;o>=0;o--){var a=n[o];if(!t.getDimensionInfo(a).isCalculationCoord)return a}}},getExtent:function(){return this._dataExtent.slice()},completeVisualOption:function(){function t(t){TO(o.color)&&!t.inRange&&(t.inRange={color:o.color.slice().reverse()}),t.inRange=t.inRange||{color:e.get("gradientColor")},AO(this.stateList,function(e){var i=t[e];if(_(i)){var n=bO.get(i,"active",l);n?(t[e]={},t[e][i]=n):delete t[e]}},this)}var e=this.ecModel,o=this.option,a={inRange:o.inRange,outOfRange:o.outOfRange},r=o.target||(o.target={}),s=o.controller||(o.controller={});n(r,a),n(s,a);var l=this.isCategory();t.call(this,r),t.call(this,s),function(t,e,i){var n=t[e],o=t[i];n&&!o&&(o=t[i]={},AO(n,function(t,e){if(cL.isValidType(e)){var i=bO.get(e,"inactive",l);null!=i&&(o[e]=i,"color"!==e||o.hasOwnProperty("opacity")||o.hasOwnProperty("colorAlpha")||(o.opacity=[0,0]))}}))}.call(this,r,"inRange","outOfRange"),function(t){var e=(t.inRange||{}).symbol||(t.outOfRange||{}).symbol,n=(t.inRange||{}).symbolSize||(t.outOfRange||{}).symbolSize,o=this.get("inactiveColor");AO(this.stateList,function(a){var r=this.itemSize,s=t[a];s||(s=t[a]={color:l?o:[o]}),null==s.symbol&&(s.symbol=e&&i(e)||(l?"roundRect":["roundRect"])),null==s.symbolSize&&(s.symbolSize=n&&i(n)||(l?r[0]:[r[0],r[0]])),s.symbol=MO(s.symbol,function(t){return"none"===t||"square"===t?"roundRect":t});var u=s.symbolSize;if(null!=u){var h=-1/0;IO(u,function(t){t>h&&(h=t)}),s.symbolSize=MO(u,function(t){return CO(t,[0,h],[0,r[0]],!0)})}},this)}.call(this,s)},resetItemSize:function(){this.itemSize=[parseFloat(this.get("itemWidth")),parseFloat(this.get("itemHeight"))]},isCategory:function(){return!!this.option.categories},setSelected:LO,getValueState:LO,getVisualMeta:LO}),PO=[20,140],NO=kO.extend({type:"visualMap.continuous",defaultOption:{align:"auto",calculable:!1,range:null,realtime:!0,itemHeight:null,itemWidth:null,hoverLink:!0,hoverLinkDataSize:null,hoverLinkOnHandle:null},optionUpdated:function(t,e){NO.superApply(this,"optionUpdated",arguments),this.resetExtent(),this.resetVisual(function(t){t.mappingMethod="linear",t.dataExtent=this.getExtent()}),this._resetRange()},resetItemSize:function(){NO.superApply(this,"resetItemSize",arguments);var t=this.itemSize;"horizontal"===this._orient&&t.reverse(),(null==t[0]||isNaN(t[0]))&&(t[0]=PO[0]),(null==t[1]||isNaN(t[1]))&&(t[1]=PO[1])},_resetRange:function(){var t=this.getExtent(),e=this.option.range;!e||e.auto?(t.auto=1,this.option.range=t):y(e)&&(e[0]>e[1]&&e.reverse(),e[0]=Math.max(e[0],t[0]),e[1]=Math.min(e[1],t[1]))},completeVisualOption:function(){kO.prototype.completeVisualOption.apply(this,arguments),d(this.stateList,function(t){var e=this.option.controller[t].symbolSize;e&&e[0]!==e[1]&&(e[0]=0)},this)},setSelected:function(t){this.option.range=t.slice(),this._resetRange()},getSelected:function(){var t=this.getExtent(),e=Go((this.get("range")||[]).slice());return e[0]>t[1]&&(e[0]=t[1]),e[1]>t[1]&&(e[1]=t[1]),e[0]=i[1]||t<=e[1])?"inRange":"outOfRange"},findTargetDataIndices:function(t){var e=[];return this.eachTargetSeries(function(i){var n=[],o=i.getData();o.each(this.getDataDimension(o),function(e,i){t[0]<=e&&e<=t[1]&&n.push(i)},this),e.push({seriesId:i.id,dataIndex:n})},this),e},getVisualMeta:function(t){function e(e,i){o.push({value:e,color:t(e,i)})}for(var i=Qy(0,0,this.getExtent()),n=Qy(0,0,this.option.range.slice()),o=[],a=0,r=0,s=n.length,l=i.length;rt[1])break;i.push({color:this.getControllerVisual(a,"color",e),offset:o/100})}return i.push({color:this.getControllerVisual(t[1],"color",e),offset:1}),i},_createBarPoints:function(t,e){var i=this.visualMapModel.itemSize;return[[i[0]-e[0],t[0]],[i[0],t[0]],[i[0],t[1]],[i[0]-e[1],t[1]]]},_createBarGroup:function(t){var e=this._orient,i=this.visualMapModel.get("inverse");return new tb("horizontal"!==e||i?"horizontal"===e&&i?{scale:"bottom"===t?[-1,1]:[1,1],rotation:-Math.PI/2}:"vertical"!==e||i?{scale:"left"===t?[1,1]:[-1,1]}:{scale:"left"===t?[1,-1]:[-1,-1]}:{scale:"bottom"===t?[1,1]:[-1,1],rotation:Math.PI/2})},_updateHandle:function(t,e){if(this._useHandle){var i=this._shapes,n=this.visualMapModel,o=i.handleThumbs,a=i.handleLabels;RO([0,1],function(r){var s=o[r];s.setStyle("fill",e.handlesColor[r]),s.position[1]=t[r];var l=Ao(i.handleLabelPoints[r],To(s,this.group));a[r].setStyle({x:l[0],y:l[1],text:n.formatValueText(this._dataInterval[r]),textVerticalAlign:"middle",textAlign:this._applyTransform("horizontal"===this._orient?0===r?"bottom":"top":"left",i.barGroup)})},this)}},_showIndicator:function(t,e,i,n){var o=this.visualMapModel,a=o.getExtent(),r=o.itemSize,s=[0,r[1]],l=EO(t,a,s,!0),u=this._shapes,h=u.indicator;if(h){h.position[1]=l,h.attr("invisible",!1),h.setShape("points",ox(!!i,n,l,r[1]));var c={convertOpacityToAlpha:!0},d=this.getControllerVisual(t,"color",c);h.setStyle("fill",d);var f=Ao(u.indicatorLabelPoint,To(h,this.group)),p=u.indicatorLabel;p.attr("invisible",!1);var g=this._applyTransform("left",u.barGroup),m=this._orient;p.setStyle({text:(i||"")+o.formatValueText(e),textVerticalAlign:"horizontal"===m?g:"middle",textAlign:"horizontal"===m?"center":g,x:f[0],y:f[1]})}},_enableHoverLinkToSeries:function(){var t=this;this._shapes.barGroup.on("mousemove",function(e){if(t._hovering=!0,!t._dragging){var i=t.visualMapModel.itemSize,n=t._applyTransform([e.offsetX,e.offsetY],t._shapes.barGroup,!0,!0);n[1]=zO(BO(0,n[1]),i[1]),t._doHoverLinkToSeries(n[1],0<=n[0]&&n[0]<=i[0])}}).on("mouseout",function(){t._hovering=!1,!t._dragging&&t._clearHoverLinkToSeries()})},_enableHoverLinkFromSeries:function(){var t=this.api.getZr();this.visualMapModel.option.hoverLink?(t.on("mouseover",this._hoverLinkFromSeriesMouseOver,this),t.on("mouseout",this._hideIndicator,this)):this._clearHoverLinkFromSeries()},_doHoverLinkToSeries:function(t,e){var i=this.visualMapModel,n=i.itemSize;if(i.option.hoverLink){var o=[0,n[1]],a=i.getExtent();t=zO(BO(o[0],t),o[1]);var r=ax(i,a,o),s=[t-r,t+r],l=EO(t,o,a,!0),u=[EO(s[0],o,a,!0),EO(s[1],o,a,!0)];s[0]o[1]&&(u[1]=1/0),e&&(u[0]===-1/0?this._showIndicator(l,u[1],"< ",r):u[1]===1/0?this._showIndicator(l,u[0],"> ",r):this._showIndicator(l,l,"≈ ",r));var h=this._hoverLinkDataIndices,c=[];(e||rx(i))&&(c=this._hoverLinkDataIndices=i.findTargetDataIndices(u));var d=Ri(h,c);this._dispatchHighDown("downplay",ex(d[0])),this._dispatchHighDown("highlight",ex(d[1]))}},_hoverLinkFromSeriesMouseOver:function(t){var e=t.target,i=this.visualMapModel;if(e&&null!=e.dataIndex){var n=this.ecModel.getSeriesByIndex(e.seriesIndex);if(i.isTargetSeries(n)){var o=n.getData(e.dataType),a=o.get(i.getDataDimension(o),e.dataIndex,!0);isNaN(a)||this._showIndicator(a,a)}}},_hideIndicator:function(){var t=this._shapes;t.indicator&&t.indicator.attr("invisible",!0),t.indicatorLabel&&t.indicatorLabel.attr("invisible",!0)},_clearHoverLinkToSeries:function(){this._hideIndicator();var t=this._hoverLinkDataIndices;this._dispatchHighDown("downplay",ex(t)),t.length=0},_clearHoverLinkFromSeries:function(){this._hideIndicator();var t=this.api.getZr();t.off("mouseover",this._hoverLinkFromSeriesMouseOver),t.off("mouseout",this._hideIndicator)},_applyTransform:function(t,e,i,n){var o=To(e,n?null:this.group);return zM[y(t)?"applyTransform":"transformDirection"](t,o,i)},_dispatchHighDown:function(t,e){e&&e.length&&this.api.dispatchAction({type:t,batch:e})},dispose:function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()},remove:function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()}});Os({type:"selectDataRange",event:"dataRangeSelected",update:"update"},function(t,e){e.eachComponent({mainType:"visualMap",query:t},function(e){e.setSelected(t.selected)})}),Ps(_O);var WO=kO.extend({type:"visualMap.piecewise",defaultOption:{selected:null,minOpen:!1,maxOpen:!1,align:"auto",itemWidth:20,itemHeight:14,itemSymbol:"roundRect",pieceList:null,categories:null,splitNumber:5,selectedMode:"multiple",itemGap:10,hoverLink:!0,showLabel:null},optionUpdated:function(t,e){WO.superApply(this,"optionUpdated",arguments),this._pieceList=[],this.resetExtent();var n=this._mode=this._determineMode();HO[this._mode].call(this),this._resetSelected(t,e);var o=this.option.categories;this.resetVisual(function(t,e){"categories"===n?(t.mappingMethod="category",t.categories=i(o)):(t.dataExtent=this.getExtent(),t.mappingMethod="piecewise",t.pieceList=f(this._pieceList,function(t){var t=i(t);return"inRange"!==e&&(t.visual=null),t}))})},completeVisualOption:function(){function t(t,e,i){return t&&t[e]&&(w(t[e])?t[e].hasOwnProperty(i):t[e]===i)}var e=this.option,i={},n=cL.listVisualTypes(),o=this.isCategory();d(e.pieces,function(t){d(n,function(e){t.hasOwnProperty(e)&&(i[e]=1)})}),d(i,function(i,n){var a=0;d(this.stateList,function(i){a|=t(e,i,n)||t(e.target,i,n)},this),!a&&d(this.stateList,function(t){(e[t]||(e[t]={}))[n]=bO.get(n,"inRange"===t?"active":"inactive",o)})},this),kO.prototype.completeVisualOption.apply(this,arguments)},_resetSelected:function(t,e){var i=this.option,n=this._pieceList,o=(e?i:t).selected||{};if(i.selected=o,d(n,function(t,e){var i=this.getSelectedMapKey(t);o.hasOwnProperty(i)||(o[i]=!0)},this),"single"===i.selectedMode){var a=!1;d(n,function(t,e){var i=this.getSelectedMapKey(t);o[i]&&(a?o[i]=!1:a=!0)},this)}},getSelectedMapKey:function(t){return"categories"===this._mode?t.value+"":t.index+""},getPieceList:function(){return this._pieceList},_determineMode:function(){var t=this.option;return t.pieces&&t.pieces.length>0?"pieces":this.option.categories?"categories":"splitNumber"},setSelected:function(t){this.option.selected=i(t)},getValueState:function(t){var e=cL.findPieceIndex(t,this._pieceList);return null!=e&&this.option.selected[this.getSelectedMapKey(this._pieceList[e])]?"inRange":"outOfRange"},findTargetDataIndices:function(t){var e=[];return this.eachTargetSeries(function(i){var n=[],o=i.getData();o.each(this.getDataDimension(o),function(e,i){cL.findPieceIndex(e,this._pieceList)===t&&n.push(i)},this),e.push({seriesId:i.id,dataIndex:n})},this),e},getRepresentValue:function(t){var e;if(this.isCategory())e=t.value;else if(null!=t.value)e=t.value;else{var i=t.interval||[];e=i[0]===-1/0&&i[1]===1/0?0:(i[0]+i[1])/2}return e},getVisualMeta:function(t){function e(e,a){var r=o.getRepresentValue({interval:e});a||(a=o.getValueState(r));var s=t(r,a);e[0]===-1/0?n[0]=s:e[1]===1/0?n[1]=s:i.push({value:e[0],color:s},{value:e[1],color:s})}if(!this.isCategory()){var i=[],n=[],o=this,a=this._pieceList.slice();if(a.length){var r=a[0].interval[0];r!==-1/0&&a.unshift({interval:[-1/0,r]}),(r=a[a.length-1].interval[1])!==1/0&&a.push({interval:[r,1/0]})}else a.push({interval:[-1/0,1/0]});var s=-1/0;return d(a,function(t){var i=t.interval;i&&(i[0]>s&&e([s,i[0]],"outOfRange"),e(i.slice()),s=i[1])},this),{stops:i,outerColors:n}}}}),HO={splitNumber:function(){var t=this.option,e=this._pieceList,i=Math.min(t.precision,20),n=this.getExtent(),o=t.splitNumber;o=Math.max(parseInt(o,10),1),t.splitNumber=o;for(var a=(n[1]-n[0])/o;+a.toFixed(i)!==a&&i<5;)i++;t.precision=i,a=+a.toFixed(i);var r=0;t.minOpen&&e.push({index:r++,interval:[-1/0,n[0]],close:[0,0]});for(var s=n[0],l=r+o;r","≥"][e[0]]];t.text=t.text||this.formatValueText(null!=t.value?t.value:t.interval,!1,i)},this)}};OO.extend({type:"visualMap.piecewise",doRender:function(){var t=this.group;t.removeAll();var e=this.visualMapModel,i=e.get("textGap"),n=e.textStyleModel,o=n.getFont(),a=n.getTextColor(),r=this._getItemAlign(),s=e.itemSize,l=this._getViewData(),u=l.endsText,h=T(e.get("showLabel",!0),!u);u&&this._renderEndsText(t,u[0],s,h,r),d(l.viewPieceList,function(n){var l=n.piece,u=new tb;u.onclick=m(this._onItemClick,this,l),this._enableHoverLink(u,n.indexInModelPieceList);var c=e.getRepresentValue(l);if(this._createItemSymbol(u,c,[0,0,s[0],s[1]]),h){var d=this.visualMapModel.getValueState(c);u.add(new rM({style:{x:"right"===r?-i:s[0]+i,y:s[1]/2,text:l.text,textVerticalAlign:"middle",textAlign:r,textFont:o,textFill:a,opacity:"outOfRange"===d?.5:1}}))}t.add(u)},this),u&&this._renderEndsText(t,u[1],s,h,r),rI(e.get("orient"),t,e.get("itemGap")),this.renderBackground(t),this.positionGroup(t)},_enableHoverLink:function(t,e){function i(t){var i=this.visualMapModel;i.option.hoverLink&&this.api.dispatchAction({type:t,batch:ex(i.findTargetDataIndices(e))})}t.on("mouseover",m(i,this,"highlight")).on("mouseout",m(i,this,"downplay"))},_getItemAlign:function(){var t=this.visualMapModel,e=t.option;if("vertical"===e.orient)return tx(t,this.api,t.itemSize);var i=e.align;return i&&"auto"!==i||(i="left"),i},_renderEndsText:function(t,e,i,n,o){if(e){var a=new tb,r=this.visualMapModel.textStyleModel;a.add(new rM({style:{x:n?"right"===o?i[0]:0:i[0]/2,y:i[1]/2,textVerticalAlign:"middle",textAlign:n?o:"center",text:e,textFont:r.getFont(),textFill:r.getTextColor()}})),t.add(a)}},_getViewData:function(){var t=this.visualMapModel,e=f(t.getPieceList(),function(t,e){return{piece:t,indexInModelPieceList:e}}),i=t.get("text"),n=t.get("orient"),o=t.get("inverse");return("horizontal"===n?o:!o)?e.reverse():i&&(i=i.slice().reverse()),{viewPieceList:e,endsText:i}},_createItemSymbol:function(t,e,i){t.add($l(this.getControllerVisual(e,"symbol"),i[0],i[1],i[2],i[3],this.getControllerVisual(e,"color")))},_onItemClick:function(t){var e=this.visualMapModel,n=e.option,o=i(n.selected),a=e.getSelectedMapKey(t);"single"===n.selectedMode?(o[a]=!0,d(o,function(t,e){o[e]=e===a})):o[a]=!o[a],this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:o})}});Ps(_O);var ZO=Qo,UO=ea,XO=Gs({type:"marker",dependencies:["series","grid","polar","geo"],init:function(t,e,i,n){this.mergeDefaultAndTheme(t,i),this.mergeOption(t,i,n.createdBySelf,!0)},isAnimationEnabled:function(){if(U_.node)return!1;var t=this.__hostSeries;return this.getShallow("animation")&&t&&t.isAnimationEnabled()},mergeOption:function(t,e,i,n){var o=this.constructor,r=this.mainType+"Model";i||e.eachSeries(function(t){var i=t.get(this.mainType,!0),s=t[r];i&&i.data?(s?s.mergeOption(i,e,!0):(n&&ux(i),d(i.data,function(t){t instanceof Array?(ux(t[0]),ux(t[1])):ux(t)}),a(s=new o(i,this,e),{mainType:this.mainType,seriesIndex:t.seriesIndex,name:t.name,createdBySelf:!0}),s.__hostSeries=t),t[r]=s):t[r]=null},this)},formatTooltip:function(t){var e=this.getData(),i=this.getRawValue(t),n=y(i)?f(i,ZO).join(", "):ZO(i),o=e.getName(t),a=UO(this.name);return(null!=i||o)&&(a+="
"),o&&(a+=UO(o),null!=i&&(a+=" : ")),null!=i&&(a+=UO(n)),a},getData:function(){return this._data},setData:function(t){this._data=t}});h(XO,UI),XO.extend({type:"markPoint",defaultOption:{zlevel:0,z:5,symbol:"pin",symbolSize:50,tooltip:{trigger:"item"},label:{show:!0,position:"inside"},itemStyle:{borderWidth:2},emphasis:{label:{show:!0}}}});var jO=l,YO=v,qO={min:YO(dx,"min"),max:YO(dx,"max"),average:YO(dx,"average")},KO=Fs({type:"marker",init:function(){this.markerGroupMap=R()},render:function(t,e,i){var n=this.markerGroupMap;n.each(function(t){t.__keep=!1});var o=this.type+"Model";e.eachSeries(function(t){var n=t[o];n&&this.renderSeries(t,n,e,i)},this),n.each(function(t){!t.__keep&&this.group.remove(t.group)},this)},renderSeries:function(){}});KO.extend({type:"markPoint",updateTransform:function(t,e,i){e.eachSeries(function(t){var e=t.markPointModel;e&&(xx(e.getData(),t,i),this.markerGroupMap.get(t.id).updateLayout(e))},this)},renderSeries:function(t,e,i,n){var o=t.coordinateSystem,a=t.id,r=t.getData(),s=this.markerGroupMap,l=s.get(a)||s.set(a,new Au),u=_x(o,t,e);e.setData(u),xx(e.getData(),t,n),u.each(function(t){var i=u.getItemModel(t),n=i.getShallow("symbolSize");"function"==typeof n&&(n=n(e.getRawValue(t),e.getDataParams(t))),u.setItemVisual(t,{symbolSize:n,color:i.get("itemStyle.color")||r.getVisual("color"),symbol:i.getShallow("symbol")})}),l.updateData(u),this.group.add(l.group),u.eachItemGraphicEl(function(t){t.traverse(function(t){t.dataModel=e})}),l.__keep=!0,l.group.silent=e.get("silent")||t.get("silent")}}),Ps(function(t){t.markPoint=t.markPoint||{}}),XO.extend({type:"markLine",defaultOption:{zlevel:0,z:5,symbol:["circle","arrow"],symbolSize:[8,16],precision:2,tooltip:{trigger:"item"},label:{show:!0,position:"end"},lineStyle:{type:"dashed"},emphasis:{label:{show:!0},lineStyle:{width:3}},animationEasing:"linear"}});var $O=function(t,e,o,r){var s=t.getData(),l=r.type;if(!y(r)&&("min"===l||"max"===l||"average"===l||"median"===l||null!=r.xAxis||null!=r.yAxis)){var u,h;if(null!=r.yAxis||null!=r.xAxis)u=null!=r.yAxis?"y":"x",e.getAxis(u),h=T(r.yAxis,r.xAxis);else{var c=px(r,s,e,t);u=c.valueDataDim,c.valueAxis,h=yx(s,u,l)}var d="x"===u?0:1,f=1-d,p=i(r),g={};p.type=null,p.coord=[],g.coord=[],p.coord[f]=-1/0,g.coord[f]=1/0;var m=o.get("precision");m>=0&&"number"==typeof h&&(h=+h.toFixed(Math.min(m,20))),p.coord[d]=g.coord[d]=h,r=[p,g,{type:l,valueIndex:r.valueIndex,value:h}]}return r=[fx(t,r[0]),fx(t,r[1]),a({},r[2])],r[2].type=r[2].type||"",n(r[2],r[0]),n(r[2],r[1]),r};KO.extend({type:"markLine",updateTransform:function(t,e,i){e.eachSeries(function(t){var e=t.markLineModel;if(e){var n=e.getData(),o=e.__from,a=e.__to;o.each(function(e){Ix(o,e,!0,t,i),Ix(a,e,!1,t,i)}),n.each(function(t){n.setItemLayout(t,[o.getItemLayout(t),a.getItemLayout(t)])}),this.markerGroupMap.get(t.id).updateLayout()}},this)},renderSeries:function(t,e,i,n){function o(e,i,o){var a=e.getItemModel(i);Ix(e,i,o,t,n),e.setItemVisual(i,{symbolSize:a.get("symbolSize")||g[o?0:1],symbol:a.get("symbol",!0)||p[o?0:1],color:a.get("itemStyle.color")||s.getVisual("color")})}var a=t.coordinateSystem,r=t.id,s=t.getData(),l=this.markerGroupMap,u=l.get(r)||l.set(r,new rf);this.group.add(u.group);var h=Tx(a,t,e),c=h.from,d=h.to,f=h.line;e.__from=c,e.__to=d,e.setData(f);var p=e.get("symbol"),g=e.get("symbolSize");y(p)||(p=[p,p]),"number"==typeof g&&(g=[g,g]),h.from.each(function(t){o(c,t,!0),o(d,t,!1)}),f.each(function(t){var e=f.getItemModel(t).get("lineStyle.color");f.setItemVisual(t,{color:e||c.getItemVisual(t,"color")}),f.setItemLayout(t,[c.getItemLayout(t),d.getItemLayout(t)]),f.setItemVisual(t,{fromSymbolSize:c.getItemVisual(t,"symbolSize"),fromSymbol:c.getItemVisual(t,"symbol"),toSymbolSize:d.getItemVisual(t,"symbolSize"),toSymbol:d.getItemVisual(t,"symbol")})}),u.updateData(f),h.line.eachItemGraphicEl(function(t,i){t.traverse(function(t){t.dataModel=e})}),u.__keep=!0,u.group.silent=e.get("silent")||t.get("silent")}}),Ps(function(t){t.markLine=t.markLine||{}}),XO.extend({type:"markArea",defaultOption:{zlevel:0,z:1,tooltip:{trigger:"item"},animation:!1,label:{show:!0,position:"top"},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:"top"}}}});var JO=function(t,e,i,n){var a=fx(t,n[0]),r=fx(t,n[1]),s=T,l=a.coord,u=r.coord;l[0]=s(l[0],-1/0),l[1]=s(l[1],-1/0),u[0]=s(u[0],1/0),u[1]=s(u[1],1/0);var h=o([{},a,r]);return h.coord=[a.coord,r.coord],h.x0=a.x,h.y0=a.y,h.x1=r.x,h.y1=r.y,h},QO=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]];KO.extend({type:"markArea",updateTransform:function(t,e,i){e.eachSeries(function(t){var e=t.markAreaModel;if(e){var n=e.getData();n.each(function(e){var o=f(QO,function(o){return Lx(n,e,o,t,i)});n.setItemLayout(e,o),n.getItemGraphicEl(e).setShape("points",o)})}},this)},renderSeries:function(t,e,i,n){var o=t.coordinateSystem,a=t.id,s=t.getData(),l=this.markerGroupMap,u=l.get(a)||l.set(a,{group:new tb});this.group.add(u.group),u.__keep=!0;var h=kx(o,t,e);e.setData(h),h.each(function(e){h.setItemLayout(e,f(QO,function(i){return Lx(h,e,i,t,n)})),h.setItemVisual(e,{color:s.getVisual("color")})}),h.diff(u.__data).add(function(t){var e=new pM({shape:{points:h.getItemLayout(t)}});h.setItemGraphicEl(t,e),u.group.add(e)}).update(function(t,i){var n=u.__data.getItemGraphicEl(i);Mo(n,{shape:{points:h.getItemLayout(t)}},e,t),u.group.add(n),h.setItemGraphicEl(t,n)}).remove(function(t){var e=u.__data.getItemGraphicEl(t);u.group.remove(e)}).execute(),h.eachItemGraphicEl(function(t,i){var n=h.getItemModel(i),o=n.getModel("label"),a=n.getModel("emphasis.label"),s=h.getItemVisual(i,"color");t.useStyle(r(n.getModel("itemStyle").getItemStyle(),{fill:Yt(s,.4),stroke:s})),t.hoverStyle=n.getModel("emphasis.itemStyle").getItemStyle(),po(t.style,t.hoverStyle,o,a,{labelFetcher:e,labelDataIndex:i,defaultText:h.getName(i)||"",isRectText:!0,autoColor:s}),co(t,{}),t.dataModel=e}),u.__data=h,u.group.silent=e.get("silent")||t.get("silent")}}),Ps(function(t){t.markArea=t.markArea||{}});uI.registerSubTypeDefaulter("timeline",function(){return"slider"}),Os({type:"timelineChange",event:"timelineChanged",update:"prepareAndUpdate"},function(t,e){var i=e.getComponent("timeline");return i&&null!=t.currentIndex&&(i.setCurrentIndex(t.currentIndex),!i.get("loop",!0)&&i.isIndexMax()&&i.setPlayState(!1)),e.resetOption("timeline"),r({currentIndex:i.option.currentIndex},t)}),Os({type:"timelinePlayChange",event:"timelinePlayChanged",update:"update"},function(t,e){var i=e.getComponent("timeline");i&&null!=t.playState&&i.setPlayState(t.playState)});var tE=uI.extend({type:"timeline",layoutMode:"box",defaultOption:{zlevel:0,z:4,show:!0,axisType:"time",realtime:!0,left:"20%",top:null,right:"20%",bottom:0,width:null,height:40,padding:5,controlPosition:"left",autoPlay:!1,rewind:!1,loop:!0,playInterval:2e3,currentIndex:0,itemStyle:{},label:{color:"#000"},data:[]},init:function(t,e,i){this._data,this._names,this.mergeDefaultAndTheme(t,i),this._initData()},mergeOption:function(t){tE.superApply(this,"mergeOption",arguments),this._initData()},setCurrentIndex:function(t){null==t&&(t=this.option.currentIndex);var e=this._data.count();this.option.loop?t=(t%e+e)%e:(t>=e&&(t=e-1),t<0&&(t=0)),this.option.currentIndex=t},getCurrentIndex:function(){return this.option.currentIndex},isIndexMax:function(){return this.getCurrentIndex()>=this._data.count()-1},setPlayState:function(t){this.option.autoPlay=!!t},getPlayState:function(){return!!this.option.autoPlay},_initData:function(){var t=this.option,e=t.data||[],n=t.axisType,o=this._names=[];if("category"===n){var a=[];d(e,function(t,e){var n,r=Li(t);w(t)?(n=i(t)).value=e:n=e,a.push(n),_(r)||null!=r&&!isNaN(r)||(r=""),o.push(r+"")}),e=a}var r={category:"ordinal",time:"time"}[n]||"number";(this._data=new yA([{name:"value",type:r}],this)).initData(e,o)},getData:function(){return this._data},getCategories:function(){if("category"===this.get("axisType"))return this._names.slice()}});h(tE.extend({type:"timeline.slider",defaultOption:{backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,orient:"horizontal",inverse:!1,tooltip:{trigger:"item"},symbol:"emptyCircle",symbolSize:10,lineStyle:{show:!0,width:2,color:"#304654"},label:{position:"auto",show:!0,interval:"auto",rotate:0,color:"#304654"},itemStyle:{color:"#304654",borderWidth:1},checkpointStyle:{symbol:"circle",symbolSize:13,color:"#c23531",borderWidth:5,borderColor:"rgba(194,53,49, 0.5)",animation:!0,animationDuration:300,animationEasing:"quinticInOut"},controlStyle:{show:!0,showPlayBtn:!0,showPrevBtn:!0,showNextBtn:!0,itemSize:22,itemGap:12,position:"left",playIcon:"path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z",stopIcon:"path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z",nextIcon:"path://M18.6,50.8l22.5-22.5c0.2-0.2,0.3-0.4,0.3-0.7c0-0.3-0.1-0.5-0.3-0.7L18.7,4.4c-0.1-0.1-0.2-0.3-0.2-0.5 c0-0.4,0.3-0.8,0.8-0.8c0.2,0,0.5,0.1,0.6,0.3l23.5,23.5l0,0c0.2,0.2,0.3,0.4,0.3,0.7c0,0.3-0.1,0.5-0.3,0.7l-0.1,0.1L19.7,52 c-0.1,0.1-0.3,0.2-0.5,0.2c-0.4,0-0.8-0.3-0.8-0.8C18.4,51.2,18.5,51,18.6,50.8z",prevIcon:"path://M43,52.8L20.4,30.3c-0.2-0.2-0.3-0.4-0.3-0.7c0-0.3,0.1-0.5,0.3-0.7L42.9,6.4c0.1-0.1,0.2-0.3,0.2-0.5 c0-0.4-0.3-0.8-0.8-0.8c-0.2,0-0.5,0.1-0.6,0.3L18.3,28.8l0,0c-0.2,0.2-0.3,0.4-0.3,0.7c0,0.3,0.1,0.5,0.3,0.7l0.1,0.1L41.9,54 c0.1,0.1,0.3,0.2,0.5,0.2c0.4,0,0.8-0.3,0.8-0.8C43.2,53.2,43.1,53,43,52.8z",color:"#304654",borderColor:"#304654",borderWidth:1},emphasis:{label:{show:!0,color:"#c23531"},itemStyle:{color:"#c23531"},controlStyle:{color:"#c23531",borderColor:"#c23531",borderWidth:2}},data:[]}}),UI);var eE=KI.extend({type:"timeline"}),iE=function(t,e,i,n){rD.call(this,t,e,i),this.type=n||"value",this.model=null};iE.prototype={constructor:iE,getLabelModel:function(){return this.model.getModel("label")},isHorizontal:function(){return"horizontal"===this.model.get("orient")}},u(iE,rD);var nE=m,oE=d,aE=Math.PI;eE.extend({type:"timeline.slider",init:function(t,e){this.api=e,this._axis,this._viewRect,this._timer,this._currentPointer,this._mainGroup,this._labelGroup},render:function(t,e,i,n){if(this.model=t,this.api=i,this.ecModel=e,this.group.removeAll(),t.get("show",!0)){var o=this._layout(t,i),a=this._createGroup("mainGroup"),r=this._createGroup("labelGroup"),s=this._axis=this._createAxis(o,t);t.formatTooltip=function(t){return ea(s.scale.getLabel(t))},oE(["AxisLine","AxisTick","Control","CurrentPointer"],function(e){this["_render"+e](o,a,s,t)},this),this._renderAxisLabel(o,r,s,t),this._position(o,t)}this._doPlayStop()},remove:function(){this._clearTimer(),this.group.removeAll()},dispose:function(){this._clearTimer()},_layout:function(t,e){var i=t.get("label.position"),n=t.get("orient"),o=Ex(t,e);null==i||"auto"===i?i="horizontal"===n?o.y+o.height/2=0||"+"===i?"left":"right"},r={horizontal:i>=0||"+"===i?"top":"bottom",vertical:"middle"},s={horizontal:0,vertical:aE/2},l="vertical"===n?o.height:o.width,u=t.getModel("controlStyle"),h=u.get("show",!0),c=h?u.get("itemSize"):0,d=h?u.get("itemGap"):0,f=c+d,p=t.get("label.rotate")||0;p=p*aE/180;var g,m,v,y,x=u.get("position",!0),_=h&&u.get("showPlayBtn",!0),w=h&&u.get("showPrevBtn",!0),b=h&&u.get("showNextBtn",!0),S=0,M=l;return"left"===x||"bottom"===x?(_&&(g=[0,0],S+=f),w&&(m=[S,0],S+=f),b&&(v=[M-c,0],M-=f)):(_&&(g=[M-c,0],M-=f),w&&(m=[0,0],S+=f),b&&(v=[M-c,0],M-=f)),y=[S,M],t.get("inverse")&&y.reverse(),{viewRect:o,mainLength:l,orient:n,rotation:s[n],labelRotation:p,labelPosOpt:i,labelAlign:t.get("label.align")||a[n],labelBaseline:t.get("label.verticalAlign")||t.get("label.baseline")||r[n],playPosition:g,prevBtnPosition:m,nextBtnPosition:v,axisExtent:y,controlSize:c,controlGap:d}},_position:function(t,e){function i(t){var e=t.position;t.origin=[c[0][0]-e[0],c[1][0]-e[1]]}function n(t){return[[t.x,t.x+t.width],[t.y,t.y+t.height]]}function o(t,e,i,n,o){t[n]+=i[n][o]-e[n][o]}var a=this._mainGroup,r=this._labelGroup,s=t.viewRect;if("vertical"===t.orient){var l=xt(),u=s.x,h=s.y+s.height;St(l,l,[-u,-h]),Mt(l,l,-aE/2),St(l,l,[u,h]),(s=s.clone()).applyTransform(l)}var c=n(s),d=n(a.getBoundingRect()),f=n(r.getBoundingRect()),p=a.position,g=r.position;g[0]=p[0]=c[0][0];var m=t.labelPosOpt;if(isNaN(m))o(p,d,c,1,v="+"===m?0:1),o(g,f,c,1,1-v);else{var v=m>=0?0:1;o(p,d,c,1,v),g[1]=p[1]+m}a.attr("position",p),r.attr("position",g),a.rotation=r.rotation=t.rotation,i(a),i(r)},_createAxis:function(t,e){var i=e.getData(),n=e.get("axisType"),o=Wl(e,n);o.getTicks=function(){return i.mapArray(["value"],function(t){return t})};var a=i.getDataExtent("value");o.setExtent(a[0],a[1]),o.niceTicks();var r=new iE("value",o,t.axisExtent,n);return r.model=e,r},_createGroup:function(t){var e=this["_"+t]=new tb;return this.group.add(e),e},_renderAxisLine:function(t,e,i,n){var o=i.getExtent();n.get("lineStyle.show")&&e.add(new _M({shape:{x1:o[0],y1:0,x2:o[1],y2:0},style:a({lineCap:"round"},n.getModel("lineStyle").getLineStyle()),silent:!0,z2:1}))},_renderAxisTick:function(t,e,i,n){var o=n.getData(),a=i.scale.getTicks();oE(a,function(t){var a=i.dataToCoord(t),r=o.getItemModel(t),s=r.getModel("itemStyle"),l=r.getModel("emphasis.itemStyle"),u={position:[a,0],onclick:nE(this._changeTimeline,this,t)},h=zx(r,s,e,u);co(h,l.getItemStyle()),r.get("tooltip")?(h.dataIndex=t,h.dataModel=n):h.dataIndex=h.dataModel=null},this)},_renderAxisLabel:function(t,e,i,n){if(i.getLabelModel().get("show")){var o=n.getData(),a=i.getViewLabels();oE(a,function(n){var a=n.tickValue,r=o.getItemModel(a),s=r.getModel("label"),l=r.getModel("emphasis.label"),u=i.dataToCoord(n.tickValue),h=new rM({position:[u,0],rotation:t.labelRotation-t.rotation,onclick:nE(this._changeTimeline,this,a),silent:!1});go(h.style,s,{text:n.formattedLabel,textAlign:t.labelAlign,textVerticalAlign:t.labelBaseline}),e.add(h),co(h,go({},l))},this)}},_renderControl:function(t,e,i,n){function o(t,i,o,h){if(t){var c=Rx(n,i,u,{position:t,origin:[a/2,0],rotation:h?-r:0,rectHover:!0,style:s,onclick:o});e.add(c),co(c,l)}}var a=t.controlSize,r=t.rotation,s=n.getModel("controlStyle").getItemStyle(),l=n.getModel("emphasis.controlStyle").getItemStyle(),u=[0,-a/2,a,a],h=n.getPlayState(),c=n.get("inverse",!0);o(t.nextBtnPosition,"controlStyle.nextIcon",nE(this._changeTimeline,this,c?"-":"+")),o(t.prevBtnPosition,"controlStyle.prevIcon",nE(this._changeTimeline,this,c?"+":"-")),o(t.playPosition,"controlStyle."+(h?"stopIcon":"playIcon"),nE(this._handlePlayClick,this,!h),!0)},_renderCurrentPointer:function(t,e,i,n){var o=n.getData(),a=n.getCurrentIndex(),r=o.getItemModel(a).getModel("checkpointStyle"),s=this,l={onCreate:function(t){t.draggable=!0,t.drift=nE(s._handlePointerDrag,s),t.ondragend=nE(s._handlePointerDragend,s),Bx(t,a,i,n,!0)},onUpdate:function(t){Bx(t,a,i,n)}};this._currentPointer=zx(r,r,this._mainGroup,{},this._currentPointer,l)},_handlePlayClick:function(t){this._clearTimer(),this.api.dispatchAction({type:"timelinePlayChange",playState:t,from:this.uid})},_handlePointerDrag:function(t,e,i){this._clearTimer(),this._pointerChangeTimeline([i.offsetX,i.offsetY])},_handlePointerDragend:function(t){this._pointerChangeTimeline([t.offsetX,t.offsetY],!0)},_pointerChangeTimeline:function(t,e){var i=this._toAxisCoord(t)[0],n=Go(this._axis.getExtent().slice());i>n[1]&&(i=n[1]),ii.getHeight()&&(n.textPosition="top",l=!0);var u=l?-5-o.height:s+8;a+o.width/2>i.getWidth()?(n.textPosition=["100%",u],n.textAlign="right"):a-o.width/2<0&&(n.textPosition=[0,u],n.textAlign="left")}})}},updateView:function(t,e,i,n){d(this._features,function(t){t.updateView&&t.updateView(t.model,e,i,n)})},remove:function(t,e){d(this._features,function(i){i.remove&&i.remove(t,e)}),this.group.removeAll()},dispose:function(t,e){d(this._features,function(i){i.dispose&&i.dispose(t,e)})}});var sE=sT.toolbox.saveAsImage;Gx.defaultOption={show:!0,icon:"M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0",title:sE.title,type:"png",name:"",excludeComponents:["toolbox"],pixelRatio:1,lang:sE.lang.slice()},Gx.prototype.unusable=!U_.canvasSupported,Gx.prototype.onclick=function(t,e){var i=this.model,n=i.get("name")||t.get("title.0.text")||"echarts",o=document.createElement("a"),a=i.get("type",!0)||"png";o.download=n+"."+a,o.target="_blank";var r=e.getConnectedDataURL({type:a,backgroundColor:i.get("backgroundColor",!0)||t.get("backgroundColor")||"#fff",excludeComponents:i.get("excludeComponents"),pixelRatio:i.get("pixelRatio")});if(o.href=r,"function"!=typeof MouseEvent||U_.browser.ie||U_.browser.edge)if(window.navigator.msSaveOrOpenBlob){for(var s=atob(r.split(",")[1]),l=s.length,u=new Uint8Array(l);l--;)u[l]=s.charCodeAt(l);var h=new Blob([u]);window.navigator.msSaveOrOpenBlob(h,n+"."+a)}else{var c=i.get("lang"),d='';window.open().document.write(d)}else{var f=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!1});o.dispatchEvent(f)}},Ty("saveAsImage",Gx);var lE=sT.toolbox.magicType;Fx.defaultOption={show:!0,type:[],icon:{line:"M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4",bar:"M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7",stack:"M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z",tiled:"M2.3,2.2h22.8V25H2.3V2.2z M35,2.2h22.8V25H35V2.2zM2.3,35h22.8v22.8H2.3V35z M35,35h22.8v22.8H35V35z"},title:i(lE.title),option:{},seriesIndex:{}};var uE=Fx.prototype;uE.getIcons=function(){var t=this.model,e=t.get("icon"),i={};return d(t.get("type"),function(t){e[t]&&(i[t]=e[t])}),i};var hE={line:function(t,e,i,o){if("bar"===t)return n({id:e,type:"line",data:i.get("data"),stack:i.get("stack"),markPoint:i.get("markPoint"),markLine:i.get("markLine")},o.get("option.line")||{},!0)},bar:function(t,e,i,o){if("line"===t)return n({id:e,type:"bar",data:i.get("data"),stack:i.get("stack"),markPoint:i.get("markPoint"),markLine:i.get("markLine")},o.get("option.bar")||{},!0)},stack:function(t,e,i,o){if("line"===t||"bar"===t)return n({id:e,stack:"__ec_magicType_stack__"},o.get("option.stack")||{},!0)},tiled:function(t,e,i,o){if("line"===t||"bar"===t)return n({id:e,stack:""},o.get("option.tiled")||{},!0)}},cE=[["line","bar"],["stack","tiled"]];uE.onclick=function(t,e,i){var n=this.model,o=n.get("seriesIndex."+i);if(hE[i]){var a={series:[]};d(cE,function(t){l(t,i)>=0&&d(t,function(t){n.setIconStatus(t,"normal")})}),n.setIconStatus(i,"emphasis"),t.eachComponent({mainType:"series",query:null==o?null:{seriesIndex:o}},function(e){var o=e.subType,s=e.id,l=hE[i](o,s,e,n);l&&(r(l,e.option),a.series.push(l));var u=e.coordinateSystem;if(u&&"cartesian2d"===u.type&&("line"===i||"bar"===i)){var h=u.getAxesByScale("ordinal")[0];if(h){var c=h.dim+"Axis",d=t.queryComponents({mainType:c,index:e.get(name+"Index"),id:e.get(name+"Id")})[0].componentIndex;a[c]=a[c]||[];for(var f=0;f<=d;f++)a[c][d]=a[c][d]||{};a[c][d].boundaryGap="bar"===i}}}),e.dispatchAction({type:"changeMagicType",currentType:i,newOption:a})}},Os({type:"changeMagicType",event:"magicTypeChanged",update:"prepareAndUpdate"},function(t,e){e.mergeOption(t.newOption)}),Ty("magicType",Fx);var dE=sT.toolbox.dataView,fE=new Array(60).join("-"),pE="\t",gE=new RegExp("["+pE+"]+","g");$x.defaultOption={show:!0,readOnly:!1,optionToContent:null,contentToOption:null,icon:"M17.5,17.3H33 M17.5,17.3H33 M45.4,29.5h-28 M11.5,2v56H51V14.8L38.4,2H11.5z M38.4,2.2v12.7H51 M45.4,41.7h-28",title:i(dE.title),lang:i(dE.lang),backgroundColor:"#fff",textColor:"#000",textareaColor:"#fff",textareaBorderColor:"#333",buttonColor:"#c23531",buttonTextColor:"#fff"},$x.prototype.onclick=function(t,e){function i(){n.removeChild(a),x._dom=null}var n=e.getDom(),o=this.model;this._dom&&n.removeChild(this._dom);var a=document.createElement("div");a.style.cssText="position:absolute;left:5px;top:5px;bottom:5px;right:5px;",a.style.backgroundColor=o.get("backgroundColor")||"#fff";var r=document.createElement("h4"),s=o.get("lang")||[];r.innerHTML=s[0]||o.get("title"),r.style.cssText="margin: 10px 20px;",r.style.color=o.get("textColor");var l=document.createElement("div"),u=document.createElement("textarea");l.style.cssText="display:block;width:100%;overflow:auto;";var h=o.get("optionToContent"),c=o.get("contentToOption"),d=Ux(t);if("function"==typeof h){var f=h(e.getOption());"string"==typeof f?l.innerHTML=f:M(f)&&l.appendChild(f)}else l.appendChild(u),u.readOnly=o.get("readOnly"),u.style.cssText="width:100%;height:100%;font-family:monospace;font-size:14px;line-height:1.6rem;",u.style.color=o.get("textColor"),u.style.borderColor=o.get("textareaBorderColor"),u.style.backgroundColor=o.get("textareaColor"),u.value=d.value;var p=d.meta,g=document.createElement("div");g.style.cssText="position:absolute;bottom:0;left:0;right:0;";var m="float:right;margin-right:20px;border:none;cursor:pointer;padding:2px 5px;font-size:12px;border-radius:3px",v=document.createElement("div"),y=document.createElement("div");m+=";background-color:"+o.get("buttonColor"),m+=";color:"+o.get("buttonTextColor");var x=this;ht(v,"click",i),ht(y,"click",function(){var t;try{t="function"==typeof c?c(l,e.getOption()):Kx(u.value,p)}catch(t){throw i(),new Error("Data view format error "+t)}t&&e.dispatchAction({type:"changeDataView",newOption:t}),i()}),v.innerHTML=s[1],y.innerHTML=s[2],y.style.cssText=m,v.style.cssText=m,!o.get("readOnly")&&g.appendChild(y),g.appendChild(v),ht(u,"keydown",function(t){if(9===(t.keyCode||t.which)){var e=this.value,i=this.selectionStart,n=this.selectionEnd;this.value=e.substring(0,i)+pE+e.substring(n),this.selectionStart=this.selectionEnd=i+1,mw(t)}}),a.appendChild(r),a.appendChild(l),a.appendChild(g),l.style.height=n.clientHeight-80+"px",n.appendChild(a),this._dom=a},$x.prototype.remove=function(t,e){this._dom&&e.getDom().removeChild(this._dom)},$x.prototype.dispose=function(t,e){this.remove(t,e)},Ty("dataView",$x),Os({type:"changeDataView",event:"dataViewChanged",update:"prepareAndUpdate"},function(t,e){var i=[];d(t.newOption.series,function(t){var n=e.getSeriesByName(t.name)[0];if(n){var o=n.get("data");i.push({name:t.name,data:Jx(t.data,o)})}else i.push(a({type:"scatter"},t))}),e.mergeOption(r({series:i},t.newOption))});var mE=d,vE="\0_ec_hist_store";nO.extend({type:"dataZoom.select"}),oO.extend({type:"dataZoom.select"});var yE=sT.toolbox.dataZoom,xE=d,_E="\0_ec_\0toolbox-dataZoom_";o_.defaultOption={show:!0,icon:{zoom:"M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1",back:"M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26"},title:i(yE.title)};var wE=o_.prototype;wE.render=function(t,e,i,n){this.model=t,this.ecModel=e,this.api=i,s_(t,e,this,n,i),r_(t,e)},wE.onclick=function(t,e,i){bE[i].call(this)},wE.remove=function(t,e){this._brushController.unmount()},wE.dispose=function(t,e){this._brushController.dispose()};var bE={zoom:function(){var t=!this._isZoomActive;this.api.dispatchAction({type:"takeGlobalCursor",key:"dataZoomSelect",dataZoomSelectActive:t})},back:function(){this._dispatchZoomAction(t_(this.ecModel))}};wE._onBrush=function(t,e){function i(t,e,i){var r=e.getAxis(t),s=r.model,l=n(t,s,a),u=l.findRepresentativeAxisProxy(s).getMinMaxSpan();null==u.minValueSpan&&null==u.maxValueSpan||(i=tk(0,i.slice(),r.scale.getExtent(),0,u.minValueSpan,u.maxValueSpan)),l&&(o[l.id]={dataZoomId:l.id,startValue:i[0],endValue:i[1]})}function n(t,e,i){var n;return i.eachComponent({mainType:"dataZoom",subType:"select"},function(i){i.getAxisModel(t,e.componentIndex)&&(n=i)}),n}if(e.isEnd&&t.length){var o={},a=this.ecModel;this._brushController.updateCovers([]),new hy(a_(this.model.option),a,{include:["grid"]}).matchOutputRanges(t,a,function(t,e,n){if("cartesian2d"===n.type){var o=t.brushType;"rect"===o?(i("x",n,e[0]),i("y",n,e[1])):i({lineX:"x",lineY:"y"}[o],n,e)}}),Qx(a,o),this._dispatchZoomAction(o)}},wE._dispatchZoomAction=function(t){var e=[];xE(t,function(t,n){e.push(i(t))}),e.length&&this.api.dispatchAction({type:"dataZoom",from:this.uid,batch:e})},Ty("dataZoom",o_),Ps(function(t){function e(t,e){if(e){var o=t+"Index",a=e[o];null==a||"all"===a||y(a)||(a=!1===a||"none"===a?[]:[a]),i(t,function(e,i){if(null==a||"all"===a||-1!==l(a,i)){var r={type:"select",$fromToolbox:!0,id:_E+t+i};r[o]=i,n.push(r)}})}}function i(e,i){var n=t[e];y(n)||(n=n?[n]:[]),xE(n,i)}if(t){var n=t.dataZoom||(t.dataZoom=[]);y(n)||(t.dataZoom=n=[n]);var o=t.toolbox;if(o&&(y(o)&&(o=o[0]),o&&o.feature)){var a=o.feature.dataZoom;e("xAxis",a),e("yAxis",a)}}});var SE=sT.toolbox.restore;l_.defaultOption={show:!0,icon:"M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5",title:SE.title},l_.prototype.onclick=function(t,e,i){e_(t),e.dispatchAction({type:"restore",from:this.uid})},Ty("restore",l_),Os({type:"restore",event:"restore",update:"prepareAndUpdate"},function(t,e){e.resetOption("recreate")});var ME,IE="urn:schemas-microsoft-com:vml",TE="undefined"==typeof window?null:window,AE=!1,DE=TE&&TE.document;if(DE&&!U_.canvasSupported)try{!DE.namespaces.zrvml&&DE.namespaces.add("zrvml",IE),ME=function(t){return DE.createElement("')}}catch(t){ME=function(t){return DE.createElement("<"+t+' xmlns="'+IE+'" class="zrvml">')}}var CE=ES.CMD,LE=Math.round,kE=Math.sqrt,PE=Math.abs,NE=Math.cos,OE=Math.sin,EE=Math.max;if(!U_.canvasSupported){var RE=21600,zE=RE/2,BE=function(t){t.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px;",t.coordsize=RE+","+RE,t.coordorigin="0,0"},VE=function(t){return String(t).replace(/&/g,"&").replace(/"/g,""")},GE=function(t,e,i){return"rgb("+[t,e,i].join(",")+")"},FE=function(t,e){e&&t&&e.parentNode!==t&&t.appendChild(e)},WE=function(t,e){e&&t&&e.parentNode===t&&t.removeChild(e)},HE=function(t,e,i){return 1e5*(parseFloat(t)||0)+1e3*(parseFloat(e)||0)+i},ZE=function(t,e){return"string"==typeof t?t.lastIndexOf("%")>=0?parseFloat(t)/100*e:parseFloat(t):t},UE=function(t,e,i){var n=Gt(e);i=+i,isNaN(i)&&(i=1),n&&(t.color=GE(n[0],n[1],n[2]),t.opacity=i*n[3])},XE=function(t){var e=Gt(t);return[GE(e[0],e[1],e[2]),e[3]]},jE=function(t,e,i){var n=e.fill;if(null!=n)if(n instanceof IM){var o,a=0,r=[0,0],s=0,l=1,u=i.getBoundingRect(),h=u.width,c=u.height;if("linear"===n.type){o="gradient";var d=i.transform,f=[n.x*h,n.y*c],p=[n.x2*h,n.y2*c];d&&(Q(f,f,d),Q(p,p,d));var g=p[0]-f[0],m=p[1]-f[1];(a=180*Math.atan2(g,m)/Math.PI)<0&&(a+=360),a<1e-6&&(a=0)}else{o="gradientradial";var f=[n.x*h,n.y*c],d=i.transform,v=i.scale,y=h,x=c;r=[(f[0]-u.x)/y,(f[1]-u.y)/x],d&&Q(f,f,d),y/=v[0]*RE,x/=v[1]*RE;var _=EE(y,x);s=0/_,l=2*n.r/_-s}var w=n.colorStops.slice();w.sort(function(t,e){return t.offset-e.offset});for(var b=w.length,S=[],M=[],I=0;I=2){var D=S[0][0],C=S[1][0],L=S[0][1]*e.opacity,k=S[1][1]*e.opacity;t.type=o,t.method="none",t.focus="100%",t.angle=a,t.color=D,t.color2=C,t.colors=M.join(","),t.opacity=k,t.opacity2=L}"radial"===o&&(t.focusposition=r.join(","))}else UE(t,n,e.opacity)},YE=function(t,e){null!=e.lineDash&&(t.dashstyle=e.lineDash.join(" ")),null==e.stroke||e.stroke instanceof IM||UE(t,e.stroke,e.opacity)},qE=function(t,e,i,n){var o="fill"===e,a=t.getElementsByTagName(e)[0];null!=i[e]&&"none"!==i[e]&&(o||!o&&i.lineWidth)?(t[o?"filled":"stroked"]="true",i[e]instanceof IM&&WE(t,a),a||(a=u_(e)),o?jE(a,i,n):YE(a,i),FE(t,a)):(t[o?"filled":"stroked"]="false",WE(t,a))},KE=[[],[],[]],$E=function(t,e){var i,n,o,a,r,s,l=CE.M,u=CE.C,h=CE.L,c=CE.A,d=CE.Q,f=[],p=t.data,g=t.len();for(a=0;a.01?N&&(O+=.0125):Math.abs(E-D)<1e-4?N&&OA?x-=.0125:x+=.0125:N&&ED?y+=.0125:y-=.0125),f.push(R,LE(((A-C)*M+b)*RE-zE),",",LE(((D-L)*I+S)*RE-zE),",",LE(((A+C)*M+b)*RE-zE),",",LE(((D+L)*I+S)*RE-zE),",",LE((O*M+b)*RE-zE),",",LE((E*I+S)*RE-zE),",",LE((y*M+b)*RE-zE),",",LE((x*I+S)*RE-zE)),r=y,s=x;break;case CE.R:var z=KE[0],B=KE[1];z[0]=p[a++],z[1]=p[a++],B[0]=z[0]+p[a++],B[1]=z[1]+p[a++],e&&(Q(z,z,e),Q(B,B,e)),z[0]=LE(z[0]*RE-zE),B[0]=LE(B[0]*RE-zE),z[1]=LE(z[1]*RE-zE),B[1]=LE(B[1]*RE-zE),f.push(" m ",z[0],",",z[1]," l ",B[0],",",z[1]," l ",B[0],",",B[1]," l ",z[0],",",B[1]);break;case CE.Z:f.push(" x ")}if(i>0){f.push(n);for(var V=0;V100&&(eR=0,tR={});var i,n=iR.style;try{n.font=t,i=n.fontFamily.split(",")[0]}catch(t){}e={style:n.fontStyle||"normal",variant:n.fontVariant||"normal",weight:n.fontWeight||"normal",size:0|parseFloat(n.fontSize||12),family:i||"Microsoft YaHei"},tR[t]=e,eR++}return e};!function(t,e){bb[t]=e}("measureText",function(t,e){var i=DE;QE||((QE=i.createElement("div")).style.cssText="position:absolute;top:-20000px;left:0;padding:0;margin:0;border:none;white-space:pre;",DE.body.appendChild(QE));try{QE.style.font=e}catch(t){}return QE.innerHTML="",QE.appendChild(i.createTextNode(t)),{width:QE.offsetWidth}});for(var oR=new de,aR=[Db,di,fi,kn,rM],rR=0;rR=o&&u+1>=a){for(var h=[],c=0;c=o&&c+1>=a)return T_(0,s.components);l[i]=s}else l[i]=void 0}r++}();if(d)return d}},pushComponent:function(t,e,i){var n=t[t.length-1];n&&n.added===e&&n.removed===i?t[t.length-1]={count:n.count+1,added:e,removed:i}:t.push({count:1,added:e,removed:i})},extractCommon:function(t,e,i,n){for(var o=e.length,a=i.length,r=t.newPos,s=r-n,l=0;r+1=0;--n)if(e[n]===t)return!0;return!1}),i):null:i[0]},D_.prototype.update=function(t,e){if(t){var i=this.getDefs(!1);if(t[this._domName]&&i.contains(t[this._domName]))"function"==typeof e&&e(t);else{var n=this.add(t);n&&(t[this._domName]=n)}}},D_.prototype.addDom=function(t){this.getDefs(!0).appendChild(t)},D_.prototype.removeDom=function(t){var e=this.getDefs(!1);e&&t[this._domName]&&(e.removeChild(t[this._domName]),t[this._domName]=null)},D_.prototype.getDoms=function(){var t=this.getDefs(!1);if(!t)return[];var e=[];return d(this._tagNames,function(i){var n=t.getElementsByTagName(i);e=e.concat([].slice.call(n))}),e},D_.prototype.markAllUnused=function(){var t=this;d(this.getDoms(),function(e){e[t._markLabel]="0"})},D_.prototype.markUsed=function(t){t&&(t[this._markLabel]="1")},D_.prototype.removeUnused=function(){var t=this.getDefs(!1);if(t){var e=this;d(this.getDoms(),function(i){"1"!==i[e._markLabel]&&t.removeChild(i)})}},D_.prototype.getSvgProxy=function(t){return t instanceof kn?xR:t instanceof fi?_R:t instanceof rM?wR:xR},D_.prototype.getTextSvgElement=function(t){return t.__textSvgEl},D_.prototype.getSvgElement=function(t){return t.__svgEl},u(C_,D_),C_.prototype.addWithoutUpdate=function(t,e){if(e&&e.style){var i=this;d(["fill","stroke"],function(n){if(e.style[n]&&("linear"===e.style[n].type||"radial"===e.style[n].type)){var o,a=e.style[n],r=i.getDefs(!0);a._dom?(o=a._dom,r.contains(a._dom)||i.addDom(o)):o=i.add(a),i.markUsed(e);var s=o.getAttribute("id");t.setAttribute(n,"url(#"+s+")")}})}},C_.prototype.add=function(t){var e;if("linear"===t.type)e=this.createElement("linearGradient");else{if("radial"!==t.type)return Yw("Illegal gradient type."),null;e=this.createElement("radialGradient")}return t.id=t.id||this.nextId++,e.setAttribute("id","zr"+this._zrId+"-gradient-"+t.id),this.updateDom(t,e),this.addDom(e),e},C_.prototype.update=function(t){var e=this;D_.prototype.update.call(this,t,function(){var i=t.type,n=t._dom.tagName;"linear"===i&&"linearGradient"===n||"radial"===i&&"radialGradient"===n?e.updateDom(t,t._dom):(e.removeDom(t),e.add(t))})},C_.prototype.updateDom=function(t,e){if("linear"===t.type)e.setAttribute("x1",t.x),e.setAttribute("y1",t.y),e.setAttribute("x2",t.x2),e.setAttribute("y2",t.y2);else{if("radial"!==t.type)return void Yw("Illegal gradient type.");e.setAttribute("cx",t.x),e.setAttribute("cy",t.y),e.setAttribute("r",t.r)}t.global?e.setAttribute("gradientUnits","userSpaceOnUse"):e.setAttribute("gradientUnits","objectBoundingBox"),e.innerHTML="";for(var i=t.colorStops,n=0,o=i.length;n0){var n,o,a=this.getDefs(!0),r=e[0],s=i?"_textDom":"_dom";r[s]?(o=r[s].getAttribute("id"),n=r[s],a.contains(n)||a.appendChild(n)):(o="zr"+this._zrId+"-clip-"+this.nextId,++this.nextId,(n=this.createElement("clipPath")).setAttribute("id",o),a.appendChild(n),r[s]=n);var l=this.getSvgProxy(r);if(r.transform&&r.parent.invTransform&&!i){var u=Array.prototype.slice.call(r.transform);bt(r.transform,r.parent.invTransform,r.transform),l.brush(r),r.transform=u}else l.brush(r);var h=this.getSvgElement(r);n.innerHTML="",n.appendChild(h.cloneNode()),t.setAttribute("clip-path","url(#"+o+")"),e.length>1&&this.updateDom(n,e.slice(1),i)}else t&&t.setAttribute("clip-path","none")},L_.prototype.markUsed=function(t){var e=this;t.__clipPaths&&t.__clipPaths.length>0&&d(t.__clipPaths,function(t){t._dom&&D_.prototype.markUsed.call(e,t._dom),t._textDom&&D_.prototype.markUsed.call(e,t._textDom)})},u(k_,D_),k_.prototype.addWithoutUpdate=function(t,e){if(e&&P_(e.style)){var i,n=e.style;n._shadowDom?(i=n._shadowDom,this.getDefs(!0).contains(n._shadowDom)||this.addDom(i)):i=this.add(e),this.markUsed(e);var o=i.getAttribute("id");t.style.filter="url(#"+o+")"}},k_.prototype.add=function(t){var e=this.createElement("filter"),i=t.style;return i._shadowDomId=i._shadowDomId||this.nextId++,e.setAttribute("id","zr"+this._zrId+"-shadow-"+i._shadowDomId),this.updateDom(t,e),this.addDom(e),e},k_.prototype.update=function(t,e){var i=e.style;if(P_(i)){var n=this;D_.prototype.update.call(this,e,function(t){n.updateDom(e,t._shadowDom)})}else this.remove(t,i)},k_.prototype.remove=function(t,e){null!=e._shadowDomId&&(this.removeDom(e),t.style.filter="")},k_.prototype.updateDom=function(t,e){var i=e.getElementsByTagName("feDropShadow");i=0===i.length?this.createElement("feDropShadow"):i[0];var n,o,a,r,s=t.style,l=t.scale?t.scale[0]||1:1,u=t.scale?t.scale[1]||1:1;if(s.shadowBlur||s.shadowOffsetX||s.shadowOffsetY)n=s.shadowOffsetX||0,o=s.shadowOffsetY||0,a=s.shadowBlur,r=s.shadowColor;else{if(!s.textShadowBlur)return void this.removeDom(e,s);n=s.textShadowOffsetX||0,o=s.textShadowOffsetY||0,a=s.textShadowBlur,r=s.textShadowColor}i.setAttribute("dx",n/l),i.setAttribute("dy",o/u),i.setAttribute("flood-color",r);var h=a/2/l+" "+a/2/u;i.setAttribute("stdDeviation",h),e.setAttribute("x","-100%"),e.setAttribute("y","-100%"),e.setAttribute("width",Math.ceil(a/2*200)+"%"),e.setAttribute("height",Math.ceil(a/2*200)+"%"),e.appendChild(i),s._shadowDom=e},k_.prototype.markUsed=function(t){var e=t.style;e&&e._shadowDom&&D_.prototype.markUsed.call(this,e._shadowDom)};var TR=function(t,e,i,n){this.root=t,this.storage=e,this._opts=i=a({},i||{});var o=p_("svg");o.setAttribute("xmlns","http://www.w3.org/2000/svg"),o.setAttribute("version","1.1"),o.setAttribute("baseProfile","full"),o.style.cssText="user-select:none;position:absolute;left:0;top:0;",this.gradientManager=new C_(n,o),this.clipPathManager=new L_(n,o),this.shadowManager=new k_(n,o);var r=document.createElement("div");r.style.cssText="overflow:hidden;position:relative",this._svgRoot=o,this._viewport=r,t.appendChild(r),r.appendChild(o),this.resize(i.width,i.height),this._visibleList=[]};TR.prototype={constructor:TR,getType:function(){return"svg"},getViewportRoot:function(){return this._viewport},getViewportRootOffset:function(){var t=this.getViewportRoot();if(t)return{offsetLeft:t.offsetLeft||0,offsetTop:t.offsetTop||0}},refresh:function(){var t=this.storage.getDisplayList(!0);this._paintList(t)},setBackgroundColor:function(t){this._viewport.style.background=t},_paintList:function(t){this.gradientManager.markAllUnused(),this.clipPathManager.markAllUnused(),this.shadowManager.markAllUnused();var e,i=this._svgRoot,n=this._visibleList,o=t.length,a=[];for(e=0;e=0;--n)if(e[n]===t)return!0;return!1}),i):null:i[0]},resize:function(t,e){var i=this._viewport;i.style.display="none";var n=this._opts;if(null!=t&&(n.width=t),null!=e&&(n.height=e),t=this._getSize(0),e=this._getSize(1),i.style.display="",this._width!==t||this._height!==e){this._width=t,this._height=e;var o=i.style;o.width=t+"px",o.height=e+"px";var a=this._svgRoot;a.setAttribute("width",t),a.setAttribute("height",e)}},getWidth:function(){return this._width},getHeight:function(){return this._height},_getSize:function(t){var e=this._opts,i=["width","height"][t],n=["clientWidth","clientHeight"][t],o=["paddingLeft","paddingTop"][t],a=["paddingRight","paddingBottom"][t];if(null!=e[i]&&"auto"!==e[i])return parseFloat(e[i]);var r=this.root,s=document.defaultView.getComputedStyle(r);return(r[n]||N_(s[i])||N_(r.style[i]))-(N_(s[o])||0)-(N_(s[a])||0)|0},dispose:function(){this.root.innerHTML="",this._svgRoot=this._viewport=this.storage=null},clear:function(){this._viewport&&this.root.removeChild(this._viewport)},pathToDataUrl:function(){return this.refresh(),"data:image/svg+xml;charset=UTF-8,"+this._svgRoot.outerHTML}},d(["getLayer","insertLayer","eachLayer","eachBuiltinLayer","eachOtherLayer","getLayers","modLayer","delLayer","clearLayer","toDataURL","pathToImage"],function(t){TR.prototype[t]=F_(t)}),Ti("svg",TR),t.version="4.2.1",t.dependencies=RT,t.PRIORITY=GT,t.init=function(t,e,i){var n=Ls(t);if(n)return n;var o=new ls(t,e,i);return o.id="ec_"+nA++,eA[o.id]=o,Fi(t,aA,o.id),Ds(o),o},t.connect=function(t){if(y(t)){var e=t;t=null,PT(e,function(e){null!=e.group&&(t=e.group)}),t=t||"g_"+oA++,PT(e,function(e){e.group=t})}return iA[t]=!0,t},t.disConnect=Cs,t.disconnect=rA,t.dispose=function(t){"string"==typeof t?t=eA[t]:t instanceof ls||(t=Ls(t)),t instanceof ls&&!t.isDisposed()&&t.dispose()},t.getInstanceByDom=Ls,t.getInstanceById=function(t){return eA[t]},t.registerTheme=ks,t.registerPreprocessor=Ps,t.registerProcessor=Ns,t.registerPostUpdate=function(t){$T.push(t)},t.registerAction=Os,t.registerCoordinateSystem=Es,t.getCoordinateSystemDimensions=function(t){var e=Ga.get(t);if(e)return e.getDimensionsInfo?e.getDimensionsInfo():e.dimensions.slice()},t.registerLayout=Rs,t.registerVisual=zs,t.registerLoading=Vs,t.extendComponentModel=Gs,t.extendComponentView=Fs,t.extendSeriesModel=Ws,t.extendChartView=Hs,t.setCanvasCreator=function(t){e("createCanvas",t)},t.registerMap=function(t,e,i){CT.registerMap(t,e,i)},t.getMap=function(t){var e=CT.retrieveMap(t);return e&&e[0]&&{geoJson:e[0].geoJSON,specialAreas:e[0].specialAreas}},t.dataTool=sA,t.zrender=Hb,t.number=YM,t.format=iI,t.throttle=kr,t.helper=eD,t.matrix=Sw,t.vector=cw,t.color=Ww,t.parseGeoJSON=nD,t.parseGeoJson=sD,t.util=lD,t.graphic=uD,t.List=yA,t.Model=Po,t.Axis=rD,t.env=U_}); diff --git a/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/js/common/jquery.min.js b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/js/common/jquery.min.js new file mode 100644 index 00000000..b18e05a9 --- /dev/null +++ b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/js/common/jquery.min.js @@ -0,0 +1,6 @@ +/*! jQuery v2.0.0 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license +//@ sourceMappingURL=jquery.min.map +*/ +(function(e,undefined){var t,n,r=typeof undefined,i=e.location,o=e.document,s=o.documentElement,a=e.jQuery,u=e.$,l={},c=[],f="2.0.0",p=c.concat,h=c.push,d=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=f.trim,x=function(e,n){return new x.fn.init(e,n,t)},b=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^-ms-/,N=/-([\da-z])/gi,E=function(e,t){return t.toUpperCase()},S=function(){o.removeEventListener("DOMContentLoaded",S,!1),e.removeEventListener("load",S,!1),x.ready()};x.fn=x.prototype={jquery:f,constructor:x,init:function(e,t,n){var r,i;if(!e)return this;if("string"==typeof e){if(r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:T.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof x?t[0]:t,x.merge(this,x.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:o,!0)),C.test(r[1])&&x.isPlainObject(t))for(r in t)x.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return i=o.getElementById(r[2]),i&&i.parentNode&&(this.length=1,this[0]=i),this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?n.ready(e):(e.selector!==undefined&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return d.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,t,n,r,i,o,s=arguments[0]||{},a=1,u=arguments.length,l=!1;for("boolean"==typeof s&&(l=s,s=arguments[1]||{},a=2),"object"==typeof s||x.isFunction(s)||(s={}),u===a&&(s=this,--a);u>a;a++)if(null!=(e=arguments[a]))for(t in e)n=s[t],r=e[t],s!==r&&(l&&r&&(x.isPlainObject(r)||(i=x.isArray(r)))?(i?(i=!1,o=n&&x.isArray(n)?n:[]):o=n&&x.isPlainObject(n)?n:{},s[t]=x.extend(l,o,r)):r!==undefined&&(s[t]=r));return s},x.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=a),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){(e===!0?--x.readyWait:x.isReady)||(x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(o,[x]),x.fn.trigger&&x(o).trigger("ready").off("ready")))},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if("object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:JSON.parse,parseXML:function(e){var t,n;if(!e||"string"!=typeof e)return null;try{n=new DOMParser,t=n.parseFromString(e,"text/xml")}catch(r){t=undefined}return(!t||t.getElementsByTagName("parsererror").length)&&x.error("Invalid XML: "+e),t},noop:function(){},globalEval:function(e){var t,n=eval;e=x.trim(e),e&&(1===e.indexOf("use strict")?(t=o.createElement("script"),t.text=e,o.head.appendChild(t).parentNode.removeChild(t)):n(e))},camelCase:function(e){return e.replace(k,"ms-").replace(N,E)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,s=j(e);if(n){if(s){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(s){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:function(e){return null==e?"":v.call(e)},makeArray:function(e,t){var n=t||[];return null!=e&&(j(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:g.call(t,e,n)},merge:function(e,t){var n=t.length,r=e.length,i=0;if("number"==typeof n)for(;n>i;i++)e[r++]=t[i];else while(t[i]!==undefined)e[r++]=t[i++];return e.length=r,e},grep:function(e,t,n){var r,i=[],o=0,s=e.length;for(n=!!n;s>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,s=j(e),a=[];if(s)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(a[a.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(a[a.length]=r);return p.apply([],a)},guid:1,proxy:function(e,t){var n,r,i;return"string"==typeof t&&(n=e[t],t=e,e=n),x.isFunction(e)?(r=d.call(arguments,2),i=function(){return e.apply(t||this,r.concat(d.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):undefined},access:function(e,t,n,r,i,o,s){var a=0,u=e.length,l=null==n;if("object"===x.type(n)){i=!0;for(a in n)x.access(e,t,a,n[a],!0,o,s)}else if(r!==undefined&&(i=!0,x.isFunction(r)||(s=!0),l&&(s?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(x(e),n)})),t))for(;u>a;a++)t(e[a],n,s?r:r.call(e[a],a,t(e[a],n)));return i?e:l?t.call(e):u?t(e[0],n):o},now:Date.now,swap:function(e,t,n,r){var i,o,s={};for(o in t)s[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=s[o];return i}}),x.ready.promise=function(t){return n||(n=x.Deferred(),"complete"===o.readyState?setTimeout(x.ready):(o.addEventListener("DOMContentLoaded",S,!1),e.addEventListener("load",S,!1))),n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function j(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}t=x(o),function(e,undefined){var t,n,r,i,o,s,a,u,l,c,f,p,h,d,g,m,y="sizzle"+-new Date,v=e.document,b={},w=0,T=0,C=ot(),k=ot(),N=ot(),E=!1,S=function(){return 0},j=typeof undefined,D=1<<31,A=[],L=A.pop,q=A.push,H=A.push,O=A.slice,F=A.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},P="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",R="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",W=M.replace("w","w#"),$="\\["+R+"*("+M+")"+R+"*(?:([*^$|!~]?=)"+R+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+W+")|)|)"+R+"*\\]",B=":("+M+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+$.replace(3,8)+")*)|.*)\\)|)",I=RegExp("^"+R+"+|((?:^|[^\\\\])(?:\\\\.)*)"+R+"+$","g"),z=RegExp("^"+R+"*,"+R+"*"),_=RegExp("^"+R+"*([>+~]|"+R+")"+R+"*"),X=RegExp(R+"*[+~]"),U=RegExp("="+R+"*([^\\]'\"]*)"+R+"*\\]","g"),Y=RegExp(B),V=RegExp("^"+W+"$"),G={ID:RegExp("^#("+M+")"),CLASS:RegExp("^\\.("+M+")"),TAG:RegExp("^("+M.replace("w","w*")+")"),ATTR:RegExp("^"+$),PSEUDO:RegExp("^"+B),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+R+"*(even|odd|(([+-]|)(\\d*)n|)"+R+"*(?:([+-]|)"+R+"*(\\d+)|))"+R+"*\\)|)","i"),"boolean":RegExp("^(?:"+P+")$","i"),needsContext:RegExp("^"+R+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+R+"*((?:-\\d)?\\d*)"+R+"*\\)|)(?=[^-]|$)","i")},J=/^[^{]+\{\s*\[native \w/,Q=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,et=/'|\\/g,tt=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,nt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{H.apply(A=O.call(v.childNodes),v.childNodes),A[v.childNodes.length].nodeType}catch(rt){H={apply:A.length?function(e,t){q.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function it(e){return J.test(e+"")}function ot(){var e,t=[];return e=function(n,i){return t.push(n+=" ")>r.cacheLength&&delete e[t.shift()],e[n]=i}}function st(e){return e[y]=!0,e}function at(e){var t=c.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ut(e,t,n,r){var i,o,s,a,u,f,d,g,x,w;if((t?t.ownerDocument||t:v)!==c&&l(t),t=t||c,n=n||[],!e||"string"!=typeof e)return n;if(1!==(a=t.nodeType)&&9!==a)return[];if(p&&!r){if(i=Q.exec(e))if(s=i[1]){if(9===a){if(o=t.getElementById(s),!o||!o.parentNode)return n;if(o.id===s)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(s))&&m(t,o)&&o.id===s)return n.push(o),n}else{if(i[2])return H.apply(n,t.getElementsByTagName(e)),n;if((s=i[3])&&b.getElementsByClassName&&t.getElementsByClassName)return H.apply(n,t.getElementsByClassName(s)),n}if(b.qsa&&(!h||!h.test(e))){if(g=d=y,x=t,w=9===a&&e,1===a&&"object"!==t.nodeName.toLowerCase()){f=gt(e),(d=t.getAttribute("id"))?g=d.replace(et,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=f.length;while(u--)f[u]=g+mt(f[u]);x=X.test(e)&&t.parentNode||t,w=f.join(",")}if(w)try{return H.apply(n,x.querySelectorAll(w)),n}catch(T){}finally{d||t.removeAttribute("id")}}}return kt(e.replace(I,"$1"),t,n,r)}o=ut.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},l=ut.setDocument=function(e){var t=e?e.ownerDocument||e:v;return t!==c&&9===t.nodeType&&t.documentElement?(c=t,f=t.documentElement,p=!o(t),b.getElementsByTagName=at(function(e){return e.appendChild(t.createComment("")),!e.getElementsByTagName("*").length}),b.attributes=at(function(e){return e.className="i",!e.getAttribute("className")}),b.getElementsByClassName=at(function(e){return e.innerHTML="
",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),b.sortDetached=at(function(e){return 1&e.compareDocumentPosition(c.createElement("div"))}),b.getById=at(function(e){return f.appendChild(e).id=y,!t.getElementsByName||!t.getElementsByName(y).length}),b.getById?(r.find.ID=function(e,t){if(typeof t.getElementById!==j&&p){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},r.filter.ID=function(e){var t=e.replace(tt,nt);return function(e){return e.getAttribute("id")===t}}):(r.find.ID=function(e,t){if(typeof t.getElementById!==j&&p){var n=t.getElementById(e);return n?n.id===e||typeof n.getAttributeNode!==j&&n.getAttributeNode("id").value===e?[n]:undefined:[]}},r.filter.ID=function(e){var t=e.replace(tt,nt);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),r.find.TAG=b.getElementsByTagName?function(e,t){return typeof t.getElementsByTagName!==j?t.getElementsByTagName(e):undefined}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=b.getElementsByClassName&&function(e,t){return typeof t.getElementsByClassName!==j&&p?t.getElementsByClassName(e):undefined},d=[],h=[],(b.qsa=it(t.querySelectorAll))&&(at(function(e){e.innerHTML="",e.querySelectorAll("[selected]").length||h.push("\\["+R+"*(?:value|"+P+")"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){var t=c.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&h.push("[*^$]="+R+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(b.matchesSelector=it(g=f.webkitMatchesSelector||f.mozMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){b.disconnectedMatch=g.call(e,"div"),g.call(e,"[s!='']:x"),d.push("!=",B)}),h=h.length&&RegExp(h.join("|")),d=d.length&&RegExp(d.join("|")),m=it(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},S=f.compareDocumentPosition?function(e,n){if(e===n)return E=!0,0;var r=n.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(n);return r?1&r||!b.sortDetached&&n.compareDocumentPosition(e)===r?e===t||m(v,e)?-1:n===t||m(v,n)?1:u?F.call(u,e)-F.call(u,n):0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,n){var r,i=0,o=e.parentNode,s=n.parentNode,a=[e],l=[n];if(e===n)return E=!0,0;if(!o||!s)return e===t?-1:n===t?1:o?-1:s?1:u?F.call(u,e)-F.call(u,n):0;if(o===s)return lt(e,n);r=e;while(r=r.parentNode)a.unshift(r);r=n;while(r=r.parentNode)l.unshift(r);while(a[i]===l[i])i++;return i?lt(a[i],l[i]):a[i]===v?-1:l[i]===v?1:0},c):c},ut.matches=function(e,t){return ut(e,null,null,t)},ut.matchesSelector=function(e,t){if((e.ownerDocument||e)!==c&&l(e),t=t.replace(U,"='$1']"),!(!b.matchesSelector||!p||d&&d.test(t)||h&&h.test(t)))try{var n=g.call(e,t);if(n||b.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return ut(t,c,null,[e]).length>0},ut.contains=function(e,t){return(e.ownerDocument||e)!==c&&l(e),m(e,t)},ut.attr=function(e,t){(e.ownerDocument||e)!==c&&l(e);var n=r.attrHandle[t.toLowerCase()],i=n&&n(e,t,!p);return i===undefined?b.attributes||!p?e.getAttribute(t):(i=e.getAttributeNode(t))&&i.specified?i.value:null:i},ut.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},ut.uniqueSort=function(e){var t,n=[],r=0,i=0;if(E=!b.detectDuplicates,u=!b.sortStable&&e.slice(0),e.sort(S),E){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return e};function lt(e,t){var n=t&&e,r=n&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function ct(e,t,n){var r;return n?undefined:(r=e.getAttributeNode(t))&&r.specified?r.value:e[t]===!0?t.toLowerCase():null}function ft(e,t,n){var r;return n?undefined:r=e.getAttribute(t,"type"===t.toLowerCase()?1:2)}function pt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ht(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function dt(e){return st(function(t){return t=+t,st(function(n,r){var i,o=e([],n.length,t),s=o.length;while(s--)n[i=o[s]]&&(n[i]=!(r[i]=n[i]))})})}i=ut.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r];r++)n+=i(t);return n},r=ut.selectors={cacheLength:50,createPseudo:st,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(tt,nt),e[3]=(e[4]||e[5]||"").replace(tt,nt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||ut.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&ut.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return G.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&Y.test(n)&&(t=gt(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(tt,nt).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=C[e+" "];return t||(t=RegExp("(^|"+R+")"+e+"("+R+"|$)"))&&C(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=ut.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,h,d,g=o!==s?"nextSibling":"previousSibling",m=t.parentNode,v=a&&t.nodeName.toLowerCase(),x=!u&&!a;if(m){if(o){while(g){f=t;while(f=f[g])if(a?f.nodeName.toLowerCase()===v:1===f.nodeType)return!1;d=g="only"===e&&!d&&"nextSibling"}return!0}if(d=[s?m.firstChild:m.lastChild],s&&x){c=m[y]||(m[y]={}),l=c[e]||[],h=l[0]===w&&l[1],p=l[0]===w&&l[2],f=h&&m.childNodes[h];while(f=++h&&f&&f[g]||(p=h=0)||d.pop())if(1===f.nodeType&&++p&&f===t){c[e]=[w,h,p];break}}else if(x&&(l=(t[y]||(t[y]={}))[e])&&l[0]===w)p=l[1];else while(f=++h&&f&&f[g]||(p=h=0)||d.pop())if((a?f.nodeName.toLowerCase()===v:1===f.nodeType)&&++p&&(x&&((f[y]||(f[y]={}))[e]=[w,p]),f===t))break;return p-=i,p===r||0===p%r&&p/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||ut.error("unsupported pseudo: "+e);return i[y]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?st(function(e,n){var r,o=i(e,t),s=o.length;while(s--)r=F.call(e,o[s]),e[r]=!(n[r]=o[s])}):function(e){return i(e,0,n)}):i}},pseudos:{not:st(function(e){var t=[],n=[],r=s(e.replace(I,"$1"));return r[y]?st(function(e,t,n,i){var o,s=r(e,null,i,[]),a=e.length;while(a--)(o=s[a])&&(e[a]=!(t[a]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:st(function(e){return function(t){return ut(e,t).length>0}}),contains:st(function(e){return function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:st(function(e){return V.test(e||"")||ut.error("unsupported lang: "+e),e=e.replace(tt,nt).toLowerCase(),function(t){var n;do if(n=p?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===c.activeElement&&(!c.hasFocus||c.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Z.test(e.nodeName)},input:function(e){return K.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:dt(function(){return[0]}),last:dt(function(e,t){return[t-1]}),eq:dt(function(e,t,n){return[0>n?n+t:n]}),even:dt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:dt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:dt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:dt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(t in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=pt(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=ht(t);function gt(e,t){var n,i,o,s,a,u,l,c=k[e+" "];if(c)return t?0:c.slice(0);a=e,u=[],l=r.preFilter;while(a){(!n||(i=z.exec(a)))&&(i&&(a=a.slice(i[0].length)||a),u.push(o=[])),n=!1,(i=_.exec(a))&&(n=i.shift(),o.push({value:n,type:i[0].replace(I," ")}),a=a.slice(n.length));for(s in r.filter)!(i=G[s].exec(a))||l[s]&&!(i=l[s](i))||(n=i.shift(),o.push({value:n,type:s,matches:i}),a=a.slice(n.length));if(!n)break}return t?a.length:a?ut.error(e):k(e,u).slice(0)}function mt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function yt(e,t,r){var i=t.dir,o=r&&"parentNode"===i,s=T++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,r,a){var u,l,c,f=w+" "+s;if(a){while(t=t[i])if((1===t.nodeType||o)&&e(t,r,a))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[y]||(t[y]={}),(l=c[i])&&l[0]===f){if((u=l[1])===!0||u===n)return u===!0}else if(l=c[i]=[f],l[1]=e(t,r,a)||n,l[1]===!0)return!0}}function vt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xt(e,t,n,r,i){var o,s=[],a=0,u=e.length,l=null!=t;for(;u>a;a++)(o=e[a])&&(!n||n(o,r,i))&&(s.push(o),l&&t.push(a));return s}function bt(e,t,n,r,i,o){return r&&!r[y]&&(r=bt(r)),i&&!i[y]&&(i=bt(i,o)),st(function(o,s,a,u){var l,c,f,p=[],h=[],d=s.length,g=o||Ct(t||"*",a.nodeType?[a]:a,[]),m=!e||!o&&t?g:xt(g,p,e,a,u),y=n?i||(o?e:d||r)?[]:s:m;if(n&&n(m,y,a,u),r){l=xt(y,h),r(l,[],a,u),c=l.length;while(c--)(f=l[c])&&(y[h[c]]=!(m[h[c]]=f))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(f=y[c])&&l.push(m[c]=f);i(null,y=[],l,u)}c=y.length;while(c--)(f=y[c])&&(l=i?F.call(o,f):p[c])>-1&&(o[l]=!(s[l]=f))}}else y=xt(y===s?y.splice(d,y.length):y),i?i(null,s,y,u):H.apply(s,y)})}function wt(e){var t,n,i,o=e.length,s=r.relative[e[0].type],u=s||r.relative[" "],l=s?1:0,c=yt(function(e){return e===t},u,!0),f=yt(function(e){return F.call(t,e)>-1},u,!0),p=[function(e,n,r){return!s&&(r||n!==a)||((t=n).nodeType?c(e,n,r):f(e,n,r))}];for(;o>l;l++)if(n=r.relative[e[l].type])p=[yt(vt(p),n)];else{if(n=r.filter[e[l].type].apply(null,e[l].matches),n[y]){for(i=++l;o>i;i++)if(r.relative[e[i].type])break;return bt(l>1&&vt(p),l>1&&mt(e.slice(0,l-1)).replace(I,"$1"),n,i>l&&wt(e.slice(l,i)),o>i&&wt(e=e.slice(i)),o>i&&mt(e))}p.push(n)}return vt(p)}function Tt(e,t){var i=0,o=t.length>0,s=e.length>0,u=function(u,l,f,p,h){var d,g,m,y=[],v=0,x="0",b=u&&[],T=null!=h,C=a,k=u||s&&r.find.TAG("*",h&&l.parentNode||l),N=w+=null==C?1:Math.random()||.1;for(T&&(a=l!==c&&l,n=i);null!=(d=k[x]);x++){if(s&&d){g=0;while(m=e[g++])if(m(d,l,f)){p.push(d);break}T&&(w=N,n=++i)}o&&((d=!m&&d)&&v--,u&&b.push(d))}if(v+=x,o&&x!==v){g=0;while(m=t[g++])m(b,y,l,f);if(u){if(v>0)while(x--)b[x]||y[x]||(y[x]=L.call(p));y=xt(y)}H.apply(p,y),T&&!u&&y.length>0&&v+t.length>1&&ut.uniqueSort(p)}return T&&(w=N,a=C),b};return o?st(u):u}s=ut.compile=function(e,t){var n,r=[],i=[],o=N[e+" "];if(!o){t||(t=gt(e)),n=t.length;while(n--)o=wt(t[n]),o[y]?r.push(o):i.push(o);o=N(e,Tt(i,r))}return o};function Ct(e,t,n){var r=0,i=t.length;for(;i>r;r++)ut(e,t[r],n);return n}function kt(e,t,n,i){var o,a,u,l,c,f=gt(e);if(!i&&1===f.length){if(a=f[0]=f[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&p&&r.relative[a[1].type]){if(t=(r.find.ID(u.matches[0].replace(tt,nt),t)||[])[0],!t)return n;e=e.slice(a.shift().value.length)}o=G.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],r.relative[l=u.type])break;if((c=r.find[l])&&(i=c(u.matches[0].replace(tt,nt),X.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=i.length&&mt(a),!e)return H.apply(n,i),n;break}}}return s(e,f)(i,t,!p,n,X.test(e)),n}r.pseudos.nth=r.pseudos.eq;function Nt(){}Nt.prototype=r.filters=r.pseudos,r.setFilters=new Nt,b.sortStable=y.split("").sort(S).join("")===y,l(),[0,0].sort(S),b.detectDuplicates=E,at(function(e){if(e.innerHTML="","#"!==e.firstChild.getAttribute("href")){var t="type|href|height|width".split("|"),n=t.length;while(n--)r.attrHandle[t[n]]=ft}}),at(function(e){if(null!=e.getAttribute("disabled")){var t=P.split("|"),n=t.length;while(n--)r.attrHandle[t[n]]=ct}}),x.find=ut,x.expr=ut.selectors,x.expr[":"]=x.expr.pseudos,x.unique=ut.uniqueSort,x.text=ut.getText,x.isXMLDoc=ut.isXML,x.contains=ut.contains}(e);var D={};function A(e){var t=D[e]={};return x.each(e.match(w)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?D[e]||A(e):x.extend({},e);var t,n,r,i,o,s,a=[],u=!e.once&&[],l=function(f){for(t=e.memory&&f,n=!0,s=i||0,i=0,o=a.length,r=!0;a&&o>s;s++)if(a[s].apply(f[0],f[1])===!1&&e.stopOnFalse){t=!1;break}r=!1,a&&(u?u.length&&l(u.shift()):t?a=[]:c.disable())},c={add:function(){if(a){var n=a.length;(function s(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&c.has(n)||a.push(n):n&&n.length&&"string"!==r&&s(n)})})(arguments),r?o=a.length:t&&(i=n,l(t))}return this},remove:function(){return a&&x.each(arguments,function(e,t){var n;while((n=x.inArray(t,a,n))>-1)a.splice(n,1),r&&(o>=n&&o--,s>=n&&s--)}),this},has:function(e){return e?x.inArray(e,a)>-1:!(!a||!a.length)},empty:function(){return a=[],o=0,this},disable:function(){return a=u=t=undefined,this},disabled:function(){return!a},lock:function(){return u=undefined,t||c.disable(),this},locked:function(){return!u},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!a||n&&!u||(r?u.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!n}};return c},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var s=o[0],a=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=a&&a.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===r?n.promise():this,a?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var s=o[2],a=o[3];r[o[1]]=s.add,a&&s.add(function(){n=a},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=s.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=d.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),s=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?d.call(arguments):r,n===a?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},a,u,l;if(r>1)for(a=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(s(t,l,n)).fail(o.reject).progress(s(t,u,a)):--i;return i||o.resolveWith(l,n),o.promise()}}),x.support=function(t){var n=o.createElement("input"),r=o.createDocumentFragment(),i=o.createElement("div"),s=o.createElement("select"),a=s.appendChild(o.createElement("option"));return n.type?(n.type="checkbox",t.checkOn=""!==n.value,t.optSelected=a.selected,t.reliableMarginRight=!0,t.boxSizingReliable=!0,t.pixelPosition=!1,n.checked=!0,t.noCloneChecked=n.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!a.disabled,n=o.createElement("input"),n.value="t",n.type="radio",t.radioValue="t"===n.value,n.setAttribute("checked","t"),n.setAttribute("name","t"),r.appendChild(n),t.checkClone=r.cloneNode(!0).cloneNode(!0).lastChild.checked,t.focusinBubbles="onfocusin"in e,i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===i.style.backgroundClip,x(function(){var n,r,s="padding:0;margin:0;border:0;display:block;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box",a=o.getElementsByTagName("body")[0];a&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",a.appendChild(n).appendChild(i),i.innerHTML="",i.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%",x.swap(a,null!=a.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===i.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(i,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(i,null)||{width:"4px"}).width,r=i.appendChild(o.createElement("div")),r.style.cssText=i.style.cssText=s,r.style.marginRight=r.style.width="0",i.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),a.removeChild(n))}),t):t}({});var L,q,H=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,O=/([A-Z])/g;function F(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=x.expando+Math.random()}F.uid=1,F.accepts=function(e){return e.nodeType?1===e.nodeType||9===e.nodeType:!0},F.prototype={key:function(e){if(!F.accepts(e))return 0;var t={},n=e[this.expando];if(!n){n=F.uid++;try{t[this.expando]={value:n},Object.defineProperties(e,t)}catch(r){t[this.expando]=n,x.extend(e,t)}}return this.cache[n]||(this.cache[n]={}),n},set:function(e,t,n){var r,i=this.key(e),o=this.cache[i];if("string"==typeof t)o[t]=n;else if(x.isEmptyObject(o))this.cache[i]=t;else for(r in t)o[r]=t[r]},get:function(e,t){var n=this.cache[this.key(e)];return t===undefined?n:n[t]},access:function(e,t,n){return t===undefined||t&&"string"==typeof t&&n===undefined?this.get(e,t):(this.set(e,t,n),n!==undefined?n:t)},remove:function(e,t){var n,r,i=this.key(e),o=this.cache[i];if(t===undefined)this.cache[i]={};else{x.isArray(t)?r=t.concat(t.map(x.camelCase)):t in o?r=[t]:(r=x.camelCase(t),r=r in o?[r]:r.match(w)||[]),n=r.length;while(n--)delete o[r[n]]}},hasData:function(e){return!x.isEmptyObject(this.cache[e[this.expando]]||{})},discard:function(e){delete this.cache[this.key(e)]}},L=new F,q=new F,x.extend({acceptData:F.accepts,hasData:function(e){return L.hasData(e)||q.hasData(e)},data:function(e,t,n){return L.access(e,t,n)},removeData:function(e,t){L.remove(e,t)},_data:function(e,t,n){return q.access(e,t,n)},_removeData:function(e,t){q.remove(e,t)}}),x.fn.extend({data:function(e,t){var n,r,i=this[0],o=0,s=null;if(e===undefined){if(this.length&&(s=L.get(i),1===i.nodeType&&!q.get(i,"hasDataAttrs"))){for(n=i.attributes;n.length>o;o++)r=n[o].name,0===r.indexOf("data-")&&(r=x.camelCase(r.substring(5)),P(i,r,s[r]));q.set(i,"hasDataAttrs",!0)}return s}return"object"==typeof e?this.each(function(){L.set(this,e)}):x.access(this,function(t){var n,r=x.camelCase(e);if(i&&t===undefined){if(n=L.get(i,e),n!==undefined)return n;if(n=L.get(i,r),n!==undefined)return n;if(n=P(i,r,undefined),n!==undefined)return n}else this.each(function(){var n=L.get(this,r);L.set(this,r,t),-1!==e.indexOf("-")&&n!==undefined&&L.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){L.remove(this,e)})}});function P(e,t,n){var r;if(n===undefined&&1===e.nodeType)if(r="data-"+t.replace(O,"-$1").toLowerCase(),n=e.getAttribute(r),"string"==typeof n){try{n="true"===n?!0:"false"===n?!1:"null"===n?null:+n+""===n?+n:H.test(n)?JSON.parse(n):n}catch(i){}L.set(e,t,n)}else n=undefined;return n}x.extend({queue:function(e,t,n){var r;return e?(t=(t||"fx")+"queue",r=q.get(e,t),n&&(!r||x.isArray(n)?r=q.access(e,t,x.makeArray(n)):r.push(n)),r||[]):undefined},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),s=function(){x.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,s,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return q.get(e,n)||q.access(e,n,{empty:x.Callbacks("once memory").add(function(){q.remove(e,[t+"queue",n])})})}}),x.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),n>arguments.length?x.queue(this[0],e):t===undefined?this:this.each(function(){var n=x.queue(this,e,t); +x._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=x.Deferred(),o=this,s=this.length,a=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=undefined),e=e||"fx";while(s--)n=q.get(o[s],e+"queueHooks"),n&&n.empty&&(r++,n.empty.add(a));return a(),i.promise(t)}});var R,M,W=/[\t\r\n]/g,$=/\r/g,B=/^(?:input|select|textarea|button)$/i;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[x.propFix[e]||e]})},addClass:function(e){var t,n,r,i,o,s=0,a=this.length,u="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];a>s;s++)if(n=this[s],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(W," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,s=0,a=this.length,u=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];a>s;s++)if(n=this[s],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(W," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,i="boolean"==typeof t;return x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,s=0,a=x(this),u=t,l=e.match(w)||[];while(o=l[s++])u=i?u:!a.hasClass(o),a[u?"addClass":"removeClass"](o)}else(n===r||"boolean"===n)&&(this.className&&q.set(this,"__className__",this.className),this.className=this.className||e===!1?"":q.get(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(W," ").indexOf(t)>=0)return!0;return!1},val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=x.isFunction(e),this.each(function(n){var i,o=x(this);1===this.nodeType&&(i=r?e.call(this,n,o.val()):e,null==i?i="":"number"==typeof i?i+="":x.isArray(i)&&(i=x.map(i,function(e){return null==e?"":e+""})),t=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&t.set(this,i,"value")!==undefined||(this.value=i))});if(i)return t=x.valHooks[i.type]||x.valHooks[i.nodeName.toLowerCase()],t&&"get"in t&&(n=t.get(i,"value"))!==undefined?n:(n=i.value,"string"==typeof n?n.replace($,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,s=o?null:[],a=o?i+1:r.length,u=0>i?a:o?i:0;for(;a>u;u++)if(n=r[u],!(!n.selected&&u!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),s=i.length;while(s--)r=i[s],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,t,n){var i,o,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===r?x.prop(e,t,n):(1===s&&x.isXMLDoc(e)||(t=t.toLowerCase(),i=x.attrHooks[t]||(x.expr.match.boolean.test(t)?M:R)),n===undefined?i&&"get"in i&&null!==(o=i.get(e,t))?o:(o=x.find.attr(e,t),null==o?undefined:o):null!==n?i&&"set"in i&&(o=i.set(e,n,t))!==undefined?o:(e.setAttribute(t,n+""),n):(x.removeAttr(e,t),undefined))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.boolean.test(n)&&(e[r]=!1),e.removeAttribute(n)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,t,n){var r,i,o,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return o=1!==s||!x.isXMLDoc(e),o&&(t=x.propFix[t]||t,i=x.propHooks[t]),n!==undefined?i&&"set"in i&&(r=i.set(e,n,t))!==undefined?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){return e.hasAttribute("tabindex")||B.test(e.nodeName)||e.href?e.tabIndex:-1}}}}),M={set:function(e,t,n){return t===!1?x.removeAttr(e,n):e.setAttribute(n,n),n}},x.each(x.expr.match.boolean.source.match(/\w+/g),function(e,t){var n=x.expr.attrHandle[t]||x.find.attr;x.expr.attrHandle[t]=function(e,t,r){var i=x.expr.attrHandle[t],o=r?undefined:(x.expr.attrHandle[t]=undefined)!=n(e,t,r)?t.toLowerCase():null;return x.expr.attrHandle[t]=i,o}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,t){return x.isArray(t)?e.checked=x.inArray(x(e).val(),t)>=0:undefined}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var I=/^key/,z=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,X=/^([^.]*)(?:\.(.+)|)$/;function U(){return!0}function Y(){return!1}function V(){try{return o.activeElement}catch(e){}}x.event={global:{},add:function(e,t,n,i,o){var s,a,u,l,c,f,p,h,d,g,m,y=q.get(e);if(y){n.handler&&(s=n,n=s.handler,o=s.selector),n.guid||(n.guid=x.guid++),(l=y.events)||(l=y.events={}),(a=y.handle)||(a=y.handle=function(e){return typeof x===r||e&&x.event.triggered===e.type?undefined:x.event.dispatch.apply(a.elem,arguments)},a.elem=e),t=(t||"").match(w)||[""],c=t.length;while(c--)u=X.exec(t[c])||[],d=m=u[1],g=(u[2]||"").split(".").sort(),d&&(p=x.event.special[d]||{},d=(o?p.delegateType:p.bindType)||d,p=x.event.special[d]||{},f=x.extend({type:d,origType:m,data:i,handler:n,guid:n.guid,selector:o,needsContext:o&&x.expr.match.needsContext.test(o),namespace:g.join(".")},s),(h=l[d])||(h=l[d]=[],h.delegateCount=0,p.setup&&p.setup.call(e,i,g,a)!==!1||e.addEventListener&&e.addEventListener(d,a,!1)),p.add&&(p.add.call(e,f),f.handler.guid||(f.handler.guid=n.guid)),o?h.splice(h.delegateCount++,0,f):h.push(f),x.event.global[d]=!0);e=null}},remove:function(e,t,n,r,i){var o,s,a,u,l,c,f,p,h,d,g,m=q.hasData(e)&&q.get(e);if(m&&(u=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(a=X.exec(t[l])||[],h=g=a[1],d=(a[2]||"").split(".").sort(),h){f=x.event.special[h]||{},h=(r?f.delegateType:f.bindType)||h,p=u[h]||[],a=a[2]&&RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||a&&!a.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));s&&!p.length&&(f.teardown&&f.teardown.call(e,d,m.handle)!==!1||x.removeEvent(e,h,m.handle),delete u[h])}else for(h in u)x.event.remove(e,h+t[l],n,r,!0);x.isEmptyObject(u)&&(delete m.handle,q.remove(e,"events"))}},trigger:function(t,n,r,i){var s,a,u,l,c,f,p,h=[r||o],d=y.call(t,"type")?t.type:t,g=y.call(t,"namespace")?t.namespace.split("."):[];if(a=u=r=r||o,3!==r.nodeType&&8!==r.nodeType&&!_.test(d+x.event.triggered)&&(d.indexOf(".")>=0&&(g=d.split("."),d=g.shift(),g.sort()),c=0>d.indexOf(":")&&"on"+d,t=t[x.expando]?t:new x.Event(d,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=g.join("."),t.namespace_re=t.namespace?RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=undefined,t.target||(t.target=r),n=null==n?[t]:x.makeArray(n,[t]),p=x.event.special[d]||{},i||!p.trigger||p.trigger.apply(r,n)!==!1)){if(!i&&!p.noBubble&&!x.isWindow(r)){for(l=p.delegateType||d,_.test(l+d)||(a=a.parentNode);a;a=a.parentNode)h.push(a),u=a;u===(r.ownerDocument||o)&&h.push(u.defaultView||u.parentWindow||e)}s=0;while((a=h[s++])&&!t.isPropagationStopped())t.type=s>1?l:p.bindType||d,f=(q.get(a,"events")||{})[t.type]&&q.get(a,"handle"),f&&f.apply(a,n),f=c&&a[c],f&&x.acceptData(a)&&f.apply&&f.apply(a,n)===!1&&t.preventDefault();return t.type=d,i||t.isDefaultPrevented()||p._default&&p._default.apply(h.pop(),n)!==!1||!x.acceptData(r)||c&&x.isFunction(r[d])&&!x.isWindow(r)&&(u=r[c],u&&(r[c]=null),x.event.triggered=d,r[d](),x.event.triggered=undefined,u&&(r[c]=u)),t.result}},dispatch:function(e){e=x.event.fix(e);var t,n,r,i,o,s=[],a=d.call(arguments),u=(q.get(this,"events")||{})[e.type]||[],l=x.event.special[e.type]||{};if(a[0]=e,e.delegateTarget=this,!l.preDispatch||l.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),t=0;while((i=s[t++])&&!e.isPropagationStopped()){e.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(o.namespace))&&(e.handleObj=o,e.data=o.data,r=((x.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,a),r!==undefined&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return l.postDispatch&&l.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,r,i,o,s=[],a=t.delegateCount,u=e.target;if(a&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!==this;u=u.parentNode||this)if(u.disabled!==!0||"click"!==e.type){for(r=[],n=0;a>n;n++)o=t[n],i=o.selector+" ",r[i]===undefined&&(r[i]=o.needsContext?x(i,this).index(u)>=0:x.find(i,this,null,[u]).length),r[i]&&r.push(o);r.length&&s.push({elem:u,handlers:r})}return t.length>a&&s.push({elem:this,handlers:t.slice(a)}),s},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,t){var n,r,i,s=t.button;return null==e.pageX&&null!=t.clientX&&(n=e.target.ownerDocument||o,r=n.documentElement,i=n.body,e.pageX=t.clientX+(r&&r.scrollLeft||i&&i.scrollLeft||0)-(r&&r.clientLeft||i&&i.clientLeft||0),e.pageY=t.clientY+(r&&r.scrollTop||i&&i.scrollTop||0)-(r&&r.clientTop||i&&i.clientTop||0)),e.which||s===undefined||(e.which=1&s?1:2&s?3:4&s?2:0),e}},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=z.test(i)?this.mouseHooks:I.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new x.Event(o),t=r.length;while(t--)n=r[t],e[n]=o[n];return 3===e.target.nodeType&&(e.target=e.target.parentNode),s.filter?s.filter(e,o):e},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==V()&&this.focus?(this.focus(),!1):undefined},delegateType:"focusin"},blur:{trigger:function(){return this===V()&&this.blur?(this.blur(),!1):undefined},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&x.nodeName(this,"input")?(this.click(),!1):undefined},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==undefined&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)},x.Event=function(e,t){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.getPreventDefault&&e.getPreventDefault()?U:Y):this.type=e,t&&x.extend(this,t),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,undefined):new x.Event(e,t)},x.Event.prototype={isDefaultPrevented:Y,isPropagationStopped:Y,isImmediatePropagationStopped:Y,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=U,e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=U,e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=U,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,t,n,r,i){var o,s;if("object"==typeof e){"string"!=typeof t&&(n=n||t,t=undefined);for(s in e)this.on(s,t,n,e[s],i);return this}if(null==n&&null==r?(r=t,n=t=undefined):null==r&&("string"==typeof t?(r=n,n=undefined):(r=n,n=t,t=undefined)),r===!1)r=Y;else if(!r)return this;return 1===i&&(o=r,r=function(e){return x().off(e),o.apply(this,arguments)},r.guid=o.guid||(o.guid=x.guid++)),this.each(function(){x.event.add(this,e,r,n,t)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,x(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return(t===!1||"function"==typeof t)&&(n=t,t=undefined),n===!1&&(n=Y),this.each(function(){x.event.remove(this,e,n,t)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];return n?x.event.trigger(e,t,n,!0):undefined}});var G=/^.[^:#\[\.,]*$/,J=x.expr.match.needsContext,Q={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return t=this,this.pushStack(x(e).filter(function(){for(r=0;i>r;r++)if(x.contains(t[r],this))return!0}));for(n=[],r=0;i>r;r++)x.find(e,this[r],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t=x(e,this),n=t.length;return this.filter(function(){var e=0;for(;n>e;e++)if(x.contains(this,t[e]))return!0})},not:function(e){return this.pushStack(Z(this,e||[],!0))},filter:function(e){return this.pushStack(Z(this,e||[],!1))},is:function(e){return!!e&&("string"==typeof e?J.test(e)?x(e,this.context).index(this[0])>=0:x.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],s=J.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(s?s.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?g.call(x(e),this[0]):g.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function K(e,t){while((e=e[t])&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return K(e,"nextSibling")},prev:function(e){return K(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return x.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(Q[e]||x.unique(i),"p"===e[0]&&i.reverse()),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,t,n){var r=[],i=n!==undefined;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&x(e).is(n))break;r.push(e)}return r},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function Z(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(G.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return g.call(t,e)>=0!==n})}var et=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,tt=/<([\w:]+)/,nt=/<|&#?\w+;/,rt=/<(?:script|style|link)/i,it=/^(?:checkbox|radio)$/i,ot=/checked\s*(?:[^=]|=\s*.checked.)/i,st=/^$|\/(?:java|ecma)script/i,at=/^true\/(.*)/,ut=/^\s*\s*$/g,lt={option:[1,""],thead:[1,"
","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};lt.optgroup=lt.option,lt.tbody=lt.tfoot=lt.colgroup=lt.caption=lt.col=lt.thead,lt.th=lt.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===undefined?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=ct(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=ct(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(gt(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&ht(gt(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++)1===e.nodeType&&(x.cleanData(gt(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var t=this[0]||{},n=0,r=this.length;if(e===undefined&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!rt.test(e)&&!lt[(tt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(et,"<$1>");try{for(;r>n;n++)t=this[n]||{},1===t.nodeType&&(x.cleanData(gt(t,!1)),t.innerHTML=e);t=0}catch(i){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=p.apply([],e);var r,i,o,s,a,u,l=0,c=this.length,f=this,h=c-1,d=e[0],g=x.isFunction(d);if(g||!(1>=c||"string"!=typeof d||x.support.checkClone)&&ot.test(d))return this.each(function(r){var i=f.eq(r);g&&(e[0]=d.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(r=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),i=r.firstChild,1===r.childNodes.length&&(r=i),i)){for(o=x.map(gt(r,"script"),ft),s=o.length;c>l;l++)a=r,l!==h&&(a=x.clone(a,!0,!0),s&&x.merge(o,gt(a,"script"))),t.call(this[l],a,l);if(s)for(u=o[o.length-1].ownerDocument,x.map(o,pt),l=0;s>l;l++)a=o[l],st.test(a.type||"")&&!q.access(a,"globalEval")&&x.contains(u,a)&&(a.src?x._evalUrl(a.src):x.globalEval(a.textContent.replace(ut,"")))}return this}}),x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=[],i=x(e),o=i.length-1,s=0;for(;o>=s;s++)n=s===o?this:this.clone(!0),x(i[s])[t](n),h.apply(r,n.get());return this.pushStack(r)}}),x.extend({clone:function(e,t,n){var r,i,o,s,a=e.cloneNode(!0),u=x.contains(e.ownerDocument,e);if(!(x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(s=gt(a),o=gt(e),r=0,i=o.length;i>r;r++)mt(o[r],s[r]);if(t)if(n)for(o=o||gt(e),s=s||gt(a),r=0,i=o.length;i>r;r++)dt(o[r],s[r]);else dt(e,a);return s=gt(a,"script"),s.length>0&&ht(s,!u&>(e,"script")),a},buildFragment:function(e,t,n,r){var i,o,s,a,u,l,c=0,f=e.length,p=t.createDocumentFragment(),h=[];for(;f>c;c++)if(i=e[c],i||0===i)if("object"===x.type(i))x.merge(h,i.nodeType?[i]:i);else if(nt.test(i)){o=o||p.appendChild(t.createElement("div")),s=(tt.exec(i)||["",""])[1].toLowerCase(),a=lt[s]||lt._default,o.innerHTML=a[1]+i.replace(et,"<$1>")+a[2],l=a[0];while(l--)o=o.firstChild;x.merge(h,o.childNodes),o=p.firstChild,o.textContent=""}else h.push(t.createTextNode(i));p.textContent="",c=0;while(i=h[c++])if((!r||-1===x.inArray(i,r))&&(u=x.contains(i.ownerDocument,i),o=gt(p.appendChild(i),"script"),u&&ht(o),n)){l=0;while(i=o[l++])st.test(i.type||"")&&n.push(i)}return p},cleanData:function(e){var t,n,r,i=e.length,o=0,s=x.event.special;for(;i>o;o++){if(n=e[o],x.acceptData(n)&&(t=q.access(n)))for(r in t.events)s[r]?x.event.remove(n,r):x.removeEvent(n,r,t.handle);L.discard(n),q.discard(n)}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"text",async:!1,global:!1,success:x.globalEval})}});function ct(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function ft(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function pt(e){var t=at.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function ht(e,t){var n=e.length,r=0;for(;n>r;r++)q.set(e[r],"globalEval",!t||q.get(t[r],"globalEval"))}function dt(e,t){var n,r,i,o,s,a,u,l;if(1===t.nodeType){if(q.hasData(e)&&(o=q.access(e),s=x.extend({},o),l=o.events,q.set(t,s),l)){delete s.handle,s.events={};for(i in l)for(n=0,r=l[i].length;r>n;n++)x.event.add(t,i,l[i][n])}L.hasData(e)&&(a=L.access(e),u=x.extend({},a),L.set(t,u))}}function gt(e,t){var n=e.getElementsByTagName?e.getElementsByTagName(t||"*"):e.querySelectorAll?e.querySelectorAll(t||"*"):[];return t===undefined||t&&x.nodeName(e,t)?x.merge([e],n):n}function mt(e,t){var n=t.nodeName.toLowerCase();"input"===n&&it.test(e.type)?t.checked=e.checked:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}x.fn.extend({wrapAll:function(e){var t;return x.isFunction(e)?this.each(function(t){x(this).wrapAll(e.call(this,t))}):(this[0]&&(t=x(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this)},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var yt,vt,xt=/^(none|table(?!-c[ea]).+)/,bt=/^margin/,wt=RegExp("^("+b+")(.*)$","i"),Tt=RegExp("^("+b+")(?!px)[a-z%]+$","i"),Ct=RegExp("^([+-])=("+b+")","i"),kt={BODY:"block"},Nt={position:"absolute",visibility:"hidden",display:"block"},Et={letterSpacing:0,fontWeight:400},St=["Top","Right","Bottom","Left"],jt=["Webkit","O","Moz","ms"];function Dt(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=jt.length;while(i--)if(t=jt[i]+n,t in e)return t;return r}function At(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function Lt(t){return e.getComputedStyle(t,null)}function qt(e,t){var n,r,i,o=[],s=0,a=e.length;for(;a>s;s++)r=e[s],r.style&&(o[s]=q.get(r,"olddisplay"),n=r.style.display,t?(o[s]||"none"!==n||(r.style.display=""),""===r.style.display&&At(r)&&(o[s]=q.access(r,"olddisplay",Pt(r.nodeName)))):o[s]||(i=At(r),(n&&"none"!==n||!i)&&q.set(r,"olddisplay",i?n:x.css(r,"display"))));for(s=0;a>s;s++)r=e[s],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[s]||"":"none"));return e}x.fn.extend({css:function(e,t){return x.access(this,function(e,t,n){var r,i,o={},s=0;if(x.isArray(t)){for(r=Lt(e),i=t.length;i>s;s++)o[t[s]]=x.css(e,t[s],!1,r);return o}return n!==undefined?x.style(e,t,n):x.css(e,t)},e,t,arguments.length>1)},show:function(){return qt(this,!0)},hide:function(){return qt(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:At(this))?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=yt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,s,a=x.camelCase(t),u=e.style;return t=x.cssProps[a]||(x.cssProps[a]=Dt(u,a)),s=x.cssHooks[t]||x.cssHooks[a],n===undefined?s&&"get"in s&&(i=s.get(e,!1,r))!==undefined?i:u[t]:(o=typeof n,"string"===o&&(i=Ct.exec(n))&&(n=(i[1]+1)*i[2]+parseFloat(x.css(e,t)),o="number"),null==n||"number"===o&&isNaN(n)||("number"!==o||x.cssNumber[a]||(n+="px"),x.support.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),s&&"set"in s&&(n=s.set(e,n,r))===undefined||(u[t]=n)),undefined)}},css:function(e,t,n,r){var i,o,s,a=x.camelCase(t);return t=x.cssProps[a]||(x.cssProps[a]=Dt(e.style,a)),s=x.cssHooks[t]||x.cssHooks[a],s&&"get"in s&&(i=s.get(e,!0,n)),i===undefined&&(i=yt(e,t,r)),"normal"===i&&t in Et&&(i=Et[t]),""===n||n?(o=parseFloat(i),n===!0||x.isNumeric(o)?o||0:i):i}}),yt=function(e,t,n){var r,i,o,s=n||Lt(e),a=s?s.getPropertyValue(t)||s[t]:undefined,u=e.style;return s&&(""!==a||x.contains(e.ownerDocument,e)||(a=x.style(e,t)),Tt.test(a)&&bt.test(t)&&(r=u.width,i=u.minWidth,o=u.maxWidth,u.minWidth=u.maxWidth=u.width=a,a=s.width,u.width=r,u.minWidth=i,u.maxWidth=o)),a};function Ht(e,t,n){var r=wt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function Ot(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,s=0;for(;4>o;o+=2)"margin"===n&&(s+=x.css(e,n+St[o],!0,i)),r?("content"===n&&(s-=x.css(e,"padding"+St[o],!0,i)),"margin"!==n&&(s-=x.css(e,"border"+St[o]+"Width",!0,i))):(s+=x.css(e,"padding"+St[o],!0,i),"padding"!==n&&(s+=x.css(e,"border"+St[o]+"Width",!0,i)));return s}function Ft(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Lt(e),s=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=yt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Tt.test(i))return i;r=s&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+Ot(e,t,n||(s?"border":"content"),r,o)+"px"}function Pt(e){var t=o,n=kt[e];return n||(n=Rt(e,t),"none"!==n&&n||(vt=(vt||x("' + ,id: id + }); + element.tabChange('main_tab', id); + }else{ + element.tabChange('main_tab', id); + } + }, + logout:function(){ + layer.confirm('确定要退出吗?',{ + icon:3, + btn:['确定','取消'], + },function(){ + layer.close(layer.index); + }, + function(){ + alert('已取消'); + } + ); + } + }; + + exports('modules_index', myobj); //注意,这里是模块输出的核心,模块名必须和use时的模块名一致 +}); \ No newline at end of file diff --git a/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/js/pages/home.js b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/js/pages/home.js new file mode 100644 index 00000000..5803fe3b --- /dev/null +++ b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/js/pages/home.js @@ -0,0 +1,39 @@ +layui.config({ + base: './js/modules/' //你存放新模块的目录,注意,不是layui的模块目录 +}).extend({ + modules_index:'md_index', +}); +$(function(){ + var mychart_count=echarts.init(document.getElementById("echarts-count")); + var option_count={ + title:{text:"销售概况统计图"}, + tooltip:{}, + legend:{data:["成交量","销量","退货"]}, + xAxis:{data:["手机","电脑","平板","耳机","电池","鼠标"]}, + yAxis:{}, + series:[ + {name:"成交量",type:"bar",data:[5,10,15,20,25,30]}, + {name:"销量",type:"bar",data:[10,20,30,40,50,60]}, + {name:"退货",type:"bar",data:[5,10,15,20,25,30]} + ] + }; + mychart_count.setOption(option_count); + var mychart_task=echarts.init(document.getElementById("echarts-task")); + var option_task={ + title:{text:"今日任务概况"}, + series:[ + {name:"任务概况",type:"pie",radius:"55%",data:[ + {value:235,name:"待处理订单"}, + {value:68,name:"待发货订单"}, + {value:28,name:"待退货审核"}, + ]} + ] + }; + mychart_task.setOption(option_task); + + $("#task-link>ul>li").hover(function() { + $(this).addClass('layui-anim layui-anim-scale'); + }, function() { + $(this).removeClass('layui-anim layui-anim-scale'); + }); +}); \ No newline at end of file diff --git a/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/js/pages/index.js b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/js/pages/index.js new file mode 100644 index 00000000..ac869db9 --- /dev/null +++ b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/js/pages/index.js @@ -0,0 +1,24 @@ +layui.config({ + base: './js/modules/' //你存放新模块的目录,注意,不是layui的模块目录 +}).extend({ + modules_index:'md_index', +}); +layui.use(['modules_index'],function(){ + var modules_index=layui.modules_index + ,element=layui.element; + //监听左侧导航点击 + element.on('nav(nav_left)', function(elem){ + var url=elem.attr("src"); + var id=elem.attr("data-id"); + var titlename=elem.text(); + if(url){ + modules_index.addtab(url,id,titlename); + } + }); + //监听头部右侧导航点击 + element.on('nav(nav_header_right)',function(elem){ + if(elem.attr("data-id")=="logout"){ + modules_index.logout(); + } + }); +}); diff --git a/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/css/layui.css b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/css/layui.css new file mode 100644 index 00000000..5a104695 --- /dev/null +++ b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/css/layui.css @@ -0,0 +1,2 @@ +/** layui-v2.5.6 MIT License By https://www.layui.com */ + .layui-inline,img{display:inline-block;vertical-align:middle}h1,h2,h3,h4,h5,h6{font-weight:400}.layui-edge,.layui-header,.layui-inline,.layui-main{position:relative}.layui-body,.layui-edge,.layui-elip{overflow:hidden}.layui-btn,.layui-edge,.layui-inline,img{vertical-align:middle}.layui-btn,.layui-disabled,.layui-icon,.layui-unselect{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.layui-elip,.layui-form-checkbox span,.layui-form-pane .layui-form-label{text-overflow:ellipsis;white-space:nowrap}.layui-breadcrumb,.layui-tree-btnGroup{visibility:hidden}blockquote,body,button,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,input,li,ol,p,pre,td,textarea,th,ul{margin:0;padding:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}a:active,a:hover{outline:0}img{border:none}li{list-style:none}table{border-collapse:collapse;border-spacing:0}h4,h5,h6{font-size:100%}button,input,optgroup,option,select,textarea{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;outline:0}pre{white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}body{line-height:24px;font:14px Helvetica Neue,Helvetica,PingFang SC,Tahoma,Arial,sans-serif}hr{height:1px;margin:10px 0;border:0;clear:both}a{color:#333;text-decoration:none}a:hover{color:#777}a cite{font-style:normal;*cursor:pointer}.layui-border-box,.layui-border-box *{box-sizing:border-box}.layui-box,.layui-box *{box-sizing:content-box}.layui-clear{clear:both;*zoom:1}.layui-clear:after{content:'\20';clear:both;*zoom:1;display:block;height:0}.layui-inline{*display:inline;*zoom:1}.layui-edge{display:inline-block;width:0;height:0;border-width:6px;border-style:dashed;border-color:transparent}.layui-edge-top{top:-4px;border-bottom-color:#999;border-bottom-style:solid}.layui-edge-right{border-left-color:#999;border-left-style:solid}.layui-edge-bottom{top:2px;border-top-color:#999;border-top-style:solid}.layui-edge-left{border-right-color:#999;border-right-style:solid}.layui-disabled,.layui-disabled:hover{color:#d2d2d2!important;cursor:not-allowed!important}.layui-circle{border-radius:100%}.layui-show{display:block!important}.layui-hide{display:none!important}@font-face{font-family:layui-icon;src:url(../font/iconfont.eot?v=256);src:url(../font/iconfont.eot?v=256#iefix) format('embedded-opentype'),url(../font/iconfont.woff2?v=256) format('woff2'),url(../font/iconfont.woff?v=256) format('woff'),url(../font/iconfont.ttf?v=256) format('truetype'),url(../font/iconfont.svg?v=256#layui-icon) format('svg')}.layui-icon{font-family:layui-icon!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layui-icon-reply-fill:before{content:"\e611"}.layui-icon-set-fill:before{content:"\e614"}.layui-icon-menu-fill:before{content:"\e60f"}.layui-icon-search:before{content:"\e615"}.layui-icon-share:before{content:"\e641"}.layui-icon-set-sm:before{content:"\e620"}.layui-icon-engine:before{content:"\e628"}.layui-icon-close:before{content:"\1006"}.layui-icon-close-fill:before{content:"\1007"}.layui-icon-chart-screen:before{content:"\e629"}.layui-icon-star:before{content:"\e600"}.layui-icon-circle-dot:before{content:"\e617"}.layui-icon-chat:before{content:"\e606"}.layui-icon-release:before{content:"\e609"}.layui-icon-list:before{content:"\e60a"}.layui-icon-chart:before{content:"\e62c"}.layui-icon-ok-circle:before{content:"\1005"}.layui-icon-layim-theme:before{content:"\e61b"}.layui-icon-table:before{content:"\e62d"}.layui-icon-right:before{content:"\e602"}.layui-icon-left:before{content:"\e603"}.layui-icon-cart-simple:before{content:"\e698"}.layui-icon-face-cry:before{content:"\e69c"}.layui-icon-face-smile:before{content:"\e6af"}.layui-icon-survey:before{content:"\e6b2"}.layui-icon-tree:before{content:"\e62e"}.layui-icon-ie:before{content:"\e7bb"}.layui-icon-upload-circle:before{content:"\e62f"}.layui-icon-add-circle:before{content:"\e61f"}.layui-icon-download-circle:before{content:"\e601"}.layui-icon-templeate-1:before{content:"\e630"}.layui-icon-util:before{content:"\e631"}.layui-icon-face-surprised:before{content:"\e664"}.layui-icon-edit:before{content:"\e642"}.layui-icon-speaker:before{content:"\e645"}.layui-icon-down:before{content:"\e61a"}.layui-icon-file:before{content:"\e621"}.layui-icon-layouts:before{content:"\e632"}.layui-icon-rate-half:before{content:"\e6c9"}.layui-icon-add-circle-fine:before{content:"\e608"}.layui-icon-prev-circle:before{content:"\e633"}.layui-icon-read:before{content:"\e705"}.layui-icon-404:before{content:"\e61c"}.layui-icon-carousel:before{content:"\e634"}.layui-icon-help:before{content:"\e607"}.layui-icon-code-circle:before{content:"\e635"}.layui-icon-windows:before{content:"\e67f"}.layui-icon-water:before{content:"\e636"}.layui-icon-username:before{content:"\e66f"}.layui-icon-find-fill:before{content:"\e670"}.layui-icon-about:before{content:"\e60b"}.layui-icon-location:before{content:"\e715"}.layui-icon-up:before{content:"\e619"}.layui-icon-pause:before{content:"\e651"}.layui-icon-date:before{content:"\e637"}.layui-icon-layim-uploadfile:before{content:"\e61d"}.layui-icon-delete:before{content:"\e640"}.layui-icon-play:before{content:"\e652"}.layui-icon-top:before{content:"\e604"}.layui-icon-firefox:before{content:"\e686"}.layui-icon-friends:before{content:"\e612"}.layui-icon-refresh-3:before{content:"\e9aa"}.layui-icon-ok:before{content:"\e605"}.layui-icon-layer:before{content:"\e638"}.layui-icon-face-smile-fine:before{content:"\e60c"}.layui-icon-dollar:before{content:"\e659"}.layui-icon-group:before{content:"\e613"}.layui-icon-layim-download:before{content:"\e61e"}.layui-icon-picture-fine:before{content:"\e60d"}.layui-icon-link:before{content:"\e64c"}.layui-icon-diamond:before{content:"\e735"}.layui-icon-log:before{content:"\e60e"}.layui-icon-key:before{content:"\e683"}.layui-icon-rate-solid:before{content:"\e67a"}.layui-icon-fonts-del:before{content:"\e64f"}.layui-icon-unlink:before{content:"\e64d"}.layui-icon-fonts-clear:before{content:"\e639"}.layui-icon-triangle-r:before{content:"\e623"}.layui-icon-circle:before{content:"\e63f"}.layui-icon-radio:before{content:"\e643"}.layui-icon-align-center:before{content:"\e647"}.layui-icon-align-right:before{content:"\e648"}.layui-icon-align-left:before{content:"\e649"}.layui-icon-loading-1:before{content:"\e63e"}.layui-icon-return:before{content:"\e65c"}.layui-icon-fonts-strong:before{content:"\e62b"}.layui-icon-upload:before{content:"\e67c"}.layui-icon-dialogue:before{content:"\e63a"}.layui-icon-video:before{content:"\e6ed"}.layui-icon-headset:before{content:"\e6fc"}.layui-icon-cellphone-fine:before{content:"\e63b"}.layui-icon-add-1:before{content:"\e654"}.layui-icon-face-smile-b:before{content:"\e650"}.layui-icon-fonts-html:before{content:"\e64b"}.layui-icon-screen-full:before{content:"\e622"}.layui-icon-form:before{content:"\e63c"}.layui-icon-cart:before{content:"\e657"}.layui-icon-camera-fill:before{content:"\e65d"}.layui-icon-tabs:before{content:"\e62a"}.layui-icon-heart-fill:before{content:"\e68f"}.layui-icon-fonts-code:before{content:"\e64e"}.layui-icon-ios:before{content:"\e680"}.layui-icon-at:before{content:"\e687"}.layui-icon-fire:before{content:"\e756"}.layui-icon-set:before{content:"\e716"}.layui-icon-fonts-u:before{content:"\e646"}.layui-icon-triangle-d:before{content:"\e625"}.layui-icon-tips:before{content:"\e702"}.layui-icon-picture:before{content:"\e64a"}.layui-icon-more-vertical:before{content:"\e671"}.layui-icon-bluetooth:before{content:"\e689"}.layui-icon-flag:before{content:"\e66c"}.layui-icon-loading:before{content:"\e63d"}.layui-icon-fonts-i:before{content:"\e644"}.layui-icon-refresh-1:before{content:"\e666"}.layui-icon-rmb:before{content:"\e65e"}.layui-icon-addition:before{content:"\e624"}.layui-icon-home:before{content:"\e68e"}.layui-icon-time:before{content:"\e68d"}.layui-icon-user:before{content:"\e770"}.layui-icon-notice:before{content:"\e667"}.layui-icon-chrome:before{content:"\e68a"}.layui-icon-edge:before{content:"\e68b"}.layui-icon-login-weibo:before{content:"\e675"}.layui-icon-voice:before{content:"\e688"}.layui-icon-upload-drag:before{content:"\e681"}.layui-icon-login-qq:before{content:"\e676"}.layui-icon-snowflake:before{content:"\e6b1"}.layui-icon-heart:before{content:"\e68c"}.layui-icon-logout:before{content:"\e682"}.layui-icon-file-b:before{content:"\e655"}.layui-icon-template:before{content:"\e663"}.layui-icon-transfer:before{content:"\e691"}.layui-icon-auz:before{content:"\e672"}.layui-icon-console:before{content:"\e665"}.layui-icon-app:before{content:"\e653"}.layui-icon-prev:before{content:"\e65a"}.layui-icon-website:before{content:"\e7ae"}.layui-icon-next:before{content:"\e65b"}.layui-icon-component:before{content:"\e857"}.layui-icon-android:before{content:"\e684"}.layui-icon-more:before{content:"\e65f"}.layui-icon-login-wechat:before{content:"\e677"}.layui-icon-shrink-right:before{content:"\e668"}.layui-icon-spread-left:before{content:"\e66b"}.layui-icon-camera:before{content:"\e660"}.layui-icon-note:before{content:"\e66e"}.layui-icon-refresh:before{content:"\e669"}.layui-icon-female:before{content:"\e661"}.layui-icon-male:before{content:"\e662"}.layui-icon-screen-restore:before{content:"\e758"}.layui-icon-password:before{content:"\e673"}.layui-icon-senior:before{content:"\e674"}.layui-icon-theme:before{content:"\e66a"}.layui-icon-tread:before{content:"\e6c5"}.layui-icon-praise:before{content:"\e6c6"}.layui-icon-star-fill:before{content:"\e658"}.layui-icon-rate:before{content:"\e67b"}.layui-icon-template-1:before{content:"\e656"}.layui-icon-vercode:before{content:"\e679"}.layui-icon-service:before{content:"\e626"}.layui-icon-cellphone:before{content:"\e678"}.layui-icon-print:before{content:"\e66d"}.layui-icon-cols:before{content:"\e610"}.layui-icon-wifi:before{content:"\e7e0"}.layui-icon-export:before{content:"\e67d"}.layui-icon-rss:before{content:"\e808"}.layui-icon-slider:before{content:"\e714"}.layui-icon-email:before{content:"\e618"}.layui-icon-subtraction:before{content:"\e67e"}.layui-icon-mike:before{content:"\e6dc"}.layui-icon-light:before{content:"\e748"}.layui-icon-gift:before{content:"\e627"}.layui-icon-mute:before{content:"\e685"}.layui-icon-reduce-circle:before{content:"\e616"}.layui-icon-music:before{content:"\e690"}.layui-main{width:1140px;margin:0 auto}.layui-header{z-index:1000;height:60px}.layui-header a:hover{transition:all .5s;-webkit-transition:all .5s}.layui-side{position:fixed;left:0;top:0;bottom:0;z-index:999;width:200px;overflow-x:hidden}.layui-side-scroll{position:relative;width:220px;height:100%;overflow-x:hidden}.layui-body{position:absolute;left:200px;right:0;top:0;bottom:0;z-index:998;width:auto;overflow-y:auto;box-sizing:border-box}.layui-layout-body{overflow:hidden}.layui-layout-admin .layui-header{background-color:#23262E}.layui-layout-admin .layui-side{top:60px;width:200px;overflow-x:hidden}.layui-layout-admin .layui-body{position:fixed;top:60px;bottom:44px}.layui-layout-admin .layui-main{width:auto;margin:0 15px}.layui-layout-admin .layui-footer{position:fixed;left:200px;right:0;bottom:0;height:44px;line-height:44px;padding:0 15px;background-color:#eee}.layui-layout-admin .layui-logo{position:absolute;left:0;top:0;width:200px;height:100%;line-height:60px;text-align:center;color:#009688;font-size:16px}.layui-layout-admin .layui-header .layui-nav{background:0 0}.layui-layout-left{position:absolute!important;left:200px;top:0}.layui-layout-right{position:absolute!important;right:0;top:0}.layui-container{position:relative;margin:0 auto;padding:0 15px;box-sizing:border-box}.layui-fluid{position:relative;margin:0 auto;padding:0 15px}.layui-row:after,.layui-row:before{content:'';display:block;clear:both}.layui-col-lg1,.layui-col-lg10,.layui-col-lg11,.layui-col-lg12,.layui-col-lg2,.layui-col-lg3,.layui-col-lg4,.layui-col-lg5,.layui-col-lg6,.layui-col-lg7,.layui-col-lg8,.layui-col-lg9,.layui-col-md1,.layui-col-md10,.layui-col-md11,.layui-col-md12,.layui-col-md2,.layui-col-md3,.layui-col-md4,.layui-col-md5,.layui-col-md6,.layui-col-md7,.layui-col-md8,.layui-col-md9,.layui-col-sm1,.layui-col-sm10,.layui-col-sm11,.layui-col-sm12,.layui-col-sm2,.layui-col-sm3,.layui-col-sm4,.layui-col-sm5,.layui-col-sm6,.layui-col-sm7,.layui-col-sm8,.layui-col-sm9,.layui-col-xs1,.layui-col-xs10,.layui-col-xs11,.layui-col-xs12,.layui-col-xs2,.layui-col-xs3,.layui-col-xs4,.layui-col-xs5,.layui-col-xs6,.layui-col-xs7,.layui-col-xs8,.layui-col-xs9{position:relative;display:block;box-sizing:border-box}.layui-col-xs1,.layui-col-xs10,.layui-col-xs11,.layui-col-xs12,.layui-col-xs2,.layui-col-xs3,.layui-col-xs4,.layui-col-xs5,.layui-col-xs6,.layui-col-xs7,.layui-col-xs8,.layui-col-xs9{float:left}.layui-col-xs1{width:8.33333333%}.layui-col-xs2{width:16.66666667%}.layui-col-xs3{width:25%}.layui-col-xs4{width:33.33333333%}.layui-col-xs5{width:41.66666667%}.layui-col-xs6{width:50%}.layui-col-xs7{width:58.33333333%}.layui-col-xs8{width:66.66666667%}.layui-col-xs9{width:75%}.layui-col-xs10{width:83.33333333%}.layui-col-xs11{width:91.66666667%}.layui-col-xs12{width:100%}.layui-col-xs-offset1{margin-left:8.33333333%}.layui-col-xs-offset2{margin-left:16.66666667%}.layui-col-xs-offset3{margin-left:25%}.layui-col-xs-offset4{margin-left:33.33333333%}.layui-col-xs-offset5{margin-left:41.66666667%}.layui-col-xs-offset6{margin-left:50%}.layui-col-xs-offset7{margin-left:58.33333333%}.layui-col-xs-offset8{margin-left:66.66666667%}.layui-col-xs-offset9{margin-left:75%}.layui-col-xs-offset10{margin-left:83.33333333%}.layui-col-xs-offset11{margin-left:91.66666667%}.layui-col-xs-offset12{margin-left:100%}@media screen and (max-width:768px){.layui-hide-xs{display:none!important}.layui-show-xs-block{display:block!important}.layui-show-xs-inline{display:inline!important}.layui-show-xs-inline-block{display:inline-block!important}}@media screen and (min-width:768px){.layui-container{width:750px}.layui-hide-sm{display:none!important}.layui-show-sm-block{display:block!important}.layui-show-sm-inline{display:inline!important}.layui-show-sm-inline-block{display:inline-block!important}.layui-col-sm1,.layui-col-sm10,.layui-col-sm11,.layui-col-sm12,.layui-col-sm2,.layui-col-sm3,.layui-col-sm4,.layui-col-sm5,.layui-col-sm6,.layui-col-sm7,.layui-col-sm8,.layui-col-sm9{float:left}.layui-col-sm1{width:8.33333333%}.layui-col-sm2{width:16.66666667%}.layui-col-sm3{width:25%}.layui-col-sm4{width:33.33333333%}.layui-col-sm5{width:41.66666667%}.layui-col-sm6{width:50%}.layui-col-sm7{width:58.33333333%}.layui-col-sm8{width:66.66666667%}.layui-col-sm9{width:75%}.layui-col-sm10{width:83.33333333%}.layui-col-sm11{width:91.66666667%}.layui-col-sm12{width:100%}.layui-col-sm-offset1{margin-left:8.33333333%}.layui-col-sm-offset2{margin-left:16.66666667%}.layui-col-sm-offset3{margin-left:25%}.layui-col-sm-offset4{margin-left:33.33333333%}.layui-col-sm-offset5{margin-left:41.66666667%}.layui-col-sm-offset6{margin-left:50%}.layui-col-sm-offset7{margin-left:58.33333333%}.layui-col-sm-offset8{margin-left:66.66666667%}.layui-col-sm-offset9{margin-left:75%}.layui-col-sm-offset10{margin-left:83.33333333%}.layui-col-sm-offset11{margin-left:91.66666667%}.layui-col-sm-offset12{margin-left:100%}}@media screen and (min-width:992px){.layui-container{width:970px}.layui-hide-md{display:none!important}.layui-show-md-block{display:block!important}.layui-show-md-inline{display:inline!important}.layui-show-md-inline-block{display:inline-block!important}.layui-col-md1,.layui-col-md10,.layui-col-md11,.layui-col-md12,.layui-col-md2,.layui-col-md3,.layui-col-md4,.layui-col-md5,.layui-col-md6,.layui-col-md7,.layui-col-md8,.layui-col-md9{float:left}.layui-col-md1{width:8.33333333%}.layui-col-md2{width:16.66666667%}.layui-col-md3{width:25%}.layui-col-md4{width:33.33333333%}.layui-col-md5{width:41.66666667%}.layui-col-md6{width:50%}.layui-col-md7{width:58.33333333%}.layui-col-md8{width:66.66666667%}.layui-col-md9{width:75%}.layui-col-md10{width:83.33333333%}.layui-col-md11{width:91.66666667%}.layui-col-md12{width:100%}.layui-col-md-offset1{margin-left:8.33333333%}.layui-col-md-offset2{margin-left:16.66666667%}.layui-col-md-offset3{margin-left:25%}.layui-col-md-offset4{margin-left:33.33333333%}.layui-col-md-offset5{margin-left:41.66666667%}.layui-col-md-offset6{margin-left:50%}.layui-col-md-offset7{margin-left:58.33333333%}.layui-col-md-offset8{margin-left:66.66666667%}.layui-col-md-offset9{margin-left:75%}.layui-col-md-offset10{margin-left:83.33333333%}.layui-col-md-offset11{margin-left:91.66666667%}.layui-col-md-offset12{margin-left:100%}}@media screen and (min-width:1200px){.layui-container{width:1170px}.layui-hide-lg{display:none!important}.layui-show-lg-block{display:block!important}.layui-show-lg-inline{display:inline!important}.layui-show-lg-inline-block{display:inline-block!important}.layui-col-lg1,.layui-col-lg10,.layui-col-lg11,.layui-col-lg12,.layui-col-lg2,.layui-col-lg3,.layui-col-lg4,.layui-col-lg5,.layui-col-lg6,.layui-col-lg7,.layui-col-lg8,.layui-col-lg9{float:left}.layui-col-lg1{width:8.33333333%}.layui-col-lg2{width:16.66666667%}.layui-col-lg3{width:25%}.layui-col-lg4{width:33.33333333%}.layui-col-lg5{width:41.66666667%}.layui-col-lg6{width:50%}.layui-col-lg7{width:58.33333333%}.layui-col-lg8{width:66.66666667%}.layui-col-lg9{width:75%}.layui-col-lg10{width:83.33333333%}.layui-col-lg11{width:91.66666667%}.layui-col-lg12{width:100%}.layui-col-lg-offset1{margin-left:8.33333333%}.layui-col-lg-offset2{margin-left:16.66666667%}.layui-col-lg-offset3{margin-left:25%}.layui-col-lg-offset4{margin-left:33.33333333%}.layui-col-lg-offset5{margin-left:41.66666667%}.layui-col-lg-offset6{margin-left:50%}.layui-col-lg-offset7{margin-left:58.33333333%}.layui-col-lg-offset8{margin-left:66.66666667%}.layui-col-lg-offset9{margin-left:75%}.layui-col-lg-offset10{margin-left:83.33333333%}.layui-col-lg-offset11{margin-left:91.66666667%}.layui-col-lg-offset12{margin-left:100%}}.layui-col-space1{margin:-.5px}.layui-col-space1>*{padding:.5px}.layui-col-space2{margin:-1px}.layui-col-space2>*{padding:1px}.layui-col-space4{margin:-2px}.layui-col-space4>*{padding:2px}.layui-col-space5{margin:-2.5px}.layui-col-space5>*{padding:2.5px}.layui-col-space6{margin:-3px}.layui-col-space6>*{padding:3px}.layui-col-space8{margin:-4px}.layui-col-space8>*{padding:4px}.layui-col-space10{margin:-5px}.layui-col-space10>*{padding:5px}.layui-col-space12{margin:-6px}.layui-col-space12>*{padding:6px}.layui-col-space14{margin:-7px}.layui-col-space14>*{padding:7px}.layui-col-space15{margin:-7.5px}.layui-col-space15>*{padding:7.5px}.layui-col-space16{margin:-8px}.layui-col-space16>*{padding:8px}.layui-col-space18{margin:-9px}.layui-col-space18>*{padding:9px}.layui-col-space20{margin:-10px}.layui-col-space20>*{padding:10px}.layui-col-space22{margin:-11px}.layui-col-space22>*{padding:11px}.layui-col-space24{margin:-12px}.layui-col-space24>*{padding:12px}.layui-col-space25{margin:-12.5px}.layui-col-space25>*{padding:12.5px}.layui-col-space26{margin:-13px}.layui-col-space26>*{padding:13px}.layui-col-space28{margin:-14px}.layui-col-space28>*{padding:14px}.layui-col-space30{margin:-15px}.layui-col-space30>*{padding:15px}.layui-btn,.layui-input,.layui-select,.layui-textarea,.layui-upload-button{outline:0;-webkit-appearance:none;transition:all .3s;-webkit-transition:all .3s;box-sizing:border-box}.layui-elem-quote{margin-bottom:10px;padding:15px;line-height:22px;border-left:5px solid #009688;border-radius:0 2px 2px 0;background-color:#f2f2f2}.layui-quote-nm{border-style:solid;border-width:1px 1px 1px 5px;background:0 0}.layui-elem-field{margin-bottom:10px;padding:0;border-width:1px;border-style:solid}.layui-elem-field legend{margin-left:20px;padding:0 10px;font-size:20px;font-weight:300}.layui-field-title{margin:10px 0 20px;border-width:1px 0 0}.layui-field-box{padding:10px 15px}.layui-field-title .layui-field-box{padding:10px 0}.layui-progress{position:relative;height:6px;border-radius:20px;background-color:#e2e2e2}.layui-progress-bar{position:absolute;left:0;top:0;width:0;max-width:100%;height:6px;border-radius:20px;text-align:right;background-color:#5FB878;transition:all .3s;-webkit-transition:all .3s}.layui-progress-big,.layui-progress-big .layui-progress-bar{height:18px;line-height:18px}.layui-progress-text{position:relative;top:-20px;line-height:18px;font-size:12px;color:#666}.layui-progress-big .layui-progress-text{position:static;padding:0 10px;color:#fff}.layui-collapse{border-width:1px;border-style:solid;border-radius:2px}.layui-colla-content,.layui-colla-item{border-top-width:1px;border-top-style:solid}.layui-colla-item:first-child{border-top:none}.layui-colla-title{position:relative;height:42px;line-height:42px;padding:0 15px 0 35px;color:#333;background-color:#f2f2f2;cursor:pointer;font-size:14px;overflow:hidden}.layui-colla-content{display:none;padding:10px 15px;line-height:22px;color:#666}.layui-colla-icon{position:absolute;left:15px;top:0;font-size:14px}.layui-card{margin-bottom:15px;border-radius:2px;background-color:#fff;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.layui-card:last-child{margin-bottom:0}.layui-card-header{position:relative;height:42px;line-height:42px;padding:0 15px;border-bottom:1px solid #f6f6f6;color:#333;border-radius:2px 2px 0 0;font-size:14px}.layui-bg-black,.layui-bg-blue,.layui-bg-cyan,.layui-bg-green,.layui-bg-orange,.layui-bg-red{color:#fff!important}.layui-card-body{position:relative;padding:10px 15px;line-height:24px}.layui-card-body[pad15]{padding:15px}.layui-card-body[pad20]{padding:20px}.layui-card-body .layui-table{margin:5px 0}.layui-card .layui-tab{margin:0}.layui-panel-window{position:relative;padding:15px;border-radius:0;border-top:5px solid #E6E6E6;background-color:#fff}.layui-auxiliar-moving{position:fixed;left:0;right:0;top:0;bottom:0;width:100%;height:100%;background:0 0;z-index:9999999999}.layui-form-label,.layui-form-mid,.layui-form-select,.layui-input-block,.layui-input-inline,.layui-textarea{position:relative}.layui-bg-red{background-color:#FF5722!important}.layui-bg-orange{background-color:#FFB800!important}.layui-bg-green{background-color:#009688!important}.layui-bg-cyan{background-color:#2F4056!important}.layui-bg-blue{background-color:#1E9FFF!important}.layui-bg-black{background-color:#393D49!important}.layui-bg-gray{background-color:#eee!important;color:#666!important}.layui-badge-rim,.layui-colla-content,.layui-colla-item,.layui-collapse,.layui-elem-field,.layui-form-pane .layui-form-item[pane],.layui-form-pane .layui-form-label,.layui-input,.layui-layedit,.layui-layedit-tool,.layui-quote-nm,.layui-select,.layui-tab-bar,.layui-tab-card,.layui-tab-title,.layui-tab-title .layui-this:after,.layui-textarea{border-color:#e6e6e6}.layui-timeline-item:before,hr{background-color:#e6e6e6}.layui-text{line-height:22px;font-size:14px;color:#666}.layui-text h1,.layui-text h2,.layui-text h3{font-weight:500;color:#333}.layui-text h1{font-size:30px}.layui-text h2{font-size:24px}.layui-text h3{font-size:18px}.layui-text a:not(.layui-btn){color:#01AAED}.layui-text a:not(.layui-btn):hover{text-decoration:underline}.layui-text ul{padding:5px 0 5px 15px}.layui-text ul li{margin-top:5px;list-style-type:disc}.layui-text em,.layui-word-aux{color:#999!important;padding:0 5px!important}.layui-btn{display:inline-block;height:38px;line-height:38px;padding:0 18px;background-color:#009688;color:#fff;white-space:nowrap;text-align:center;font-size:14px;border:none;border-radius:2px;cursor:pointer}.layui-btn:hover{opacity:.8;filter:alpha(opacity=80);color:#fff}.layui-btn:active{opacity:1;filter:alpha(opacity=100)}.layui-btn+.layui-btn{margin-left:10px}.layui-btn-container{font-size:0}.layui-btn-container .layui-btn{margin-right:10px;margin-bottom:10px}.layui-btn-container .layui-btn+.layui-btn{margin-left:0}.layui-table .layui-btn-container .layui-btn{margin-bottom:9px}.layui-btn-radius{border-radius:100px}.layui-btn .layui-icon{margin-right:3px;font-size:18px;vertical-align:bottom;vertical-align:middle\9}.layui-btn-primary{border:1px solid #C9C9C9;background-color:#fff;color:#555}.layui-btn-primary:hover{border-color:#009688;color:#333}.layui-btn-normal{background-color:#1E9FFF}.layui-btn-warm{background-color:#FFB800}.layui-btn-danger{background-color:#FF5722}.layui-btn-checked{background-color:#5FB878}.layui-btn-disabled,.layui-btn-disabled:active,.layui-btn-disabled:hover{border:1px solid #e6e6e6;background-color:#FBFBFB;color:#C9C9C9;cursor:not-allowed;opacity:1}.layui-btn-lg{height:44px;line-height:44px;padding:0 25px;font-size:16px}.layui-btn-sm{height:30px;line-height:30px;padding:0 10px;font-size:12px}.layui-btn-sm i{font-size:16px!important}.layui-btn-xs{height:22px;line-height:22px;padding:0 5px;font-size:12px}.layui-btn-xs i{font-size:14px!important}.layui-btn-group{display:inline-block;vertical-align:middle;font-size:0}.layui-btn-group .layui-btn{margin-left:0!important;margin-right:0!important;border-left:1px solid rgba(255,255,255,.5);border-radius:0}.layui-btn-group .layui-btn-primary{border-left:none}.layui-btn-group .layui-btn-primary:hover{border-color:#C9C9C9;color:#009688}.layui-btn-group .layui-btn:first-child{border-left:none;border-radius:2px 0 0 2px}.layui-btn-group .layui-btn-primary:first-child{border-left:1px solid #c9c9c9}.layui-btn-group .layui-btn:last-child{border-radius:0 2px 2px 0}.layui-btn-group .layui-btn+.layui-btn{margin-left:0}.layui-btn-group+.layui-btn-group{margin-left:10px}.layui-btn-fluid{width:100%}.layui-input,.layui-select,.layui-textarea{height:38px;line-height:1.3;line-height:38px\9;border-width:1px;border-style:solid;background-color:#fff;border-radius:2px}.layui-input::-webkit-input-placeholder,.layui-select::-webkit-input-placeholder,.layui-textarea::-webkit-input-placeholder{line-height:1.3}.layui-input,.layui-textarea{display:block;width:100%;padding-left:10px}.layui-input:hover,.layui-textarea:hover{border-color:#D2D2D2!important}.layui-input:focus,.layui-textarea:focus{border-color:#C9C9C9!important}.layui-textarea{min-height:100px;height:auto;line-height:20px;padding:6px 10px;resize:vertical}.layui-select{padding:0 10px}.layui-form input[type=checkbox],.layui-form input[type=radio],.layui-form select{display:none}.layui-form [lay-ignore]{display:initial}.layui-form-item{margin-bottom:15px;clear:both;*zoom:1}.layui-form-item:after{content:'\20';clear:both;*zoom:1;display:block;height:0}.layui-form-label{float:left;display:block;padding:9px 15px;width:80px;font-weight:400;line-height:20px;text-align:right}.layui-form-label-col{display:block;float:none;padding:9px 0;line-height:20px;text-align:left}.layui-form-item .layui-inline{margin-bottom:5px;margin-right:10px}.layui-input-block{margin-left:110px;min-height:36px}.layui-input-inline{display:inline-block;vertical-align:middle}.layui-form-item .layui-input-inline{float:left;width:190px;margin-right:10px}.layui-form-text .layui-input-inline{width:auto}.layui-form-mid{float:left;display:block;padding:9px 0!important;line-height:20px;margin-right:10px}.layui-form-danger+.layui-form-select .layui-input,.layui-form-danger:focus{border-color:#FF5722!important}.layui-form-select .layui-input{padding-right:30px;cursor:pointer}.layui-form-select .layui-edge{position:absolute;right:10px;top:50%;margin-top:-3px;cursor:pointer;border-width:6px;border-top-color:#c2c2c2;border-top-style:solid;transition:all .3s;-webkit-transition:all .3s}.layui-form-select dl{display:none;position:absolute;left:0;top:42px;padding:5px 0;z-index:899;min-width:100%;border:1px solid #d2d2d2;max-height:300px;overflow-y:auto;background-color:#fff;border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,.12);box-sizing:border-box}.layui-form-select dl dd,.layui-form-select dl dt{padding:0 10px;line-height:36px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layui-form-select dl dt{font-size:12px;color:#999}.layui-form-select dl dd{cursor:pointer}.layui-form-select dl dd:hover{background-color:#f2f2f2;-webkit-transition:.5s all;transition:.5s all}.layui-form-select .layui-select-group dd{padding-left:20px}.layui-form-select dl dd.layui-select-tips{padding-left:10px!important;color:#999}.layui-form-select dl dd.layui-this{background-color:#5FB878;color:#fff}.layui-form-checkbox,.layui-form-select dl dd.layui-disabled{background-color:#fff}.layui-form-selected dl{display:block}.layui-form-checkbox,.layui-form-checkbox *,.layui-form-switch{display:inline-block;vertical-align:middle}.layui-form-selected .layui-edge{margin-top:-9px;-webkit-transform:rotate(180deg);transform:rotate(180deg);margin-top:-3px\9}:root .layui-form-selected .layui-edge{margin-top:-9px\0/IE9}.layui-form-selectup dl{top:auto;bottom:42px}.layui-select-none{margin:5px 0;text-align:center;color:#999}.layui-select-disabled .layui-disabled{border-color:#eee!important}.layui-select-disabled .layui-edge{border-top-color:#d2d2d2}.layui-form-checkbox{position:relative;height:30px;line-height:30px;margin-right:10px;padding-right:30px;cursor:pointer;font-size:0;-webkit-transition:.1s linear;transition:.1s linear;box-sizing:border-box}.layui-form-checkbox span{padding:0 10px;height:100%;font-size:14px;border-radius:2px 0 0 2px;background-color:#d2d2d2;color:#fff;overflow:hidden}.layui-form-checkbox:hover span{background-color:#c2c2c2}.layui-form-checkbox i{position:absolute;right:0;top:0;width:30px;height:28px;border:1px solid #d2d2d2;border-left:none;border-radius:0 2px 2px 0;color:#fff;font-size:20px;text-align:center}.layui-form-checkbox:hover i{border-color:#c2c2c2;color:#c2c2c2}.layui-form-checked,.layui-form-checked:hover{border-color:#5FB878}.layui-form-checked span,.layui-form-checked:hover span{background-color:#5FB878}.layui-form-checked i,.layui-form-checked:hover i{color:#5FB878}.layui-form-item .layui-form-checkbox{margin-top:4px}.layui-form-checkbox[lay-skin=primary]{height:auto!important;line-height:normal!important;min-width:18px;min-height:18px;border:none!important;margin-right:0;padding-left:28px;padding-right:0;background:0 0}.layui-form-checkbox[lay-skin=primary] span{padding-left:0;padding-right:15px;line-height:18px;background:0 0;color:#666}.layui-form-checkbox[lay-skin=primary] i{right:auto;left:0;width:16px;height:16px;line-height:16px;border:1px solid #d2d2d2;font-size:12px;border-radius:2px;background-color:#fff;-webkit-transition:.1s linear;transition:.1s linear}.layui-form-checkbox[lay-skin=primary]:hover i{border-color:#5FB878;color:#fff}.layui-form-checked[lay-skin=primary] i{border-color:#5FB878!important;background-color:#5FB878;color:#fff}.layui-checkbox-disbaled[lay-skin=primary] span{background:0 0!important;color:#c2c2c2}.layui-checkbox-disbaled[lay-skin=primary]:hover i{border-color:#d2d2d2}.layui-form-item .layui-form-checkbox[lay-skin=primary]{margin-top:10px}.layui-form-switch{position:relative;height:22px;line-height:22px;min-width:35px;padding:0 5px;margin-top:8px;border:1px solid #d2d2d2;border-radius:20px;cursor:pointer;background-color:#fff;-webkit-transition:.1s linear;transition:.1s linear}.layui-form-switch i{position:absolute;left:5px;top:3px;width:16px;height:16px;border-radius:20px;background-color:#d2d2d2;-webkit-transition:.1s linear;transition:.1s linear}.layui-form-switch em{position:relative;top:0;width:25px;margin-left:21px;padding:0!important;text-align:center!important;color:#999!important;font-style:normal!important;font-size:12px}.layui-form-onswitch{border-color:#5FB878;background-color:#5FB878}.layui-checkbox-disbaled,.layui-checkbox-disbaled i{border-color:#e2e2e2!important}.layui-form-onswitch i{left:100%;margin-left:-21px;background-color:#fff}.layui-form-onswitch em{margin-left:5px;margin-right:21px;color:#fff!important}.layui-checkbox-disbaled span{background-color:#e2e2e2!important}.layui-checkbox-disbaled:hover i{color:#fff!important}[lay-radio]{display:none}.layui-form-radio,.layui-form-radio *{display:inline-block;vertical-align:middle}.layui-form-radio{line-height:28px;margin:6px 10px 0 0;padding-right:10px;cursor:pointer;font-size:0}.layui-form-radio *{font-size:14px}.layui-form-radio>i{margin-right:8px;font-size:22px;color:#c2c2c2}.layui-form-radio>i:hover,.layui-form-radioed>i{color:#5FB878}.layui-radio-disbaled>i{color:#e2e2e2!important}.layui-form-pane .layui-form-label{width:110px;padding:8px 15px;height:38px;line-height:20px;border-width:1px;border-style:solid;border-radius:2px 0 0 2px;text-align:center;background-color:#FBFBFB;overflow:hidden;box-sizing:border-box}.layui-form-pane .layui-input-inline{margin-left:-1px}.layui-form-pane .layui-input-block{margin-left:110px;left:-1px}.layui-form-pane .layui-input{border-radius:0 2px 2px 0}.layui-form-pane .layui-form-text .layui-form-label{float:none;width:100%;border-radius:2px;box-sizing:border-box;text-align:left}.layui-form-pane .layui-form-text .layui-input-inline{display:block;margin:0;top:-1px;clear:both}.layui-form-pane .layui-form-text .layui-input-block{margin:0;left:0;top:-1px}.layui-form-pane .layui-form-text .layui-textarea{min-height:100px;border-radius:0 0 2px 2px}.layui-form-pane .layui-form-checkbox{margin:4px 0 4px 10px}.layui-form-pane .layui-form-radio,.layui-form-pane .layui-form-switch{margin-top:6px;margin-left:10px}.layui-form-pane .layui-form-item[pane]{position:relative;border-width:1px;border-style:solid}.layui-form-pane .layui-form-item[pane] .layui-form-label{position:absolute;left:0;top:0;height:100%;border-width:0 1px 0 0}.layui-form-pane .layui-form-item[pane] .layui-input-inline{margin-left:110px}@media screen and (max-width:450px){.layui-form-item .layui-form-label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-form-item .layui-inline{display:block;margin-right:0;margin-bottom:20px;clear:both}.layui-form-item .layui-inline:after{content:'\20';clear:both;display:block;height:0}.layui-form-item .layui-input-inline{display:block;float:none;left:-3px;width:auto;margin:0 0 10px 112px}.layui-form-item .layui-input-inline+.layui-form-mid{margin-left:110px;top:-5px;padding:0}.layui-form-item .layui-form-checkbox{margin-right:5px;margin-bottom:5px}}.layui-layedit{border-width:1px;border-style:solid;border-radius:2px}.layui-layedit-tool{padding:3px 5px;border-bottom-width:1px;border-bottom-style:solid;font-size:0}.layedit-tool-fixed{position:fixed;top:0;border-top:1px solid #e2e2e2}.layui-layedit-tool .layedit-tool-mid,.layui-layedit-tool .layui-icon{display:inline-block;vertical-align:middle;text-align:center;font-size:14px}.layui-layedit-tool .layui-icon{position:relative;width:32px;height:30px;line-height:30px;margin:3px 5px;color:#777;cursor:pointer;border-radius:2px}.layui-layedit-tool .layui-icon:hover{color:#393D49}.layui-layedit-tool .layui-icon:active{color:#000}.layui-layedit-tool .layedit-tool-active{background-color:#e2e2e2;color:#000}.layui-layedit-tool .layui-disabled,.layui-layedit-tool .layui-disabled:hover{color:#d2d2d2;cursor:not-allowed}.layui-layedit-tool .layedit-tool-mid{width:1px;height:18px;margin:0 10px;background-color:#d2d2d2}.layedit-tool-html{width:50px!important;font-size:30px!important}.layedit-tool-b,.layedit-tool-code,.layedit-tool-help{font-size:16px!important}.layedit-tool-d,.layedit-tool-face,.layedit-tool-image,.layedit-tool-unlink{font-size:18px!important}.layedit-tool-image input{position:absolute;font-size:0;left:0;top:0;width:100%;height:100%;opacity:.01;filter:Alpha(opacity=1);cursor:pointer}.layui-layedit-iframe iframe{display:block;width:100%}#LAY_layedit_code{overflow:hidden}.layui-laypage{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;margin:10px 0;font-size:0}.layui-laypage>a:first-child,.layui-laypage>a:first-child em{border-radius:2px 0 0 2px}.layui-laypage>a:last-child,.layui-laypage>a:last-child em{border-radius:0 2px 2px 0}.layui-laypage>:first-child{margin-left:0!important}.layui-laypage>:last-child{margin-right:0!important}.layui-laypage a,.layui-laypage button,.layui-laypage input,.layui-laypage select,.layui-laypage span{border:1px solid #e2e2e2}.layui-laypage a,.layui-laypage span{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;padding:0 15px;height:28px;line-height:28px;margin:0 -1px 5px 0;background-color:#fff;color:#333;font-size:12px}.layui-flow-more a *,.layui-laypage input,.layui-table-view select[lay-ignore]{display:inline-block}.layui-laypage a:hover{color:#009688}.layui-laypage em{font-style:normal}.layui-laypage .layui-laypage-spr{color:#999;font-weight:700}.layui-laypage a{text-decoration:none}.layui-laypage .layui-laypage-curr{position:relative}.layui-laypage .layui-laypage-curr em{position:relative;color:#fff}.layui-laypage .layui-laypage-curr .layui-laypage-em{position:absolute;left:-1px;top:-1px;padding:1px;width:100%;height:100%;background-color:#009688}.layui-laypage-em{border-radius:2px}.layui-laypage-next em,.layui-laypage-prev em{font-family:Sim sun;font-size:16px}.layui-laypage .layui-laypage-count,.layui-laypage .layui-laypage-limits,.layui-laypage .layui-laypage-refresh,.layui-laypage .layui-laypage-skip{margin-left:10px;margin-right:10px;padding:0;border:none}.layui-laypage .layui-laypage-limits,.layui-laypage .layui-laypage-refresh{vertical-align:top}.layui-laypage .layui-laypage-refresh i{font-size:18px;cursor:pointer}.layui-laypage select{height:22px;padding:3px;border-radius:2px;cursor:pointer}.layui-laypage .layui-laypage-skip{height:30px;line-height:30px;color:#999}.layui-laypage button,.layui-laypage input{height:30px;line-height:30px;border-radius:2px;vertical-align:top;background-color:#fff;box-sizing:border-box}.layui-laypage input{width:40px;margin:0 10px;padding:0 3px;text-align:center}.layui-laypage input:focus,.layui-laypage select:focus{border-color:#009688!important}.layui-laypage button{margin-left:10px;padding:0 10px;cursor:pointer}.layui-table,.layui-table-view{margin:10px 0}.layui-flow-more{margin:10px 0;text-align:center;color:#999;font-size:14px}.layui-flow-more a{height:32px;line-height:32px}.layui-flow-more a *{vertical-align:top}.layui-flow-more a cite{padding:0 20px;border-radius:3px;background-color:#eee;color:#333;font-style:normal}.layui-flow-more a cite:hover{opacity:.8}.layui-flow-more a i{font-size:30px;color:#737383}.layui-table{width:100%;background-color:#fff;color:#666}.layui-table tr{transition:all .3s;-webkit-transition:all .3s}.layui-table th{text-align:left;font-weight:400}.layui-table tbody tr:hover,.layui-table thead tr,.layui-table-click,.layui-table-header,.layui-table-hover,.layui-table-mend,.layui-table-patch,.layui-table-tool,.layui-table-total,.layui-table-total tr,.layui-table[lay-even] tr:nth-child(even){background-color:#f2f2f2}.layui-table td,.layui-table th,.layui-table-col-set,.layui-table-fixed-r,.layui-table-grid-down,.layui-table-header,.layui-table-page,.layui-table-tips-main,.layui-table-tool,.layui-table-total,.layui-table-view,.layui-table[lay-skin=line],.layui-table[lay-skin=row]{border-width:1px;border-style:solid;border-color:#e6e6e6}.layui-table td,.layui-table th{position:relative;padding:9px 15px;min-height:20px;line-height:20px;font-size:14px}.layui-table[lay-skin=line] td,.layui-table[lay-skin=line] th{border-width:0 0 1px}.layui-table[lay-skin=row] td,.layui-table[lay-skin=row] th{border-width:0 1px 0 0}.layui-table[lay-skin=nob] td,.layui-table[lay-skin=nob] th{border:none}.layui-table img{max-width:100px}.layui-table[lay-size=lg] td,.layui-table[lay-size=lg] th{padding:15px 30px}.layui-table-view .layui-table[lay-size=lg] .layui-table-cell{height:40px;line-height:40px}.layui-table[lay-size=sm] td,.layui-table[lay-size=sm] th{font-size:12px;padding:5px 10px}.layui-table-view .layui-table[lay-size=sm] .layui-table-cell{height:20px;line-height:20px}.layui-table[lay-data]{display:none}.layui-table-box{position:relative;overflow:hidden}.layui-table-view .layui-table{position:relative;width:auto;margin:0}.layui-table-view .layui-table[lay-skin=line]{border-width:0 1px 0 0}.layui-table-view .layui-table[lay-skin=row]{border-width:0 0 1px}.layui-table-view .layui-table td,.layui-table-view .layui-table th{padding:5px 0;border-top:none;border-left:none}.layui-table-view .layui-table th.layui-unselect .layui-table-cell span{cursor:pointer}.layui-table-view .layui-table td{cursor:default}.layui-table-view .layui-table td[data-edit=text]{cursor:text}.layui-table-view .layui-form-checkbox[lay-skin=primary] i{width:18px;height:18px}.layui-table-view .layui-form-radio{line-height:0;padding:0}.layui-table-view .layui-form-radio>i{margin:0;font-size:20px}.layui-table-init{position:absolute;left:0;top:0;width:100%;height:100%;text-align:center;z-index:110}.layui-table-init .layui-icon{position:absolute;left:50%;top:50%;margin:-15px 0 0 -15px;font-size:30px;color:#c2c2c2}.layui-table-header{border-width:0 0 1px;overflow:hidden}.layui-table-header .layui-table{margin-bottom:-1px}.layui-table-tool .layui-inline[lay-event]{position:relative;width:26px;height:26px;padding:5px;line-height:16px;margin-right:10px;text-align:center;color:#333;border:1px solid #ccc;cursor:pointer;-webkit-transition:.5s all;transition:.5s all}.layui-table-tool .layui-inline[lay-event]:hover{border:1px solid #999}.layui-table-tool-temp{padding-right:120px}.layui-table-tool-self{position:absolute;right:17px;top:10px}.layui-table-tool .layui-table-tool-self .layui-inline[lay-event]{margin:0 0 0 10px}.layui-table-tool-panel{position:absolute;top:29px;left:-1px;padding:5px 0;min-width:150px;min-height:40px;border:1px solid #d2d2d2;text-align:left;overflow-y:auto;background-color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.12)}.layui-table-cell,.layui-table-tool-panel li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layui-table-tool-panel li{padding:0 10px;line-height:30px;-webkit-transition:.5s all;transition:.5s all}.layui-table-tool-panel li .layui-form-checkbox[lay-skin=primary]{width:100%;padding-left:28px}.layui-table-tool-panel li:hover{background-color:#f2f2f2}.layui-table-tool-panel li .layui-form-checkbox[lay-skin=primary] i{position:absolute;left:0;top:0}.layui-table-tool-panel li .layui-form-checkbox[lay-skin=primary] span{padding:0}.layui-table-tool .layui-table-tool-self .layui-table-tool-panel{left:auto;right:-1px}.layui-table-col-set{position:absolute;right:0;top:0;width:20px;height:100%;border-width:0 0 0 1px;background-color:#fff}.layui-table-sort{width:10px;height:20px;margin-left:5px;cursor:pointer!important}.layui-table-sort .layui-edge{position:absolute;left:5px;border-width:5px}.layui-table-sort .layui-table-sort-asc{top:3px;border-top:none;border-bottom-style:solid;border-bottom-color:#b2b2b2}.layui-table-sort .layui-table-sort-asc:hover{border-bottom-color:#666}.layui-table-sort .layui-table-sort-desc{bottom:5px;border-bottom:none;border-top-style:solid;border-top-color:#b2b2b2}.layui-table-sort .layui-table-sort-desc:hover{border-top-color:#666}.layui-table-sort[lay-sort=asc] .layui-table-sort-asc{border-bottom-color:#000}.layui-table-sort[lay-sort=desc] .layui-table-sort-desc{border-top-color:#000}.layui-table-cell{height:28px;line-height:28px;padding:0 15px;position:relative;box-sizing:border-box}.layui-table-cell .layui-form-checkbox[lay-skin=primary]{top:-1px;padding:0}.layui-table-cell .layui-table-link{color:#01AAED}.laytable-cell-checkbox,.laytable-cell-numbers,.laytable-cell-radio,.laytable-cell-space{padding:0;text-align:center}.layui-table-body{position:relative;overflow:auto;margin-right:-1px;margin-bottom:-1px}.layui-table-body .layui-none{line-height:26px;padding:15px;text-align:center;color:#999}.layui-table-fixed{position:absolute;left:0;top:0;z-index:101}.layui-table-fixed .layui-table-body{overflow:hidden}.layui-table-fixed-l{box-shadow:0 -1px 8px rgba(0,0,0,.08)}.layui-table-fixed-r{left:auto;right:-1px;border-width:0 0 0 1px;box-shadow:-1px 0 8px rgba(0,0,0,.08)}.layui-table-fixed-r .layui-table-header{position:relative;overflow:visible}.layui-table-mend{position:absolute;right:-49px;top:0;height:100%;width:50px}.layui-table-tool{position:relative;z-index:890;width:100%;min-height:50px;line-height:30px;padding:10px 15px;border-width:0 0 1px}.layui-table-tool .layui-btn-container{margin-bottom:-10px}.layui-table-page,.layui-table-total{border-width:1px 0 0;margin-bottom:-1px;overflow:hidden}.layui-table-page{position:relative;width:100%;padding:7px 7px 0;height:41px;font-size:12px;white-space:nowrap}.layui-table-page>div{height:26px}.layui-table-page .layui-laypage{margin:0}.layui-table-page .layui-laypage a,.layui-table-page .layui-laypage span{height:26px;line-height:26px;margin-bottom:10px;border:none;background:0 0}.layui-table-page .layui-laypage a,.layui-table-page .layui-laypage span.layui-laypage-curr{padding:0 12px}.layui-table-page .layui-laypage span{margin-left:0;padding:0}.layui-table-page .layui-laypage .layui-laypage-prev{margin-left:-7px!important}.layui-table-page .layui-laypage .layui-laypage-curr .layui-laypage-em{left:0;top:0;padding:0}.layui-table-page .layui-laypage button,.layui-table-page .layui-laypage input{height:26px;line-height:26px}.layui-table-page .layui-laypage input{width:40px}.layui-table-page .layui-laypage button{padding:0 10px}.layui-table-page select{height:18px}.layui-table-patch .layui-table-cell{padding:0;width:30px}.layui-table-edit{position:absolute;left:0;top:0;width:100%;height:100%;padding:0 14px 1px;border-radius:0;box-shadow:1px 1px 20px rgba(0,0,0,.15)}.layui-table-edit:focus{border-color:#5FB878!important}select.layui-table-edit{padding:0 0 0 10px;border-color:#C9C9C9}.layui-table-view .layui-form-checkbox,.layui-table-view .layui-form-radio,.layui-table-view .layui-form-switch{top:0;margin:0;box-sizing:content-box}.layui-table-view .layui-form-checkbox{top:-1px;height:26px;line-height:26px}.layui-table-view .layui-form-checkbox i{height:26px}.layui-table-grid .layui-table-cell{overflow:visible}.layui-table-grid-down{position:absolute;top:0;right:0;width:26px;height:100%;padding:5px 0;border-width:0 0 0 1px;text-align:center;background-color:#fff;color:#999;cursor:pointer}.layui-table-grid-down .layui-icon{position:absolute;top:50%;left:50%;margin:-8px 0 0 -8px}.layui-table-grid-down:hover{background-color:#fbfbfb}body .layui-table-tips .layui-layer-content{background:0 0;padding:0;box-shadow:0 1px 6px rgba(0,0,0,.12)}.layui-table-tips-main{margin:-44px 0 0 -1px;max-height:150px;padding:8px 15px;font-size:14px;overflow-y:scroll;background-color:#fff;color:#666}.layui-table-tips-c{position:absolute;right:-3px;top:-13px;width:20px;height:20px;padding:3px;cursor:pointer;background-color:#666;border-radius:50%;color:#fff}.layui-table-tips-c:hover{background-color:#777}.layui-table-tips-c:before{position:relative;right:-2px}.layui-upload-file{display:none!important;opacity:.01;filter:Alpha(opacity=1)}.layui-upload-drag,.layui-upload-form,.layui-upload-wrap{display:inline-block}.layui-upload-list{margin:10px 0}.layui-upload-choose{padding:0 10px;color:#999}.layui-upload-drag{position:relative;padding:30px;border:1px dashed #e2e2e2;background-color:#fff;text-align:center;cursor:pointer;color:#999}.layui-upload-drag .layui-icon{font-size:50px;color:#009688}.layui-upload-drag[lay-over]{border-color:#009688}.layui-upload-iframe{position:absolute;width:0;height:0;border:0;visibility:hidden}.layui-upload-wrap{position:relative;vertical-align:middle}.layui-upload-wrap .layui-upload-file{display:block!important;position:absolute;left:0;top:0;z-index:10;font-size:100px;width:100%;height:100%;opacity:.01;filter:Alpha(opacity=1);cursor:pointer}.layui-transfer-active,.layui-transfer-box{display:inline-block;vertical-align:middle}.layui-transfer-box,.layui-transfer-header,.layui-transfer-search{border-width:0;border-style:solid;border-color:#e6e6e6}.layui-transfer-box{position:relative;border-width:1px;width:200px;height:360px;border-radius:2px;background-color:#fff}.layui-transfer-box .layui-form-checkbox{width:100%;margin:0!important}.layui-transfer-header{height:38px;line-height:38px;padding:0 10px;border-bottom-width:1px}.layui-transfer-search{position:relative;padding:10px;border-bottom-width:1px}.layui-transfer-search .layui-input{height:32px;padding-left:30px;font-size:12px}.layui-transfer-search .layui-icon-search{position:absolute;left:20px;top:50%;margin-top:-8px;color:#666}.layui-transfer-active{margin:0 15px}.layui-transfer-active .layui-btn{display:block;margin:0;padding:0 15px;background-color:#5FB878;border-color:#5FB878;color:#fff}.layui-transfer-active .layui-btn-disabled{background-color:#FBFBFB;border-color:#e6e6e6;color:#C9C9C9}.layui-transfer-active .layui-btn:first-child{margin-bottom:15px}.layui-transfer-active .layui-btn .layui-icon{margin:0;font-size:14px!important}.layui-transfer-data{padding:5px 0;overflow:auto}.layui-transfer-data li{height:32px;line-height:32px;padding:0 10px}.layui-transfer-data li:hover{background-color:#f2f2f2;transition:.5s all}.layui-transfer-data .layui-none{padding:15px 10px;text-align:center;color:#999}.layui-nav{position:relative;padding:0 20px;background-color:#393D49;color:#fff;border-radius:2px;font-size:0;box-sizing:border-box}.layui-nav *{font-size:14px}.layui-nav .layui-nav-item{position:relative;display:inline-block;*display:inline;*zoom:1;vertical-align:middle;line-height:60px}.layui-nav .layui-nav-item a{display:block;padding:0 20px;color:#fff;color:rgba(255,255,255,.7);transition:all .3s;-webkit-transition:all .3s}.layui-nav .layui-this:after,.layui-nav-bar,.layui-nav-tree .layui-nav-itemed:after{position:absolute;left:0;top:0;width:0;height:5px;background-color:#5FB878;transition:all .2s;-webkit-transition:all .2s}.layui-nav-bar{z-index:1000}.layui-nav .layui-nav-item a:hover,.layui-nav .layui-this a{color:#fff}.layui-nav .layui-this:after{content:'';top:auto;bottom:0;width:100%}.layui-nav-img{width:30px;height:30px;margin-right:10px;border-radius:50%}.layui-nav .layui-nav-more{content:'';width:0;height:0;border-style:solid dashed dashed;border-color:#fff transparent transparent;overflow:hidden;cursor:pointer;transition:all .2s;-webkit-transition:all .2s;position:absolute;top:50%;right:3px;margin-top:-3px;border-width:6px;border-top-color:rgba(255,255,255,.7)}.layui-nav .layui-nav-mored,.layui-nav-itemed>a .layui-nav-more{margin-top:-9px;border-style:dashed dashed solid;border-color:transparent transparent #fff}.layui-nav-child{display:none;position:absolute;left:0;top:65px;min-width:100%;line-height:36px;padding:5px 0;box-shadow:0 2px 4px rgba(0,0,0,.12);border:1px solid #d2d2d2;background-color:#fff;z-index:100;border-radius:2px;white-space:nowrap}.layui-nav .layui-nav-child a{color:#333}.layui-nav .layui-nav-child a:hover{background-color:#f2f2f2;color:#000}.layui-nav-child dd{position:relative}.layui-nav .layui-nav-child dd.layui-this a,.layui-nav-child dd.layui-this{background-color:#5FB878;color:#fff}.layui-nav-child dd.layui-this:after{display:none}.layui-nav-tree{width:200px;padding:0}.layui-nav-tree .layui-nav-item{display:block;width:100%;line-height:45px}.layui-nav-tree .layui-nav-item a{position:relative;height:45px;line-height:45px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-nav-tree .layui-nav-item a:hover{background-color:#4E5465}.layui-nav-tree .layui-nav-bar{width:5px;height:0;background-color:#009688}.layui-nav-tree .layui-nav-child dd.layui-this,.layui-nav-tree .layui-nav-child dd.layui-this a,.layui-nav-tree .layui-this,.layui-nav-tree .layui-this>a,.layui-nav-tree .layui-this>a:hover{background-color:#009688;color:#fff}.layui-nav-tree .layui-this:after{display:none}.layui-nav-itemed>a,.layui-nav-tree .layui-nav-title a,.layui-nav-tree .layui-nav-title a:hover{color:#fff!important}.layui-nav-tree .layui-nav-child{position:relative;z-index:0;top:0;border:none;box-shadow:none}.layui-nav-tree .layui-nav-child a{height:40px;line-height:40px;color:#fff;color:rgba(255,255,255,.7)}.layui-nav-tree .layui-nav-child,.layui-nav-tree .layui-nav-child a:hover{background:0 0;color:#fff}.layui-nav-tree .layui-nav-more{right:10px}.layui-nav-itemed>.layui-nav-child{display:block;padding:0;background-color:rgba(0,0,0,.3)!important}.layui-nav-itemed>.layui-nav-child>.layui-this>.layui-nav-child{display:block}.layui-nav-side{position:fixed;top:0;bottom:0;left:0;overflow-x:hidden;z-index:999}.layui-bg-blue .layui-nav-bar,.layui-bg-blue .layui-nav-itemed:after,.layui-bg-blue .layui-this:after{background-color:#93D1FF}.layui-bg-blue .layui-nav-child dd.layui-this{background-color:#1E9FFF}.layui-bg-blue .layui-nav-itemed>a,.layui-nav-tree.layui-bg-blue .layui-nav-title a,.layui-nav-tree.layui-bg-blue .layui-nav-title a:hover{background-color:#007DDB!important}.layui-breadcrumb{font-size:0}.layui-breadcrumb>*{font-size:14px}.layui-breadcrumb a{color:#999!important}.layui-breadcrumb a:hover{color:#5FB878!important}.layui-breadcrumb a cite{color:#666;font-style:normal}.layui-breadcrumb span[lay-separator]{margin:0 10px;color:#999}.layui-tab{margin:10px 0;text-align:left!important}.layui-tab[overflow]>.layui-tab-title{overflow:hidden}.layui-tab-title{position:relative;left:0;height:40px;white-space:nowrap;font-size:0;border-bottom-width:1px;border-bottom-style:solid;transition:all .2s;-webkit-transition:all .2s}.layui-tab-title li{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;font-size:14px;transition:all .2s;-webkit-transition:all .2s;position:relative;line-height:40px;min-width:65px;padding:0 15px;text-align:center;cursor:pointer}.layui-tab-title li a{display:block}.layui-tab-title .layui-this{color:#000}.layui-tab-title .layui-this:after{position:absolute;left:0;top:0;content:'';width:100%;height:41px;border-width:1px;border-style:solid;border-bottom-color:#fff;border-radius:2px 2px 0 0;box-sizing:border-box;pointer-events:none}.layui-tab-bar{position:absolute;right:0;top:0;z-index:10;width:30px;height:39px;line-height:39px;border-width:1px;border-style:solid;border-radius:2px;text-align:center;background-color:#fff;cursor:pointer}.layui-tab-bar .layui-icon{position:relative;display:inline-block;top:3px;transition:all .3s;-webkit-transition:all .3s}.layui-tab-item{display:none}.layui-tab-more{padding-right:30px;height:auto!important;white-space:normal!important}.layui-tab-more li.layui-this:after{border-bottom-color:#e2e2e2;border-radius:2px}.layui-tab-more .layui-tab-bar .layui-icon{top:-2px;top:3px\9;-webkit-transform:rotate(180deg);transform:rotate(180deg)}:root .layui-tab-more .layui-tab-bar .layui-icon{top:-2px\0/IE9}.layui-tab-content{padding:10px}.layui-tab-title li .layui-tab-close{position:relative;display:inline-block;width:18px;height:18px;line-height:20px;margin-left:8px;top:1px;text-align:center;font-size:14px;color:#c2c2c2;transition:all .2s;-webkit-transition:all .2s}.layui-tab-title li .layui-tab-close:hover{border-radius:2px;background-color:#FF5722;color:#fff}.layui-tab-brief>.layui-tab-title .layui-this{color:#009688}.layui-tab-brief>.layui-tab-more li.layui-this:after,.layui-tab-brief>.layui-tab-title .layui-this:after{border:none;border-radius:0;border-bottom:2px solid #5FB878}.layui-tab-brief[overflow]>.layui-tab-title .layui-this:after{top:-1px}.layui-tab-card{border-width:1px;border-style:solid;border-radius:2px;box-shadow:0 2px 5px 0 rgba(0,0,0,.1)}.layui-tab-card>.layui-tab-title{background-color:#f2f2f2}.layui-tab-card>.layui-tab-title li{margin-right:-1px;margin-left:-1px}.layui-tab-card>.layui-tab-title .layui-this{background-color:#fff}.layui-tab-card>.layui-tab-title .layui-this:after{border-top:none;border-width:1px;border-bottom-color:#fff}.layui-tab-card>.layui-tab-title .layui-tab-bar{height:40px;line-height:40px;border-radius:0;border-top:none;border-right:none}.layui-tab-card>.layui-tab-more .layui-this{background:0 0;color:#5FB878}.layui-tab-card>.layui-tab-more .layui-this:after{border:none}.layui-timeline{padding-left:5px}.layui-timeline-item{position:relative;padding-bottom:20px}.layui-timeline-axis{position:absolute;left:-5px;top:0;z-index:10;width:20px;height:20px;line-height:20px;background-color:#fff;color:#5FB878;border-radius:50%;text-align:center;cursor:pointer}.layui-timeline-axis:hover{color:#FF5722}.layui-timeline-item:before{content:'';position:absolute;left:5px;top:0;z-index:0;width:1px;height:100%}.layui-timeline-item:last-child:before{display:none}.layui-timeline-item:first-child:before{display:block}.layui-timeline-content{padding-left:25px}.layui-timeline-title{position:relative;margin-bottom:10px}.layui-badge,.layui-badge-dot,.layui-badge-rim{position:relative;display:inline-block;padding:0 6px;font-size:12px;text-align:center;background-color:#FF5722;color:#fff;border-radius:2px}.layui-badge{height:18px;line-height:18px}.layui-badge-dot{width:8px;height:8px;padding:0;border-radius:50%}.layui-badge-rim{height:18px;line-height:18px;border-width:1px;border-style:solid;background-color:#fff;color:#666}.layui-btn .layui-badge,.layui-btn .layui-badge-dot{margin-left:5px}.layui-nav .layui-badge,.layui-nav .layui-badge-dot{position:absolute;top:50%;margin:-8px 6px 0}.layui-tab-title .layui-badge,.layui-tab-title .layui-badge-dot{left:5px;top:-2px}.layui-carousel{position:relative;left:0;top:0;background-color:#f8f8f8}.layui-carousel>[carousel-item]{position:relative;width:100%;height:100%;overflow:hidden}.layui-carousel>[carousel-item]:before{position:absolute;content:'\e63d';left:50%;top:50%;width:100px;line-height:20px;margin:-10px 0 0 -50px;text-align:center;color:#c2c2c2;font-family:layui-icon!important;font-size:30px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layui-carousel>[carousel-item]>*{display:none;position:absolute;left:0;top:0;width:100%;height:100%;background-color:#f8f8f8;transition-duration:.3s;-webkit-transition-duration:.3s}.layui-carousel-updown>*{-webkit-transition:.3s ease-in-out up;transition:.3s ease-in-out up}.layui-carousel-arrow{display:none\9;opacity:0;position:absolute;left:10px;top:50%;margin-top:-18px;width:36px;height:36px;line-height:36px;text-align:center;font-size:20px;border:0;border-radius:50%;background-color:rgba(0,0,0,.2);color:#fff;-webkit-transition-duration:.3s;transition-duration:.3s;cursor:pointer}.layui-carousel-arrow[lay-type=add]{left:auto!important;right:10px}.layui-carousel:hover .layui-carousel-arrow[lay-type=add],.layui-carousel[lay-arrow=always] .layui-carousel-arrow[lay-type=add]{right:20px}.layui-carousel[lay-arrow=always] .layui-carousel-arrow{opacity:1;left:20px}.layui-carousel[lay-arrow=none] .layui-carousel-arrow{display:none}.layui-carousel-arrow:hover,.layui-carousel-ind ul:hover{background-color:rgba(0,0,0,.35)}.layui-carousel:hover .layui-carousel-arrow{display:block\9;opacity:1;left:20px}.layui-carousel-ind{position:relative;top:-35px;width:100%;line-height:0!important;text-align:center;font-size:0}.layui-carousel[lay-indicator=outside]{margin-bottom:30px}.layui-carousel[lay-indicator=outside] .layui-carousel-ind{top:10px}.layui-carousel[lay-indicator=outside] .layui-carousel-ind ul{background-color:rgba(0,0,0,.5)}.layui-carousel[lay-indicator=none] .layui-carousel-ind{display:none}.layui-carousel-ind ul{display:inline-block;padding:5px;background-color:rgba(0,0,0,.2);border-radius:10px;-webkit-transition-duration:.3s;transition-duration:.3s}.layui-carousel-ind li{display:inline-block;width:10px;height:10px;margin:0 3px;font-size:14px;background-color:#e2e2e2;background-color:rgba(255,255,255,.5);border-radius:50%;cursor:pointer;-webkit-transition-duration:.3s;transition-duration:.3s}.layui-carousel-ind li:hover{background-color:rgba(255,255,255,.7)}.layui-carousel-ind li.layui-this{background-color:#fff}.layui-carousel>[carousel-item]>.layui-carousel-next,.layui-carousel>[carousel-item]>.layui-carousel-prev,.layui-carousel>[carousel-item]>.layui-this{display:block}.layui-carousel>[carousel-item]>.layui-this{left:0}.layui-carousel>[carousel-item]>.layui-carousel-prev{left:-100%}.layui-carousel>[carousel-item]>.layui-carousel-next{left:100%}.layui-carousel>[carousel-item]>.layui-carousel-next.layui-carousel-left,.layui-carousel>[carousel-item]>.layui-carousel-prev.layui-carousel-right{left:0}.layui-carousel>[carousel-item]>.layui-this.layui-carousel-left{left:-100%}.layui-carousel>[carousel-item]>.layui-this.layui-carousel-right{left:100%}.layui-carousel[lay-anim=updown] .layui-carousel-arrow{left:50%!important;top:20px;margin:0 0 0 -18px}.layui-carousel[lay-anim=updown]>[carousel-item]>*,.layui-carousel[lay-anim=fade]>[carousel-item]>*{left:0!important}.layui-carousel[lay-anim=updown] .layui-carousel-arrow[lay-type=add]{top:auto!important;bottom:20px}.layui-carousel[lay-anim=updown] .layui-carousel-ind{position:absolute;top:50%;right:20px;width:auto;height:auto}.layui-carousel[lay-anim=updown] .layui-carousel-ind ul{padding:3px 5px}.layui-carousel[lay-anim=updown] .layui-carousel-ind li{display:block;margin:6px 0}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this{top:0}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-prev{top:-100%}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-next{top:100%}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-next.layui-carousel-left,.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-prev.layui-carousel-right{top:0}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this.layui-carousel-left{top:-100%}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this.layui-carousel-right{top:100%}.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-next,.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-prev{opacity:0}.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-next.layui-carousel-left,.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-prev.layui-carousel-right{opacity:1}.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-this.layui-carousel-left,.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-this.layui-carousel-right{opacity:0}.layui-fixbar{position:fixed;right:15px;bottom:15px;z-index:999999}.layui-fixbar li{width:50px;height:50px;line-height:50px;margin-bottom:1px;text-align:center;cursor:pointer;font-size:30px;background-color:#9F9F9F;color:#fff;border-radius:2px;opacity:.95}.layui-fixbar li:hover{opacity:.85}.layui-fixbar li:active{opacity:1}.layui-fixbar .layui-fixbar-top{display:none;font-size:40px}body .layui-util-face{border:none;background:0 0}body .layui-util-face .layui-layer-content{padding:0;background-color:#fff;color:#666;box-shadow:none}.layui-util-face .layui-layer-TipsG{display:none}.layui-util-face ul{position:relative;width:372px;padding:10px;border:1px solid #D9D9D9;background-color:#fff;box-shadow:0 0 20px rgba(0,0,0,.2)}.layui-util-face ul li{cursor:pointer;float:left;border:1px solid #e8e8e8;height:22px;width:26px;overflow:hidden;margin:-1px 0 0 -1px;padding:4px 2px;text-align:center}.layui-util-face ul li:hover{position:relative;z-index:2;border:1px solid #eb7350;background:#fff9ec}.layui-code{position:relative;margin:10px 0;padding:15px;line-height:20px;border:1px solid #ddd;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New;font-size:12px}.layui-rate,.layui-rate *{display:inline-block;vertical-align:middle}.layui-rate{padding:10px 5px 10px 0;font-size:0}.layui-rate li i.layui-icon{font-size:20px;color:#FFB800;margin-right:5px;transition:all .3s;-webkit-transition:all .3s}.layui-rate li i:hover{cursor:pointer;transform:scale(1.12);-webkit-transform:scale(1.12)}.layui-rate[readonly] li i:hover{cursor:default;transform:scale(1)}.layui-colorpicker{width:26px;height:26px;border:1px solid #e6e6e6;padding:5px;border-radius:2px;line-height:24px;display:inline-block;cursor:pointer;transition:all .3s;-webkit-transition:all .3s}.layui-colorpicker:hover{border-color:#d2d2d2}.layui-colorpicker.layui-colorpicker-lg{width:34px;height:34px;line-height:32px}.layui-colorpicker.layui-colorpicker-sm{width:24px;height:24px;line-height:22px}.layui-colorpicker.layui-colorpicker-xs{width:22px;height:22px;line-height:20px}.layui-colorpicker-trigger-bgcolor{display:block;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==);border-radius:2px}.layui-colorpicker-trigger-span{display:block;height:100%;box-sizing:border-box;border:1px solid rgba(0,0,0,.15);border-radius:2px;text-align:center}.layui-colorpicker-trigger-i{display:inline-block;color:#FFF;font-size:12px}.layui-colorpicker-trigger-i.layui-icon-close{color:#999}.layui-colorpicker-main{position:absolute;z-index:66666666;width:280px;padding:7px;background:#FFF;border:1px solid #d2d2d2;border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,.12)}.layui-colorpicker-main-wrapper{height:180px;position:relative}.layui-colorpicker-basis{width:260px;height:100%;position:relative}.layui-colorpicker-basis-white{width:100%;height:100%;position:absolute;top:0;left:0;background:linear-gradient(90deg,#FFF,hsla(0,0%,100%,0))}.layui-colorpicker-basis-black{width:100%;height:100%;position:absolute;top:0;left:0;background:linear-gradient(0deg,#000,transparent)}.layui-colorpicker-basis-cursor{width:10px;height:10px;border:1px solid #FFF;border-radius:50%;position:absolute;top:-3px;right:-3px;cursor:pointer}.layui-colorpicker-side{position:absolute;top:0;right:0;width:12px;height:100%;background:linear-gradient(red,#FF0,#0F0,#0FF,#00F,#F0F,red)}.layui-colorpicker-side-slider{width:100%;height:5px;box-shadow:0 0 1px #888;box-sizing:border-box;background:#FFF;border-radius:1px;border:1px solid #f0f0f0;cursor:pointer;position:absolute;left:0}.layui-colorpicker-main-alpha{display:none;height:12px;margin-top:7px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.layui-colorpicker-alpha-bgcolor{height:100%;position:relative}.layui-colorpicker-alpha-slider{width:5px;height:100%;box-shadow:0 0 1px #888;box-sizing:border-box;background:#FFF;border-radius:1px;border:1px solid #f0f0f0;cursor:pointer;position:absolute;top:0}.layui-colorpicker-main-pre{padding-top:7px;font-size:0}.layui-colorpicker-pre{width:20px;height:20px;border-radius:2px;display:inline-block;margin-left:6px;margin-bottom:7px;cursor:pointer}.layui-colorpicker-pre:nth-child(11n+1){margin-left:0}.layui-colorpicker-pre-isalpha{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.layui-colorpicker-pre.layui-this{box-shadow:0 0 3px 2px rgba(0,0,0,.15)}.layui-colorpicker-pre>div{height:100%;border-radius:2px}.layui-colorpicker-main-input{text-align:right;padding-top:7px}.layui-colorpicker-main-input .layui-btn-container .layui-btn{margin:0 0 0 10px}.layui-colorpicker-main-input div.layui-inline{float:left;margin-right:10px;font-size:14px}.layui-colorpicker-main-input input.layui-input{width:150px;height:30px;color:#666}.layui-slider{height:4px;background:#e2e2e2;border-radius:3px;position:relative;cursor:pointer}.layui-slider-bar{border-radius:3px;position:absolute;height:100%}.layui-slider-step{position:absolute;top:0;width:4px;height:4px;border-radius:50%;background:#FFF;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.layui-slider-wrap{width:36px;height:36px;position:absolute;top:-16px;-webkit-transform:translateX(-50%);transform:translateX(-50%);z-index:10;text-align:center}.layui-slider-wrap-btn{width:12px;height:12px;border-radius:50%;background:#FFF;display:inline-block;vertical-align:middle;cursor:pointer;transition:.3s}.layui-slider-wrap:after{content:"";height:100%;display:inline-block;vertical-align:middle}.layui-slider-wrap-btn.layui-slider-hover,.layui-slider-wrap-btn:hover{transform:scale(1.2)}.layui-slider-wrap-btn.layui-disabled:hover{transform:scale(1)!important}.layui-slider-tips{position:absolute;top:-42px;z-index:66666666;white-space:nowrap;display:none;-webkit-transform:translateX(-50%);transform:translateX(-50%);color:#FFF;background:#000;border-radius:3px;height:25px;line-height:25px;padding:0 10px}.layui-slider-tips:after{content:'';position:absolute;bottom:-12px;left:50%;margin-left:-6px;width:0;height:0;border-width:6px;border-style:solid;border-color:#000 transparent transparent}.layui-slider-input{width:70px;height:32px;border:1px solid #e6e6e6;border-radius:3px;font-size:16px;line-height:32px;position:absolute;right:0;top:-15px}.layui-slider-input-btn{display:none;position:absolute;top:0;right:0;width:20px;height:100%;border-left:1px solid #d2d2d2}.layui-slider-input-btn i{cursor:pointer;position:absolute;right:0;bottom:0;width:20px;height:50%;font-size:12px;line-height:16px;text-align:center;color:#999}.layui-slider-input-btn i:first-child{top:0;border-bottom:1px solid #d2d2d2}.layui-slider-input-txt{height:100%;font-size:14px}.layui-slider-input-txt input{height:100%;border:none}.layui-slider-input-btn i:hover{color:#009688}.layui-slider-vertical{width:4px;margin-left:34px}.layui-slider-vertical .layui-slider-bar{width:4px}.layui-slider-vertical .layui-slider-step{top:auto;left:0;-webkit-transform:translateY(50%);transform:translateY(50%)}.layui-slider-vertical .layui-slider-wrap{top:auto;left:-16px;-webkit-transform:translateY(50%);transform:translateY(50%)}.layui-slider-vertical .layui-slider-tips{top:auto;left:2px}@media \0screen{.layui-slider-wrap-btn{margin-left:-20px}.layui-slider-vertical .layui-slider-wrap-btn{margin-left:0;margin-bottom:-20px}.layui-slider-vertical .layui-slider-tips{margin-left:-8px}.layui-slider>span{margin-left:8px}}.layui-tree{line-height:22px}.layui-tree .layui-form-checkbox{margin:0!important}.layui-tree-set{width:100%;position:relative}.layui-tree-pack{display:none;padding-left:20px;position:relative}.layui-tree-iconClick,.layui-tree-main{display:inline-block;vertical-align:middle}.layui-tree-line .layui-tree-pack{padding-left:27px}.layui-tree-line .layui-tree-set .layui-tree-set:after{content:'';position:absolute;top:14px;left:-9px;width:17px;height:0;border-top:1px dotted #c0c4cc}.layui-tree-entry{position:relative;padding:3px 0;height:20px;white-space:nowrap}.layui-tree-entry:hover{background-color:#eee}.layui-tree-line .layui-tree-entry:hover{background-color:rgba(0,0,0,0)}.layui-tree-line .layui-tree-entry:hover .layui-tree-txt{color:#999;text-decoration:underline;transition:.3s}.layui-tree-main{cursor:pointer;padding-right:10px}.layui-tree-line .layui-tree-set:before{content:'';position:absolute;top:0;left:-9px;width:0;height:100%;border-left:1px dotted #c0c4cc}.layui-tree-line .layui-tree-set.layui-tree-setLineShort:before{height:13px}.layui-tree-line .layui-tree-set.layui-tree-setHide:before{height:0}.layui-tree-iconClick{position:relative;height:20px;line-height:20px;margin:0 10px;color:#c0c4cc}.layui-tree-icon{height:12px;line-height:12px;width:12px;text-align:center;border:1px solid #c0c4cc}.layui-tree-iconClick .layui-icon{font-size:18px}.layui-tree-icon .layui-icon{font-size:12px;color:#666}.layui-tree-iconArrow{padding:0 5px}.layui-tree-iconArrow:after{content:'';position:absolute;left:4px;top:3px;z-index:100;width:0;height:0;border-width:5px;border-style:solid;border-color:transparent transparent transparent #c0c4cc;transition:.5s}.layui-tree-btnGroup,.layui-tree-editInput{position:relative;vertical-align:middle;display:inline-block}.layui-tree-spread>.layui-tree-entry>.layui-tree-iconClick>.layui-tree-iconArrow:after{transform:rotate(90deg) translate(3px,4px)}.layui-tree-txt{display:inline-block;vertical-align:middle;color:#555}.layui-tree-search{margin-bottom:15px;color:#666}.layui-tree-btnGroup .layui-icon{display:inline-block;vertical-align:middle;padding:0 2px;cursor:pointer}.layui-tree-btnGroup .layui-icon:hover{color:#999;transition:.3s}.layui-tree-entry:hover .layui-tree-btnGroup{visibility:visible}.layui-tree-editInput{height:20px;line-height:20px;padding:0 3px;border:none;background-color:rgba(0,0,0,.05)}.layui-tree-emptyText{text-align:center;color:#999}.layui-anim{-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.layui-anim.layui-icon{display:inline-block}.layui-anim-loop{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.layui-trans,.layui-trans a{transition:all .3s;-webkit-transition:all .3s}@-webkit-keyframes layui-rotate{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(360deg)}}@keyframes layui-rotate{from{transform:rotate(0)}to{transform:rotate(360deg)}}.layui-anim-rotate{-webkit-animation-name:layui-rotate;animation-name:layui-rotate;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:linear;animation-timing-function:linear}@-webkit-keyframes layui-up{from{-webkit-transform:translate3d(0,100%,0);opacity:.3}to{-webkit-transform:translate3d(0,0,0);opacity:1}}@keyframes layui-up{from{transform:translate3d(0,100%,0);opacity:.3}to{transform:translate3d(0,0,0);opacity:1}}.layui-anim-up{-webkit-animation-name:layui-up;animation-name:layui-up}@-webkit-keyframes layui-upbit{from{-webkit-transform:translate3d(0,30px,0);opacity:.3}to{-webkit-transform:translate3d(0,0,0);opacity:1}}@keyframes layui-upbit{from{transform:translate3d(0,30px,0);opacity:.3}to{transform:translate3d(0,0,0);opacity:1}}.layui-anim-upbit{-webkit-animation-name:layui-upbit;animation-name:layui-upbit}@-webkit-keyframes layui-scale{0%{opacity:.3;-webkit-transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes layui-scale{0%{opacity:.3;-ms-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-ms-transform:scale(1);transform:scale(1)}}.layui-anim-scale{-webkit-animation-name:layui-scale;animation-name:layui-scale}@-webkit-keyframes layui-scale-spring{0%{opacity:.5;-webkit-transform:scale(.5)}80%{opacity:.8;-webkit-transform:scale(1.1)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes layui-scale-spring{0%{opacity:.5;transform:scale(.5)}80%{opacity:.8;transform:scale(1.1)}100%{opacity:1;transform:scale(1)}}.layui-anim-scaleSpring{-webkit-animation-name:layui-scale-spring;animation-name:layui-scale-spring}@-webkit-keyframes layui-fadein{0%{opacity:0}100%{opacity:1}}@keyframes layui-fadein{0%{opacity:0}100%{opacity:1}}.layui-anim-fadein{-webkit-animation-name:layui-fadein;animation-name:layui-fadein}@-webkit-keyframes layui-fadeout{0%{opacity:1}100%{opacity:0}}@keyframes layui-fadeout{0%{opacity:1}100%{opacity:0}}.layui-anim-fadeout{-webkit-animation-name:layui-fadeout;animation-name:layui-fadeout} \ No newline at end of file diff --git a/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/css/modules/layer/default/layer.css b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/css/modules/layer/default/layer.css new file mode 100644 index 00000000..032ae123 --- /dev/null +++ b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/css/modules/layer/default/layer.css @@ -0,0 +1,2 @@ +/** layui-v2.5.6 MIT License By https://www.layui.com */ + .layui-layer-imgbar,.layui-layer-imgtit a,.layui-layer-tab .layui-layer-title span,.layui-layer-title{text-overflow:ellipsis;white-space:nowrap}html #layuicss-layer{display:none;position:absolute;width:1989px}.layui-layer,.layui-layer-shade{position:fixed;_position:absolute;pointer-events:auto}.layui-layer-shade{top:0;left:0;width:100%;height:100%;_height:expression(document.body.offsetHeight+"px")}.layui-layer{-webkit-overflow-scrolling:touch;top:150px;left:0;margin:0;padding:0;background-color:#fff;-webkit-background-clip:content;border-radius:2px;box-shadow:1px 1px 50px rgba(0,0,0,.3)}.layui-layer-close{position:absolute}.layui-layer-content{position:relative}.layui-layer-border{border:1px solid #B2B2B2;border:1px solid rgba(0,0,0,.1);box-shadow:1px 1px 5px rgba(0,0,0,.2)}.layui-layer-load{background:url(loading-1.gif) center center no-repeat #eee}.layui-layer-ico{background:url(icon.png) no-repeat}.layui-layer-btn a,.layui-layer-dialog .layui-layer-ico,.layui-layer-setwin a{display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-move{display:none;position:fixed;*position:absolute;left:0;top:0;width:100%;height:100%;cursor:move;opacity:0;filter:alpha(opacity=0);background-color:#fff;z-index:2147483647}.layui-layer-resize{position:absolute;width:15px;height:15px;right:0;bottom:0;cursor:se-resize}.layer-anim{-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.3s;animation-duration:.3s}@-webkit-keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-00{-webkit-animation-name:layer-bounceIn;animation-name:layer-bounceIn}@-webkit-keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);-ms-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);-ms-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-01{-webkit-animation-name:layer-zoomInDown;animation-name:layer-zoomInDown}@-webkit-keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.layer-anim-02{-webkit-animation-name:layer-fadeInUpBig;animation-name:layer-fadeInUpBig}@-webkit-keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);-ms-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);-ms-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-03{-webkit-animation-name:layer-zoomInLeft;animation-name:layer-zoomInLeft}@-webkit-keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}@keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);-ms-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);-ms-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}.layer-anim-04{-webkit-animation-name:layer-rollIn;animation-name:layer-rollIn}@keyframes layer-fadeIn{0%{opacity:0}100%{opacity:1}}.layer-anim-05{-webkit-animation-name:layer-fadeIn;animation-name:layer-fadeIn}@-webkit-keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}}.layer-anim-06{-webkit-animation-name:layer-shake;animation-name:layer-shake}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.layui-layer-title{padding:0 80px 0 20px;height:42px;line-height:42px;border-bottom:1px solid #eee;font-size:14px;color:#333;overflow:hidden;background-color:#F8F8F8;border-radius:2px 2px 0 0}.layui-layer-setwin{position:absolute;right:15px;*right:0;top:15px;font-size:0;line-height:initial}.layui-layer-setwin a{position:relative;width:16px;height:16px;margin-left:10px;font-size:12px;_overflow:hidden}.layui-layer-setwin .layui-layer-min cite{position:absolute;width:14px;height:2px;left:0;top:50%;margin-top:-1px;background-color:#2E2D3C;cursor:pointer;_overflow:hidden}.layui-layer-setwin .layui-layer-min:hover cite{background-color:#2D93CA}.layui-layer-setwin .layui-layer-max{background-position:-32px -40px}.layui-layer-setwin .layui-layer-max:hover{background-position:-16px -40px}.layui-layer-setwin .layui-layer-maxmin{background-position:-65px -40px}.layui-layer-setwin .layui-layer-maxmin:hover{background-position:-49px -40px}.layui-layer-setwin .layui-layer-close1{background-position:1px -40px;cursor:pointer}.layui-layer-setwin .layui-layer-close1:hover{opacity:.7}.layui-layer-setwin .layui-layer-close2{position:absolute;right:-28px;top:-28px;width:30px;height:30px;margin-left:0;background-position:-149px -31px;*right:-18px;_display:none}.layui-layer-setwin .layui-layer-close2:hover{background-position:-180px -31px}.layui-layer-btn{text-align:right;padding:0 15px 12px;pointer-events:auto;user-select:none;-webkit-user-select:none}.layui-layer-btn a{height:28px;line-height:28px;margin:5px 5px 0;padding:0 15px;border:1px solid #dedede;background-color:#fff;color:#333;border-radius:2px;font-weight:400;cursor:pointer;text-decoration:none}.layui-layer-btn a:hover{opacity:.9;text-decoration:none}.layui-layer-btn a:active{opacity:.8}.layui-layer-btn .layui-layer-btn0{border-color:#1E9FFF;background-color:#1E9FFF;color:#fff}.layui-layer-btn-l{text-align:left}.layui-layer-btn-c{text-align:center}.layui-layer-dialog{min-width:260px}.layui-layer-dialog .layui-layer-content{position:relative;padding:20px;line-height:24px;word-break:break-all;overflow:hidden;font-size:14px;overflow-x:hidden;overflow-y:auto}.layui-layer-dialog .layui-layer-content .layui-layer-ico{position:absolute;top:16px;left:15px;_left:-40px;width:30px;height:30px}.layui-layer-ico1{background-position:-30px 0}.layui-layer-ico2{background-position:-60px 0}.layui-layer-ico3{background-position:-90px 0}.layui-layer-ico4{background-position:-120px 0}.layui-layer-ico5{background-position:-150px 0}.layui-layer-ico6{background-position:-180px 0}.layui-layer-rim{border:6px solid #8D8D8D;border:6px solid rgba(0,0,0,.3);border-radius:5px;box-shadow:none}.layui-layer-msg{min-width:180px;border:1px solid #D3D4D3;box-shadow:none}.layui-layer-hui{min-width:100px;background-color:#000;filter:alpha(opacity=60);background-color:rgba(0,0,0,.6);color:#fff;border:none}.layui-layer-hui .layui-layer-content{padding:12px 25px;text-align:center}.layui-layer-dialog .layui-layer-padding{padding:20px 20px 20px 55px;text-align:left}.layui-layer-page .layui-layer-content{position:relative;overflow:auto}.layui-layer-iframe .layui-layer-btn,.layui-layer-page .layui-layer-btn{padding-top:10px}.layui-layer-nobg{background:0 0}.layui-layer-iframe iframe{display:block;width:100%}.layui-layer-loading{border-radius:100%;background:0 0;box-shadow:none;border:none}.layui-layer-loading .layui-layer-content{width:60px;height:24px;background:url(loading-0.gif) no-repeat}.layui-layer-loading .layui-layer-loading1{width:37px;height:37px;background:url(loading-1.gif) no-repeat}.layui-layer-ico16,.layui-layer-loading .layui-layer-loading2{width:32px;height:32px;background:url(loading-2.gif) no-repeat}.layui-layer-tips{background:0 0;box-shadow:none;border:none}.layui-layer-tips .layui-layer-content{position:relative;line-height:22px;min-width:12px;padding:8px 15px;font-size:12px;_float:left;border-radius:2px;box-shadow:1px 1px 3px rgba(0,0,0,.2);background-color:#000;color:#fff}.layui-layer-tips .layui-layer-close{right:-2px;top:-1px}.layui-layer-tips i.layui-layer-TipsG{position:absolute;width:0;height:0;border-width:8px;border-color:transparent;border-style:dashed;*overflow:hidden}.layui-layer-tips i.layui-layer-TipsB,.layui-layer-tips i.layui-layer-TipsT{left:5px;border-right-style:solid;border-right-color:#000}.layui-layer-tips i.layui-layer-TipsT{bottom:-8px}.layui-layer-tips i.layui-layer-TipsB{top:-8px}.layui-layer-tips i.layui-layer-TipsL,.layui-layer-tips i.layui-layer-TipsR{top:5px;border-bottom-style:solid;border-bottom-color:#000}.layui-layer-tips i.layui-layer-TipsR{left:-8px}.layui-layer-tips i.layui-layer-TipsL{right:-8px}.layui-layer-lan[type=dialog]{min-width:280px}.layui-layer-lan .layui-layer-title{background:#4476A7;color:#fff;border:none}.layui-layer-lan .layui-layer-btn{padding:5px 10px 10px;text-align:right;border-top:1px solid #E9E7E7}.layui-layer-lan .layui-layer-btn a{background:#fff;border-color:#E9E7E7;color:#333}.layui-layer-lan .layui-layer-btn .layui-layer-btn1{background:#C9C5C5}.layui-layer-molv .layui-layer-title{background:#009f95;color:#fff;border:none}.layui-layer-molv .layui-layer-btn a{background:#009f95;border-color:#009f95}.layui-layer-molv .layui-layer-btn .layui-layer-btn1{background:#92B8B1}.layui-layer-iconext{background:url(icon-ext.png) no-repeat}.layui-layer-prompt .layui-layer-input{display:block;width:230px;height:36px;margin:0 auto;line-height:30px;padding-left:10px;border:1px solid #e6e6e6;color:#333}.layui-layer-prompt textarea.layui-layer-input{width:300px;height:100px;line-height:20px;padding:6px 10px}.layui-layer-prompt .layui-layer-content{padding:20px}.layui-layer-prompt .layui-layer-btn{padding-top:0}.layui-layer-tab{box-shadow:1px 1px 50px rgba(0,0,0,.4)}.layui-layer-tab .layui-layer-title{padding-left:0;overflow:visible}.layui-layer-tab .layui-layer-title span{position:relative;float:left;min-width:80px;max-width:260px;padding:0 20px;text-align:center;overflow:hidden;cursor:pointer}.layui-layer-tab .layui-layer-title span.layui-this{height:43px;border-left:1px solid #eee;border-right:1px solid #eee;background-color:#fff;z-index:10}.layui-layer-tab .layui-layer-title span:first-child{border-left:none}.layui-layer-tabmain{line-height:24px;clear:both}.layui-layer-tabmain .layui-layer-tabli{display:none}.layui-layer-tabmain .layui-layer-tabli.layui-this{display:block}.layui-layer-photos{-webkit-animation-duration:.8s;animation-duration:.8s}.layui-layer-photos .layui-layer-content{overflow:hidden;text-align:center}.layui-layer-photos .layui-layer-phimg img{position:relative;width:100%;display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-imgbar,.layui-layer-imguide{display:none}.layui-layer-imgnext,.layui-layer-imgprev{position:absolute;top:50%;width:27px;_width:44px;height:44px;margin-top:-22px;outline:0;blr:expression(this.onFocus=this.blur())}.layui-layer-imgprev{left:10px;background-position:-5px -5px;_background-position:-70px -5px}.layui-layer-imgprev:hover{background-position:-33px -5px;_background-position:-120px -5px}.layui-layer-imgnext{right:10px;_right:8px;background-position:-5px -50px;_background-position:-70px -50px}.layui-layer-imgnext:hover{background-position:-33px -50px;_background-position:-120px -50px}.layui-layer-imgbar{position:absolute;left:0;bottom:0;width:100%;height:32px;line-height:32px;background-color:rgba(0,0,0,.8);background-color:#000\9;filter:Alpha(opacity=80);color:#fff;overflow:hidden;font-size:0}.layui-layer-imgtit *{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:12px}.layui-layer-imgtit a{max-width:65%;overflow:hidden;color:#fff}.layui-layer-imgtit a:hover{color:#fff;text-decoration:underline}.layui-layer-imgtit em{padding-left:10px;font-style:normal}@-webkit-keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);-ms-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-close{-webkit-animation-name:layer-bounceOut;animation-name:layer-bounceOut;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.2s;animation-duration:.2s}@media screen and (max-width:1100px){.layui-layer-iframe{overflow-y:auto;-webkit-overflow-scrolling:touch}} \ No newline at end of file diff --git a/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/font/iconfont.ttf b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/font/iconfont.ttf new file mode 100644 index 00000000..e69de29b diff --git a/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/font/iconfont.woff b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/font/iconfont.woff new file mode 100644 index 00000000..e69de29b diff --git a/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/font/iconfont.woff2 b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/font/iconfont.woff2 new file mode 100644 index 00000000..e69de29b diff --git a/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/images/face/0.gif b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/images/face/0.gif new file mode 100644 index 0000000000000000000000000000000000000000..a63f0d523561c523476e5330a0d67eb7318cb187 GIT binary patch literal 2689 zcmbVNX;c%*77h|fSVf7btRc9;2uTMBA%GGHLDVpaID<1f5|U^lkc1>iKxY6!1rbG@ zd2aAjaK>G62Sr5@Tv%lj5ZMBV%8n>ts{1vL_@3u@=Ev*PeX8o#z2E)rQq{hGY`QDg z1Y?5vfMDRklNoDFn+y1$-V+&nI?*1FjNVaKeTNKPP*>Wj%Sp)S#fb{Le6b$#p-{ol zsW=k|kKKQjucL0^f#x9i&7RS^Kv2J=HOHjvYO1<34zzKv#bH4$O z#ZFq03?oqI0iLr!jWcLn2O9kz?9&3Z4A8^@wQiuy9MsUj%i!U1H=q*1{h6R?C3x4%9Z~bY?lcTmR7j#Mw>w(q{eMOd|)qc5L4N&c* zuC#-D;)kkvpmjZHTn0Kef@(+gGxF;@#-Mq1Z|Ta0Q`*Srt;^f+@S9XnW&vKOd~B6~ zHyNOJFDSJDP5y6-g21a^k$3r^XIIl%Q@Cp@Xb*$?kBqma0hL(Ye-`v4To=x`Eyook z8;-r))qmH#x4;x0I$fJ%qOMq2{D&DbUW-iBk2QvUX!>cQSp;gFz)RlCiz^#1xfLC- z87Zj=eCi$V&2U#t-?L}$cK{g8qbIOabq>? zp4*0{8D2G6Ot>!#v2jzcD7SojpVX4O3Vsy}_iV4&YYK*PK%Fl#a&`FG zM$objsAAv_jp9{L8DlbVvx3c0C zr|Pl<9y$m2ro$@nL4nz&9SmgnEc|9WGSQyB1p-}ha92Fse?ZQ_Bctc8B-z2L2xQ`g z`dyy7!B5?H1nxhi9>_)z#2V4__X%3<%?$9NI#4tL15Xk`R&u3e$bmwRh?tD)leSzDDEKdpZ)(efVx$6cpg=B(lJNwny3Ld^ zn!A5?G^vQPVSFzWp+(__vn0Hz2!UAP$MPVdI}UsipFwe?qgixuqPS2gG&%&)Szcb= zUTn5A#oNb)?!ubF_?9i(g+_B>QeAz}{6mlrgqnM?ATOpDlj_W-In$Ej}3 z2Pdarnjc+!IX(h0dS+zk;m|-}p#C^9KK9}L=(~~Op}~RvzTUTQUiZA}?&?%^w70dk zylj5a)Y$O6zOJ^W`dL+FMR{52(=Vb2{W~l3=#j&R4*u(p-w$N$Pv5sUZBOd%l;mAIcO)flPl%8E z?bmHvV`G%jTcQ+lS)^1VjtCFiED~ zT(R75nJ?Rih87J7rZv4a|qPj4f%`NKP{w9zJutaJ^PRj7vDCX2@s-1fMsBq7R3UP)M+%4tA?D+}XvHFzz*y%L=kmCmK7^vJPkuUQkAmPS3^L3MDk2U`FtXG(OBw%kf#qS1^68svpOwv@mo8;P zDGCaXYN>-Qp0~Xx+rV_GI`^sF6U7K8(~zl=;$%)R)~gj@bP&VoMw_I4V?6f(!^$+;TlKZKNWRvr5bBw-5Huyw**;mBJ z$e)Q{?zFlcJ6(9*C`9kUZrt2~XFpTKnRkA%Zm|z`^-ujm+}lE&XVKZs-c=Znar+N+ CBC!|% literal 0 HcmV?d00001 diff --git a/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/lay/modules/element.js b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/lay/modules/element.js new file mode 100644 index 00000000..290a1e86 --- /dev/null +++ b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/lay/modules/element.js @@ -0,0 +1,2 @@ +/** layui-v2.5.6 MIT License By https://www.layui.com */ + ;layui.define("jquery",function(t){"use strict";var a=layui.$,i=(layui.hint(),layui.device()),e="element",l="layui-this",n="layui-show",s=function(){this.config={}};s.prototype.set=function(t){var i=this;return a.extend(!0,i.config,t),i},s.prototype.on=function(t,a){return layui.onevent.call(this,e,t,a)},s.prototype.tabAdd=function(t,i){var e=".layui-tab-title",l=a(".layui-tab[lay-filter="+t+"]"),n=l.children(e),s=n.children(".layui-tab-bar"),o=l.children(".layui-tab-content"),r='
  • "+(i.title||"unnaming")+"
  • ";return s[0]?s.before(r):n.append(r),o.append('
    '+(i.content||"")+"
    "),f.hideTabMore(!0),f.tabAuto(),this},s.prototype.tabDelete=function(t,i){var e=".layui-tab-title",l=a(".layui-tab[lay-filter="+t+"]"),n=l.children(e),s=n.find('>li[lay-id="'+i+'"]');return f.tabDelete(null,s),this},s.prototype.tabChange=function(t,i){var e=".layui-tab-title",l=a(".layui-tab[lay-filter="+t+"]"),n=l.children(e),s=n.find('>li[lay-id="'+i+'"]');return f.tabClick.call(s[0],null,null,s),this},s.prototype.tab=function(t){t=t||{},b.on("click",t.headerElem,function(i){var e=a(this).index();f.tabClick.call(this,i,e,null,t)})},s.prototype.progress=function(t,i){var e="layui-progress",l=a("."+e+"[lay-filter="+t+"]"),n=l.find("."+e+"-bar"),s=n.find("."+e+"-text");return n.css("width",i),s.text(i),this};var o=".layui-nav",r="layui-nav-item",c="layui-nav-bar",u="layui-nav-tree",d="layui-nav-child",y="layui-nav-more",h="layui-anim layui-anim-upbit",f={tabClick:function(t,i,s,o){o=o||{};var r=s||a(this),i=i||r.parent().children("li").index(r),c=o.headerElem?r.parent():r.parents(".layui-tab").eq(0),u=o.bodyElem?a(o.bodyElem):c.children(".layui-tab-content").children(".layui-tab-item"),d=r.find("a"),y=c.attr("lay-filter");"javascript:;"!==d.attr("href")&&"_blank"===d.attr("target")||(r.addClass(l).siblings().removeClass(l),u.eq(i).addClass(n).siblings().removeClass(n)),layui.event.call(this,e,"tab("+y+")",{elem:c,index:i})},tabDelete:function(t,i){var n=i||a(this).parent(),s=n.index(),o=n.parents(".layui-tab").eq(0),r=o.children(".layui-tab-content").children(".layui-tab-item"),c=o.attr("lay-filter");n.hasClass(l)&&(n.next()[0]?f.tabClick.call(n.next()[0],null,s+1):n.prev()[0]&&f.tabClick.call(n.prev()[0],null,s-1)),n.remove(),r.eq(s).remove(),setTimeout(function(){f.tabAuto()},50),layui.event.call(this,e,"tabDelete("+c+")",{elem:o,index:s})},tabAuto:function(){var t="layui-tab-more",e="layui-tab-bar",l="layui-tab-close",n=this;a(".layui-tab").each(function(){var s=a(this),o=s.children(".layui-tab-title"),r=(s.children(".layui-tab-content").children(".layui-tab-item"),'lay-stope="tabmore"'),c=a('');if(n===window&&8!=i.ie&&f.hideTabMore(!0),s.attr("lay-allowClose")&&o.find("li").each(function(){var t=a(this);if(!t.find("."+l)[0]){var i=a('');i.on("click",f.tabDelete),t.append(i)}}),"string"!=typeof s.attr("lay-unauto"))if(o.prop("scrollWidth")>o.outerWidth()+1){if(o.find("."+e)[0])return;o.append(c),s.attr("overflow",""),c.on("click",function(a){o[this.title?"removeClass":"addClass"](t),this.title=this.title?"":"收缩"})}else o.find("."+e).remove(),s.removeAttr("overflow")})},hideTabMore:function(t){var i=a(".layui-tab-title");t!==!0&&"tabmore"===a(t.target).attr("lay-stope")||(i.removeClass("layui-tab-more"),i.find(".layui-tab-bar").attr("title",""))},clickThis:function(){var t=a(this),i=t.parents(o),n=i.attr("lay-filter"),s=t.parent(),c=t.siblings("."+d),y="string"==typeof s.attr("lay-unselect");"javascript:;"!==t.attr("href")&&"_blank"===t.attr("target")||y||c[0]||(i.find("."+l).removeClass(l),s.addClass(l)),i.hasClass(u)&&(c.removeClass(h),c[0]&&(s["none"===c.css("display")?"addClass":"removeClass"](r+"ed"),"all"===i.attr("lay-shrink")&&s.siblings().removeClass(r+"ed"))),layui.event.call(this,e,"nav("+n+")",t)},collapse:function(){var t=a(this),i=t.find(".layui-colla-icon"),l=t.siblings(".layui-colla-content"),s=t.parents(".layui-collapse").eq(0),o=s.attr("lay-filter"),r="none"===l.css("display");if("string"==typeof s.attr("lay-accordion")){var c=s.children(".layui-colla-item").children("."+n);c.siblings(".layui-colla-title").children(".layui-colla-icon").html(""),c.removeClass(n)}l[r?"addClass":"removeClass"](n),i.html(r?"":""),layui.event.call(this,e,"collapse("+o+")",{title:t,content:l,show:r})}};s.prototype.init=function(t,e){var l=function(){return e?'[lay-filter="'+e+'"]':""}(),s={tab:function(){f.tabAuto.call({})},nav:function(){var t=200,e={},s={},p={},b=function(l,o,r){var c=a(this),f=c.find("."+d);o.hasClass(u)?l.css({top:c.position().top,height:c.children("a").outerHeight(),opacity:1}):(f.addClass(h),l.css({left:c.position().left+parseFloat(c.css("marginLeft")),top:c.position().top+c.height()-l.height()}),e[r]=setTimeout(function(){l.css({width:c.width(),opacity:1})},i.ie&&i.ie<10?0:t),clearTimeout(p[r]),"block"===f.css("display")&&clearTimeout(s[r]),s[r]=setTimeout(function(){f.addClass(n),c.find("."+y).addClass(y+"d")},300))};a(o+l).each(function(i){var l=a(this),o=a(''),h=l.find("."+r);l.find("."+c)[0]||(l.append(o),h.on("mouseenter",function(){b.call(this,o,l,i)}).on("mouseleave",function(){l.hasClass(u)||(clearTimeout(s[i]),s[i]=setTimeout(function(){l.find("."+d).removeClass(n),l.find("."+y).removeClass(y+"d")},300))}),l.on("mouseleave",function(){clearTimeout(e[i]),p[i]=setTimeout(function(){l.hasClass(u)?o.css({height:0,top:o.position().top+o.height()/2,opacity:0}):o.css({width:0,left:o.position().left+o.width()/2,opacity:0})},t)})),h.find("a").each(function(){var t=a(this),i=(t.parent(),t.siblings("."+d));i[0]&&!t.children("."+y)[0]&&t.append(''),t.off("click",f.clickThis).on("click",f.clickThis)})})},breadcrumb:function(){var t=".layui-breadcrumb";a(t+l).each(function(){var t=a(this),i="lay-separator",e=t.attr(i)||"/",l=t.find("a");l.next("span["+i+"]")[0]||(l.each(function(t){t!==l.length-1&&a(this).after(""+e+"")}),t.css("visibility","visible"))})},progress:function(){var t="layui-progress";a("."+t+l).each(function(){var i=a(this),e=i.find(".layui-progress-bar"),l=e.attr("lay-percent");e.css("width",function(){return/^.+\/.+$/.test(l)?100*new Function("return "+l)()+"%":l}()),i.attr("lay-showPercent")&&setTimeout(function(){e.html(''+l+"")},350)})},collapse:function(){var t="layui-collapse";a("."+t+l).each(function(){var t=a(this).find(".layui-colla-item");t.each(function(){var t=a(this),i=t.find(".layui-colla-title"),e=t.find(".layui-colla-content"),l="none"===e.css("display");i.find(".layui-colla-icon").remove(),i.append(''+(l?"":"")+""),i.off("click",f.collapse).on("click",f.collapse)})})}};return s[t]?s[t]():layui.each(s,function(t,a){a()})},s.prototype.render=s.prototype.init;var p=new s,b=a(document);p.render();var v=".layui-tab-title li";b.on("click",v,f.tabClick),b.on("click",f.hideTabMore),a(window).on("resize",f.tabAuto),t(e,p)}); \ No newline at end of file diff --git a/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/lay/modules/form.js b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/lay/modules/form.js new file mode 100644 index 00000000..818dd39c --- /dev/null +++ b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/lay/modules/form.js @@ -0,0 +1,2 @@ +/** layui-v2.5.6 MIT License By https://www.layui.com */ + ;layui.define("layer",function(e){"use strict";var t=layui.$,i=layui.layer,a=layui.hint(),n=layui.device(),l="form",r=".layui-form",s="layui-this",o="layui-hide",c="layui-disabled",u=function(){this.config={verify:{required:[/[\S]+/,"必填项不能为空"],phone:[/^1\d{10}$/,"请输入正确的手机号"],email:[/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,"邮箱格式不正确"],url:[/(^#)|(^http(s*):\/\/[^\s]+\.[^\s]+)/,"链接格式不正确"],number:function(e){if(!e||isNaN(e))return"只能填写数字"},date:[/^(\d{4})[-\/](\d{1}|0\d{1}|1[0-2])([-\/](\d{1}|0\d{1}|[1-2][0-9]|3[0-1]))*$/,"日期格式不正确"],identity:[/(^\d{15}$)|(^\d{17}(x|X|\d)$)/,"请输入正确的身份证号"]}}};u.prototype.set=function(e){var i=this;return t.extend(!0,i.config,e),i},u.prototype.verify=function(e){var i=this;return t.extend(!0,i.config.verify,e),i},u.prototype.on=function(e,t){return layui.onevent.call(this,l,e,t)},u.prototype.val=function(e,i){var a=this,n=t(r+'[lay-filter="'+e+'"]');return n.each(function(e,a){var n=t(this);layui.each(i,function(e,t){var i,a=n.find('[name="'+e+'"]');a[0]&&(i=a[0].type,"checkbox"===i?a[0].checked=t:"radio"===i?a.each(function(){this.value==t&&(this.checked=!0)}):a.val(t))})}),f.render(null,e),a.getValue(e)},u.prototype.getValue=function(e,i){i=i||t(r+'[lay-filter="'+e+'"]').eq(0);var a={},n={},l=i.find("input,select,textarea");return layui.each(l,function(e,t){if(t.name=(t.name||"").replace(/^\s*|\s*&/,""),t.name){if(/^.*\[\]$/.test(t.name)){var i=t.name.match(/^(.*)\[\]$/g)[0];a[i]=0|a[i],t.name=t.name.replace(/^(.*)\[\]$/,"$1["+a[i]++ +"]")}/^checkbox|radio$/.test(t.type)&&!t.checked||(n[t.name]=t.value)}}),n},u.prototype.render=function(e,i){var n=this,u=t(r+function(){return i?'[lay-filter="'+i+'"]':""}()),d={select:function(){var e,i="请选择",a="layui-form-select",n="layui-select-title",r="layui-select-none",d="",f=u.find("select"),v=function(i,l){t(i.target).parent().hasClass(n)&&!l||(t("."+a).removeClass(a+"ed "+a+"up"),e&&d&&e.val(d)),e=null},y=function(i,u,f){var y,p=t(this),m=i.find("."+n),k=m.find("input"),g=i.find("dl"),x=g.children("dd"),b=this.selectedIndex;if(!u){var C=function(){var e=i.offset().top+i.outerHeight()+5-h.scrollTop(),t=g.outerHeight();b=p[0].selectedIndex,i.addClass(a+"ed"),x.removeClass(o),y=null,x.eq(b).addClass(s).siblings().removeClass(s),e+t>h.height()&&e>=t&&i.addClass(a+"up"),T()},w=function(e){i.removeClass(a+"ed "+a+"up"),k.blur(),y=null,e||$(k.val(),function(e){var i=p[0].selectedIndex;e&&(d=t(p[0].options[i]).html(),0===i&&d===k.attr("placeholder")&&(d=""),k.val(d||""))})},T=function(){var e=g.children("dd."+s);if(e[0]){var t=e.position().top,i=g.height(),a=e.height();t>i&&g.scrollTop(t+g.scrollTop()-i+a-5),t<0&&g.scrollTop(t+g.scrollTop()-5)}};m.on("click",function(e){i.hasClass(a+"ed")?w():(v(e,!0),C()),g.find("."+r).remove()}),m.find(".layui-edge").on("click",function(){k.focus()}),k.on("keyup",function(e){var t=e.keyCode;9===t&&C()}).on("keydown",function(e){var t=e.keyCode;9===t&&w();var i=function(t,a){var n,l;e.preventDefault();var r=function(){var e=g.children("dd."+s);if(g.children("dd."+o)[0]&&"next"===t){var i=g.children("dd:not(."+o+",."+c+")"),n=i.eq(0).index();if(n>=0&&n无匹配项

    '):g.find("."+r).remove()},"keyup"),""===t&&g.find("."+r).remove(),void T())};f&&k.on("keyup",q).on("blur",function(i){var a=p[0].selectedIndex;e=k,d=t(p[0].options[a]).html(),0===a&&d===k.attr("placeholder")&&(d=""),setTimeout(function(){$(k.val(),function(e){d||k.val("")},"blur")},200)}),x.on("click",function(){var e=t(this),a=e.attr("lay-value"),n=p.attr("lay-filter");return!e.hasClass(c)&&(e.hasClass("layui-select-tips")?k.val(""):(k.val(e.text()),e.addClass(s)),e.siblings().removeClass(s),p.val(a).removeClass("layui-form-danger"),layui.event.call(this,l,"select("+n+")",{elem:p[0],value:a,othis:i}),w(!0),!1)}),i.find("dl>dt").on("click",function(e){return!1}),t(document).off("click",v).on("click",v)}};f.each(function(e,l){var r=t(this),o=r.next("."+a),u=this.disabled,d=l.value,f=t(l.options[l.selectedIndex]),v=l.options[0];if("string"==typeof r.attr("lay-ignore"))return r.show();var h="string"==typeof r.attr("lay-search"),p=v?v.value?i:v.innerHTML||i:i,m=t(['
    ','
    ','','
    ','
    ',function(e){var t=[];return layui.each(e,function(e,a){0!==e||a.value?"optgroup"===a.tagName.toLowerCase()?t.push("
    "+a.label+"
    "):t.push('
    '+a.innerHTML+"
    "):t.push('
    '+(a.innerHTML||i)+"
    ")}),0===t.length&&t.push('
    没有选项
    '),t.join("")}(r.find("*"))+"
    ","
    "].join(""));o[0]&&o.remove(),r.after(m),y.call(this,m,u,h)})},checkbox:function(){var e={checkbox:["layui-form-checkbox","layui-form-checked","checkbox"],_switch:["layui-form-switch","layui-form-onswitch","switch"]},i=u.find("input[type=checkbox]"),a=function(e,i){var a=t(this);e.on("click",function(){var t=a.attr("lay-filter"),n=(a.attr("lay-text")||"").split("|");a[0].disabled||(a[0].checked?(a[0].checked=!1,e.removeClass(i[1]).find("em").text(n[1])):(a[0].checked=!0,e.addClass(i[1]).find("em").text(n[0])),layui.event.call(a[0],l,i[2]+"("+t+")",{elem:a[0],value:a[0].value,othis:e}))})};i.each(function(i,n){var l=t(this),r=l.attr("lay-skin"),s=(l.attr("lay-text")||"").split("|"),o=this.disabled;"switch"===r&&(r="_"+r);var u=e[r]||e.checkbox;if("string"==typeof l.attr("lay-ignore"))return l.show();var d=l.next("."+u[0]),f=t(['
    ",function(){var e=n.title.replace(/\s/g,""),t={checkbox:[e?""+n.title+"":"",''].join(""),_switch:""+((n.checked?s[0]:s[1])||"")+""};return t[r]||t.checkbox}(),"
    "].join(""));d[0]&&d.remove(),l.after(f),a.call(this,f,u)})},radio:function(){var e="layui-form-radio",i=["",""],a=u.find("input[type=radio]"),n=function(a){var n=t(this),s="layui-anim-scaleSpring";a.on("click",function(){var o=n[0].name,c=n.parents(r),u=n.attr("lay-filter"),d=c.find("input[name="+o.replace(/(\.|#|\[|\])/g,"\\$1")+"]");n[0].disabled||(layui.each(d,function(){var a=t(this).next("."+e);this.checked=!1,a.removeClass(e+"ed"),a.find(".layui-icon").removeClass(s).html(i[1])}),n[0].checked=!0,a.addClass(e+"ed"),a.find(".layui-icon").addClass(s).html(i[0]),layui.event.call(n[0],l,"radio("+u+")",{elem:n[0],value:n[0].value,othis:a}))})};a.each(function(a,l){var r=t(this),s=r.next("."+e),o=this.disabled;if("string"==typeof r.attr("lay-ignore"))return r.show();s[0]&&s.remove();var u=t(['
    ',''+i[l.checked?0:1]+"","
    "+function(){var e=l.title||"";return"string"==typeof r.next().attr("lay-radio")&&(e=r.next().html(),r.next().remove()),e}()+"
    ","
    "].join(""));r.after(u),n.call(this,u)})}};return e?d[e]?d[e]():a.error("不支持的"+e+"表单渲染"):layui.each(d,function(e,t){t()}),n};var d=function(){var e=null,a=f.config.verify,s="layui-form-danger",o={},c=t(this),u=c.parents(r),d=u.find("*[lay-verify]"),v=c.parents("form")[0],h=c.attr("lay-filter");return layui.each(d,function(l,r){var o=t(this),c=o.attr("lay-verify").split("|"),u=o.attr("lay-verType"),d=o.val();if(o.removeClass(s),layui.each(c,function(t,l){var c,f="",v="function"==typeof a[l];if(a[l]){var c=v?f=a[l](d,r):!a[l][0].test(d);if(f=f||a[l][1],"required"===l&&(f=o.attr("lay-reqText")||f),c)return"tips"===u?i.tips(f,function(){return"string"==typeof o.attr("lay-ignore")||"select"!==r.tagName.toLowerCase()&&!/^checkbox|radio$/.test(r.type)?o:o.next()}(),{tips:1}):"alert"===u?i.alert(f,{title:"提示",shadeClose:!0}):i.msg(f,{icon:5,shift:6}),n.android||n.ios||setTimeout(function(){r.focus()},7),o.addClass(s),e=!0}}),e)return e}),!e&&(o=f.getValue(null,u),layui.event.call(this,l,"submit("+h+")",{elem:this,form:v,field:o}))},f=new u,v=t(document),h=t(window);f.render(),v.on("reset",r,function(){var e=t(this).attr("lay-filter");setTimeout(function(){f.render(null,e)},50)}),v.on("submit",r,d).on("click","*[lay-submit]",d),e(l,f)}); \ No newline at end of file diff --git a/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/lay/modules/layer.js b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/lay/modules/layer.js new file mode 100644 index 00000000..03e780cb --- /dev/null +++ b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/lay/modules/layer.js @@ -0,0 +1,2 @@ +/** layui-v2.5.6 MIT License By https://www.layui.com */ + ;!function(e,t){"use strict";var i,n,a=e.layui&&layui.define,o={getPath:function(){var e=document.currentScript?document.currentScript.src:function(){for(var e,t=document.scripts,i=t.length-1,n=i;n>0;n--)if("interactive"===t[n].readyState){e=t[n].src;break}return e||t[i].src}();return e.substring(0,e.lastIndexOf("/")+1)}(),config:{},end:{},minIndex:0,minLeft:[],btn:["确定","取消"],type:["dialog","page","iframe","loading","tips"],getStyle:function(t,i){var n=t.currentStyle?t.currentStyle:e.getComputedStyle(t,null);return n[n.getPropertyValue?"getPropertyValue":"getAttribute"](i)},link:function(t,i,n){if(r.path){var a=document.getElementsByTagName("head")[0],s=document.createElement("link");"string"==typeof i&&(n=i);var l=(n||t).replace(/\.|\//g,""),f="layuicss-"+l,c=0;s.rel="stylesheet",s.href=r.path+t,s.id=f,document.getElementById(f)||a.appendChild(s),"function"==typeof i&&!function u(){return++c>80?e.console&&console.error("layer.css: Invalid"):void(1989===parseInt(o.getStyle(document.getElementById(f),"width"))?i():setTimeout(u,100))}()}}},r={v:"3.1.1",ie:function(){var t=navigator.userAgent.toLowerCase();return!!(e.ActiveXObject||"ActiveXObject"in e)&&((t.match(/msie\s(\d+)/)||[])[1]||"11")}(),index:e.layer&&e.layer.v?1e5:0,path:o.getPath,config:function(e,t){return e=e||{},r.cache=o.config=i.extend({},o.config,e),r.path=o.config.path||r.path,"string"==typeof e.extend&&(e.extend=[e.extend]),o.config.path&&r.ready(),e.extend?(a?layui.addcss("modules/layer/"+e.extend):o.link("theme/"+e.extend),this):this},ready:function(e){var t="layer",i="",n=(a?"modules/layer/":"theme/")+"default/layer.css?v="+r.v+i;return a?layui.addcss(n,e,t):o.link(n,e,t),this},alert:function(e,t,n){var a="function"==typeof t;return a&&(n=t),r.open(i.extend({content:e,yes:n},a?{}:t))},confirm:function(e,t,n,a){var s="function"==typeof t;return s&&(a=n,n=t),r.open(i.extend({content:e,btn:o.btn,yes:n,btn2:a},s?{}:t))},msg:function(e,n,a){var s="function"==typeof n,f=o.config.skin,c=(f?f+" "+f+"-msg":"")||"layui-layer-msg",u=l.anim.length-1;return s&&(a=n),r.open(i.extend({content:e,time:3e3,shade:!1,skin:c,title:!1,closeBtn:!1,btn:!1,resize:!1,end:a},s&&!o.config.skin?{skin:c+" layui-layer-hui",anim:u}:function(){return n=n||{},(n.icon===-1||n.icon===t&&!o.config.skin)&&(n.skin=c+" "+(n.skin||"layui-layer-hui")),n}()))},load:function(e,t){return r.open(i.extend({type:3,icon:e||0,resize:!1,shade:.01},t))},tips:function(e,t,n){return r.open(i.extend({type:4,content:[e,t],closeBtn:!1,time:3e3,shade:!1,resize:!1,fixed:!1,maxWidth:210},n))}},s=function(e){var t=this;t.index=++r.index,t.config=i.extend({},t.config,o.config,e),document.body?t.creat():setTimeout(function(){t.creat()},30)};s.pt=s.prototype;var l=["layui-layer",".layui-layer-title",".layui-layer-main",".layui-layer-dialog","layui-layer-iframe","layui-layer-content","layui-layer-btn","layui-layer-close"];l.anim=["layer-anim-00","layer-anim-01","layer-anim-02","layer-anim-03","layer-anim-04","layer-anim-05","layer-anim-06"],s.pt.config={type:0,shade:.3,fixed:!0,move:l[1],title:"信息",offset:"auto",area:"auto",closeBtn:1,time:0,zIndex:19891014,maxWidth:360,anim:0,isOutAnim:!0,icon:-1,moveType:1,resize:!0,scrollbar:!0,tips:2},s.pt.vessel=function(e,t){var n=this,a=n.index,r=n.config,s=r.zIndex+a,f="object"==typeof r.title,c=r.maxmin&&(1===r.type||2===r.type),u=r.title?'
    '+(f?r.title[0]:r.title)+"
    ":"";return r.zIndex=s,t([r.shade?'
    ':"",'
    '+(e&&2!=r.type?"":u)+'
    '+(0==r.type&&r.icon!==-1?'':"")+(1==r.type&&e?"":r.content||"")+'
    '+function(){var e=c?'
    ':"";return r.closeBtn&&(e+=''),e}()+""+(r.btn?function(){var e="";"string"==typeof r.btn&&(r.btn=[r.btn]);for(var t=0,i=r.btn.length;t'+r.btn[t]+"";return'
    '+e+"
    "}():"")+(r.resize?'':"")+"
    "],u,i('
    ')),n},s.pt.creat=function(){var e=this,t=e.config,a=e.index,s=t.content,f="object"==typeof s,c=i("body");if(!t.id||!i("#"+t.id)[0]){switch("string"==typeof t.area&&(t.area="auto"===t.area?["",""]:[t.area,""]),t.shift&&(t.anim=t.shift),6==r.ie&&(t.fixed=!1),t.type){case 0:t.btn="btn"in t?t.btn:o.btn[0],r.closeAll("dialog");break;case 2:var s=t.content=f?t.content:[t.content||"","auto"];t.content='';break;case 3:delete t.title,delete t.closeBtn,t.icon===-1&&0===t.icon,r.closeAll("loading");break;case 4:f||(t.content=[t.content,"body"]),t.follow=t.content[1],t.content=t.content[0]+'',delete t.title,t.tips="object"==typeof t.tips?t.tips:[t.tips,!0],t.tipsMore||r.closeAll("tips")}if(e.vessel(f,function(n,r,u){c.append(n[0]),f?function(){2==t.type||4==t.type?function(){i("body").append(n[1])}():function(){s.parents("."+l[0])[0]||(s.data("display",s.css("display")).show().addClass("layui-layer-wrap").wrap(n[1]),i("#"+l[0]+a).find("."+l[5]).before(r))}()}():c.append(n[1]),i(".layui-layer-move")[0]||c.append(o.moveElem=u),e.layero=i("#"+l[0]+a),t.scrollbar||l.html.css("overflow","hidden").attr("layer-full",a)}).auto(a),i("#layui-layer-shade"+e.index).css({"background-color":t.shade[1]||"#000",opacity:t.shade[0]||t.shade}),2==t.type&&6==r.ie&&e.layero.find("iframe").attr("src",s[0]),4==t.type?e.tips():e.offset(),t.fixed&&n.on("resize",function(){e.offset(),(/^\d+%$/.test(t.area[0])||/^\d+%$/.test(t.area[1]))&&e.auto(a),4==t.type&&e.tips()}),t.time<=0||setTimeout(function(){r.close(e.index)},t.time),e.move().callback(),l.anim[t.anim]){var u="layer-anim "+l.anim[t.anim];e.layero.addClass(u).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",function(){i(this).removeClass(u)})}t.isOutAnim&&e.layero.data("isOutAnim",!0)}},s.pt.auto=function(e){var t=this,a=t.config,o=i("#"+l[0]+e);""===a.area[0]&&a.maxWidth>0&&(r.ie&&r.ie<8&&a.btn&&o.width(o.innerWidth()),o.outerWidth()>a.maxWidth&&o.width(a.maxWidth));var s=[o.innerWidth(),o.innerHeight()],f=o.find(l[1]).outerHeight()||0,c=o.find("."+l[6]).outerHeight()||0,u=function(e){e=o.find(e),e.height(s[1]-f-c-2*(0|parseFloat(e.css("padding-top"))))};switch(a.type){case 2:u("iframe");break;default:""===a.area[1]?a.maxHeight>0&&o.outerHeight()>a.maxHeight?(s[1]=a.maxHeight,u("."+l[5])):a.fixed&&s[1]>=n.height()&&(s[1]=n.height(),u("."+l[5])):u("."+l[5])}return t},s.pt.offset=function(){var e=this,t=e.config,i=e.layero,a=[i.outerWidth(),i.outerHeight()],o="object"==typeof t.offset;e.offsetTop=(n.height()-a[1])/2,e.offsetLeft=(n.width()-a[0])/2,o?(e.offsetTop=t.offset[0],e.offsetLeft=t.offset[1]||e.offsetLeft):"auto"!==t.offset&&("t"===t.offset?e.offsetTop=0:"r"===t.offset?e.offsetLeft=n.width()-a[0]:"b"===t.offset?e.offsetTop=n.height()-a[1]:"l"===t.offset?e.offsetLeft=0:"lt"===t.offset?(e.offsetTop=0,e.offsetLeft=0):"lb"===t.offset?(e.offsetTop=n.height()-a[1],e.offsetLeft=0):"rt"===t.offset?(e.offsetTop=0,e.offsetLeft=n.width()-a[0]):"rb"===t.offset?(e.offsetTop=n.height()-a[1],e.offsetLeft=n.width()-a[0]):e.offsetTop=t.offset),t.fixed||(e.offsetTop=/%$/.test(e.offsetTop)?n.height()*parseFloat(e.offsetTop)/100:parseFloat(e.offsetTop),e.offsetLeft=/%$/.test(e.offsetLeft)?n.width()*parseFloat(e.offsetLeft)/100:parseFloat(e.offsetLeft),e.offsetTop+=n.scrollTop(),e.offsetLeft+=n.scrollLeft()),i.attr("minLeft")&&(e.offsetTop=n.height()-(i.find(l[1]).outerHeight()||0),e.offsetLeft=i.css("left")),i.css({top:e.offsetTop,left:e.offsetLeft})},s.pt.tips=function(){var e=this,t=e.config,a=e.layero,o=[a.outerWidth(),a.outerHeight()],r=i(t.follow);r[0]||(r=i("body"));var s={width:r.outerWidth(),height:r.outerHeight(),top:r.offset().top,left:r.offset().left},f=a.find(".layui-layer-TipsG"),c=t.tips[0];t.tips[1]||f.remove(),s.autoLeft=function(){s.left+o[0]-n.width()>0?(s.tipLeft=s.left+s.width-o[0],f.css({right:12,left:"auto"})):s.tipLeft=s.left},s.where=[function(){s.autoLeft(),s.tipTop=s.top-o[1]-10,f.removeClass("layui-layer-TipsB").addClass("layui-layer-TipsT").css("border-right-color",t.tips[1])},function(){s.tipLeft=s.left+s.width+10,s.tipTop=s.top,f.removeClass("layui-layer-TipsL").addClass("layui-layer-TipsR").css("border-bottom-color",t.tips[1])},function(){s.autoLeft(),s.tipTop=s.top+s.height+10,f.removeClass("layui-layer-TipsT").addClass("layui-layer-TipsB").css("border-right-color",t.tips[1])},function(){s.tipLeft=s.left-o[0]-10,s.tipTop=s.top,f.removeClass("layui-layer-TipsR").addClass("layui-layer-TipsL").css("border-bottom-color",t.tips[1])}],s.where[c-1](),1===c?s.top-(n.scrollTop()+o[1]+16)<0&&s.where[2]():2===c?n.width()-(s.left+s.width+o[0]+16)>0||s.where[3]():3===c?s.top-n.scrollTop()+s.height+o[1]+16-n.height()>0&&s.where[0]():4===c&&o[0]+16-s.left>0&&s.where[1](),a.find("."+l[5]).css({"background-color":t.tips[1],"padding-right":t.closeBtn?"30px":""}),a.css({left:s.tipLeft-(t.fixed?n.scrollLeft():0),top:s.tipTop-(t.fixed?n.scrollTop():0)})},s.pt.move=function(){var e=this,t=e.config,a=i(document),s=e.layero,l=s.find(t.move),f=s.find(".layui-layer-resize"),c={};return t.move&&l.css("cursor","move"),l.on("mousedown",function(e){e.preventDefault(),t.move&&(c.moveStart=!0,c.offset=[e.clientX-parseFloat(s.css("left")),e.clientY-parseFloat(s.css("top"))],o.moveElem.css("cursor","move").show())}),f.on("mousedown",function(e){e.preventDefault(),c.resizeStart=!0,c.offset=[e.clientX,e.clientY],c.area=[s.outerWidth(),s.outerHeight()],o.moveElem.css("cursor","se-resize").show()}),a.on("mousemove",function(i){if(c.moveStart){var a=i.clientX-c.offset[0],o=i.clientY-c.offset[1],l="fixed"===s.css("position");if(i.preventDefault(),c.stX=l?0:n.scrollLeft(),c.stY=l?0:n.scrollTop(),!t.moveOut){var f=n.width()-s.outerWidth()+c.stX,u=n.height()-s.outerHeight()+c.stY;af&&(a=f),ou&&(o=u)}s.css({left:a,top:o})}if(t.resize&&c.resizeStart){var a=i.clientX-c.offset[0],o=i.clientY-c.offset[1];i.preventDefault(),r.style(e.index,{width:c.area[0]+a,height:c.area[1]+o}),c.isResize=!0,t.resizing&&t.resizing(s)}}).on("mouseup",function(e){c.moveStart&&(delete c.moveStart,o.moveElem.hide(),t.moveEnd&&t.moveEnd(s)),c.resizeStart&&(delete c.resizeStart,o.moveElem.hide())}),e},s.pt.callback=function(){function e(){var e=a.cancel&&a.cancel(t.index,n);e===!1||r.close(t.index)}var t=this,n=t.layero,a=t.config;t.openLayer(),a.success&&(2==a.type?n.find("iframe").on("load",function(){a.success(n,t.index)}):a.success(n,t.index)),6==r.ie&&t.IE6(n),n.find("."+l[6]).children("a").on("click",function(){var e=i(this).index();if(0===e)a.yes?a.yes(t.index,n):a.btn1?a.btn1(t.index,n):r.close(t.index);else{var o=a["btn"+(e+1)]&&a["btn"+(e+1)](t.index,n);o===!1||r.close(t.index)}}),n.find("."+l[7]).on("click",e),a.shadeClose&&i("#layui-layer-shade"+t.index).on("click",function(){r.close(t.index)}),n.find(".layui-layer-min").on("click",function(){var e=a.min&&a.min(n);e===!1||r.min(t.index,a)}),n.find(".layui-layer-max").on("click",function(){i(this).hasClass("layui-layer-maxmin")?(r.restore(t.index),a.restore&&a.restore(n)):(r.full(t.index,a),setTimeout(function(){a.full&&a.full(n)},100))}),a.end&&(o.end[t.index]=a.end)},o.reselect=function(){i.each(i("select"),function(e,t){var n=i(this);n.parents("."+l[0])[0]||1==n.attr("layer")&&i("."+l[0]).length<1&&n.removeAttr("layer").show(),n=null})},s.pt.IE6=function(e){i("select").each(function(e,t){var n=i(this);n.parents("."+l[0])[0]||"none"===n.css("display")||n.attr({layer:"1"}).hide(),n=null})},s.pt.openLayer=function(){var e=this;r.zIndex=e.config.zIndex,r.setTop=function(e){var t=function(){r.zIndex++,e.css("z-index",r.zIndex+1)};return r.zIndex=parseInt(e[0].style.zIndex),e.on("mousedown",t),r.zIndex}},o.record=function(e){var t=[e.width(),e.height(),e.position().top,e.position().left+parseFloat(e.css("margin-left"))];e.find(".layui-layer-max").addClass("layui-layer-maxmin"),e.attr({area:t})},o.rescollbar=function(e){l.html.attr("layer-full")==e&&(l.html[0].style.removeProperty?l.html[0].style.removeProperty("overflow"):l.html[0].style.removeAttribute("overflow"),l.html.removeAttr("layer-full"))},e.layer=r,r.getChildFrame=function(e,t){return t=t||i("."+l[4]).attr("times"),i("#"+l[0]+t).find("iframe").contents().find(e)},r.getFrameIndex=function(e){return i("#"+e).parents("."+l[4]).attr("times")},r.iframeAuto=function(e){if(e){var t=r.getChildFrame("html",e).outerHeight(),n=i("#"+l[0]+e),a=n.find(l[1]).outerHeight()||0,o=n.find("."+l[6]).outerHeight()||0;n.css({height:t+a+o}),n.find("iframe").css({height:t})}},r.iframeSrc=function(e,t){i("#"+l[0]+e).find("iframe").attr("src",t)},r.style=function(e,t,n){var a=i("#"+l[0]+e),r=a.find(".layui-layer-content"),s=a.attr("type"),f=a.find(l[1]).outerHeight()||0,c=a.find("."+l[6]).outerHeight()||0;a.attr("minLeft");s!==o.type[3]&&s!==o.type[4]&&(n||(parseFloat(t.width)<=260&&(t.width=260),parseFloat(t.height)-f-c<=64&&(t.height=64+f+c)),a.css(t),c=a.find("."+l[6]).outerHeight(),s===o.type[2]?a.find("iframe").css({height:parseFloat(t.height)-f-c}):r.css({height:parseFloat(t.height)-f-c-parseFloat(r.css("padding-top"))-parseFloat(r.css("padding-bottom"))}))},r.min=function(e,t){var a=i("#"+l[0]+e),s=a.find(l[1]).outerHeight()||0,f=a.attr("minLeft")||181*o.minIndex+"px",c=a.css("position");o.record(a),o.minLeft[0]&&(f=o.minLeft[0],o.minLeft.shift()),a.attr("position",c),r.style(e,{width:180,height:s,left:f,top:n.height()-s,position:"fixed",overflow:"hidden"},!0),a.find(".layui-layer-min").hide(),"page"===a.attr("type")&&a.find(l[4]).hide(),o.rescollbar(e),a.attr("minLeft")||o.minIndex++,a.attr("minLeft",f)},r.restore=function(e){var t=i("#"+l[0]+e),n=t.attr("area").split(",");t.attr("type");r.style(e,{width:parseFloat(n[0]),height:parseFloat(n[1]),top:parseFloat(n[2]),left:parseFloat(n[3]),position:t.attr("position"),overflow:"visible"},!0),t.find(".layui-layer-max").removeClass("layui-layer-maxmin"),t.find(".layui-layer-min").show(),"page"===t.attr("type")&&t.find(l[4]).show(),o.rescollbar(e)},r.full=function(e){var t,a=i("#"+l[0]+e);o.record(a),l.html.attr("layer-full")||l.html.css("overflow","hidden").attr("layer-full",e),clearTimeout(t),t=setTimeout(function(){var t="fixed"===a.css("position");r.style(e,{top:t?0:n.scrollTop(),left:t?0:n.scrollLeft(),width:n.width(),height:n.height()},!0),a.find(".layui-layer-min").hide()},100)},r.title=function(e,t){var n=i("#"+l[0]+(t||r.index)).find(l[1]);n.html(e)},r.close=function(e){var t=i("#"+l[0]+e),n=t.attr("type"),a="layer-anim-close";if(t[0]){var s="layui-layer-wrap",f=function(){if(n===o.type[1]&&"object"===t.attr("conType")){t.children(":not(."+l[5]+")").remove();for(var a=t.find("."+s),r=0;r<2;r++)a.unwrap();a.css("display",a.data("display")).removeClass(s)}else{if(n===o.type[2])try{var f=i("#"+l[4]+e)[0];f.contentWindow.document.write(""),f.contentWindow.close(),t.find("."+l[5])[0].removeChild(f)}catch(c){}t[0].innerHTML="",t.remove()}"function"==typeof o.end[e]&&o.end[e](),delete o.end[e]};t.data("isOutAnim")&&t.addClass("layer-anim "+a),i("#layui-layer-moves, #layui-layer-shade"+e).remove(),6==r.ie&&o.reselect(),o.rescollbar(e),t.attr("minLeft")&&(o.minIndex--,o.minLeft.push(t.attr("minLeft"))),r.ie&&r.ie<10||!t.data("isOutAnim")?f():setTimeout(function(){f()},200)}},r.closeAll=function(e){i.each(i("."+l[0]),function(){var t=i(this),n=e?t.attr("type")===e:1;n&&r.close(t.attr("times")),n=null})};var f=r.cache||{},c=function(e){return f.skin?" "+f.skin+" "+f.skin+"-"+e:""};r.prompt=function(e,t){var a="";if(e=e||{},"function"==typeof e&&(t=e),e.area){var o=e.area;a='style="width: '+o[0]+"; height: "+o[1]+';"',delete e.area}var s,l=2==e.formType?'":function(){return''}(),f=e.success;return delete e.success,r.open(i.extend({type:1,btn:["确定","取消"],content:l,skin:"layui-layer-prompt"+c("prompt"),maxWidth:n.width(),success:function(t){s=t.find(".layui-layer-input"),s.val(e.value||"").focus(),"function"==typeof f&&f(t)},resize:!1,yes:function(i){var n=s.val();""===n?s.focus():n.length>(e.maxlength||500)?r.tips("最多输入"+(e.maxlength||500)+"个字数",s,{tips:1}):t&&t(n,i,s)}},e))},r.tab=function(e){e=e||{};var t=e.tab||{},n="layui-this",a=e.success;return delete e.success,r.open(i.extend({type:1,skin:"layui-layer-tab"+c("tab"),resize:!1,title:function(){var e=t.length,i=1,a="";if(e>0)for(a=''+t[0].title+"";i"+t[i].title+"";return a}(),content:'
      '+function(){var e=t.length,i=1,a="";if(e>0)for(a='
    • '+(t[0].content||"no content")+"
    • ";i'+(t[i].content||"no content")+"";return a}()+"
    ",success:function(t){var o=t.find(".layui-layer-title").children(),r=t.find(".layui-layer-tabmain").children();o.on("mousedown",function(t){t.stopPropagation?t.stopPropagation():t.cancelBubble=!0;var a=i(this),o=a.index();a.addClass(n).siblings().removeClass(n),r.eq(o).show().siblings().hide(),"function"==typeof e.change&&e.change(o)}),"function"==typeof a&&a(t)}},e))},r.photos=function(t,n,a){function o(e,t,i){var n=new Image;return n.src=e,n.complete?t(n):(n.onload=function(){n.onload=null,t(n)},void(n.onerror=function(e){n.onerror=null,i(e)}))}var s={};if(t=t||{},t.photos){var l=t.photos.constructor===Object,f=l?t.photos:{},u=f.data||[],d=f.start||0;s.imgIndex=(0|d)+1,t.img=t.img||"img";var y=t.success;if(delete t.success,l){if(0===u.length)return r.msg("没有图片")}else{var p=i(t.photos),h=function(){u=[],p.find(t.img).each(function(e){var t=i(this);t.attr("layer-index",e),u.push({alt:t.attr("alt"),pid:t.attr("layer-pid"),src:t.attr("layer-src")||t.attr("src"),thumb:t.attr("src")})})};if(h(),0===u.length)return;if(n||p.on("click",t.img,function(){var e=i(this),n=e.attr("layer-index");r.photos(i.extend(t,{photos:{start:n,data:u,tab:t.tab},full:t.full}),!0),h()}),!n)return}s.imgprev=function(e){s.imgIndex--,s.imgIndex<1&&(s.imgIndex=u.length),s.tabimg(e)},s.imgnext=function(e,t){s.imgIndex++,s.imgIndex>u.length&&(s.imgIndex=1,t)||s.tabimg(e)},s.keyup=function(e){if(!s.end){var t=e.keyCode;e.preventDefault(),37===t?s.imgprev(!0):39===t?s.imgnext(!0):27===t&&r.close(s.index)}},s.tabimg=function(e){if(!(u.length<=1))return f.start=s.imgIndex-1,r.close(s.index),r.photos(t,!0,e)},s.event=function(){s.bigimg.hover(function(){s.imgsee.show()},function(){s.imgsee.hide()}),s.bigimg.find(".layui-layer-imgprev").on("click",function(e){e.preventDefault(),s.imgprev()}),s.bigimg.find(".layui-layer-imgnext").on("click",function(e){e.preventDefault(),s.imgnext()}),i(document).on("keyup",s.keyup)},s.loadi=r.load(1,{shade:!("shade"in t)&&.9,scrollbar:!1}),o(u[d].src,function(n){r.close(s.loadi),s.index=r.open(i.extend({type:1,id:"layui-layer-photos",area:function(){var a=[n.width,n.height],o=[i(e).width()-100,i(e).height()-100];if(!t.full&&(a[0]>o[0]||a[1]>o[1])){var r=[a[0]/o[0],a[1]/o[1]];r[0]>r[1]?(a[0]=a[0]/r[0],a[1]=a[1]/r[0]):r[0]'+(u[d].alt||
    '+(u.length>1?'':"")+'
    '+(u[d].alt||"")+""+s.imgIndex+"/"+u.length+"
    ",success:function(e,i){s.bigimg=e.find(".layui-layer-phimg"),s.imgsee=e.find(".layui-layer-imguide,.layui-layer-imgbar"),s.event(e),t.tab&&t.tab(u[d],e),"function"==typeof y&&y(e)},end:function(){s.end=!0,i(document).off("keyup",s.keyup)}},t))},function(){r.close(s.loadi),r.msg("当前图片地址异常
    是否继续查看下一张?",{time:3e4,btn:["下一张","不看了"],yes:function(){u.length>1&&s.imgnext(!0,!0)}})})}},o.run=function(t){i=t,n=i(e),l.html=i("html"),r.open=function(e){var t=new s(e);return t.index}},e.layui&&layui.define?(r.ready(),layui.define("jquery",function(t){r.path=layui.cache.dir,o.run(layui.$),e.layer=r,t("layer",r)})):"function"==typeof define&&define.amd?define(["jquery"],function(){return o.run(e.jQuery),r}):function(){o.run(e.jQuery),r.ready()}()}(window); \ No newline at end of file diff --git a/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/lay/modules/laypage.js b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/lay/modules/laypage.js new file mode 100644 index 00000000..2e2ab0df --- /dev/null +++ b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/lay/modules/laypage.js @@ -0,0 +1,2 @@ +/** layui-v2.5.6 MIT License By https://www.layui.com */ + ;layui.define(function(e){"use strict";var a=document,t="getElementById",n="getElementsByTagName",i="laypage",r="layui-disabled",u=function(e){var a=this;a.config=e||{},a.config.index=++s.index,a.render(!0)};u.prototype.type=function(){var e=this.config;if("object"==typeof e.elem)return void 0===e.elem.length?2:3},u.prototype.view=function(){var e=this,a=e.config,t=a.groups="groups"in a?0|a.groups:5;a.layout="object"==typeof a.layout?a.layout:["prev","page","next"],a.count=0|a.count,a.curr=0|a.curr||1,a.limits="object"==typeof a.limits?a.limits:[10,20,30,40,50],a.limit=0|a.limit||10,a.pages=Math.ceil(a.count/a.limit)||1,a.curr>a.pages&&(a.curr=a.pages),t<0?t=1:t>a.pages&&(t=a.pages),a.prev="prev"in a?a.prev:"上一页",a.next="next"in a?a.next:"下一页";var n=a.pages>t?Math.ceil((a.curr+(t>1?1:0))/(t>0?t:1)):1,i={prev:function(){return a.prev?''+a.prev+"":""}(),page:function(){var e=[];if(a.count<1)return"";n>1&&a.first!==!1&&0!==t&&e.push(''+(a.first||1)+"");var i=Math.floor((t-1)/2),r=n>1?a.curr-i:1,u=n>1?function(){var e=a.curr+(t-i-1);return e>a.pages?a.pages:e}():t;for(u-r2&&e.push('');r<=u;r++)r===a.curr?e.push('"+r+""):e.push(''+r+"");return a.pages>t&&a.pages>u&&a.last!==!1&&(u+1…'),0!==t&&e.push(''+(a.last||a.pages)+"")),e.join("")}(),next:function(){return a.next?''+a.next+"":""}(),count:'共 '+a.count+" 条",limit:function(){var e=['"}(),refresh:['','',""].join(""),skip:function(){return['到第','','页',""].join("")}()};return['
    ',function(){var e=[];return layui.each(a.layout,function(a,t){i[t]&&e.push(i[t])}),e.join("")}(),"
    "].join("")},u.prototype.jump=function(e,a){if(e){var t=this,i=t.config,r=e.children,u=e[n]("button")[0],l=e[n]("input")[0],p=e[n]("select")[0],c=function(){var e=0|l.value.replace(/\s|\D/g,"");e&&(i.curr=e,t.render())};if(a)return c();for(var o=0,y=r.length;oi.pages||(i.curr=e,t.render())});p&&s.on(p,"change",function(){var e=this.value;i.curr*e>i.count&&(i.curr=Math.ceil(i.count/e)),i.limit=e,t.render()}),u&&s.on(u,"click",function(){c()})}},u.prototype.skip=function(e){if(e){var a=this,t=e[n]("input")[0];t&&s.on(t,"keyup",function(t){var n=this.value,i=t.keyCode;/^(37|38|39|40)$/.test(i)||(/\D/.test(n)&&(this.value=n.replace(/\D/,"")),13===i&&a.jump(e,!0))})}},u.prototype.render=function(e){var n=this,i=n.config,r=n.type(),u=n.view();2===r?i.elem&&(i.elem.innerHTML=u):3===r?i.elem.html(u):a[t](i.elem)&&(a[t](i.elem).innerHTML=u),i.jump&&i.jump(i,e);var s=a[t]("layui-laypage-"+i.index);n.jump(s),i.hash&&!e&&(location.hash="!"+i.hash+"="+i.curr),n.skip(s)};var s={render:function(e){var a=new u(e);return a.index},index:layui.laypage?layui.laypage.index+1e4:0,on:function(e,a,t){return e.attachEvent?e.attachEvent("on"+a,function(a){a.target=a.srcElement,t.call(e,a)}):e.addEventListener(a,t,!1),this}};e(i,s)}); \ No newline at end of file diff --git a/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/lay/modules/laytpl.js b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/lay/modules/laytpl.js new file mode 100644 index 00000000..11cc3c4b --- /dev/null +++ b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/lay/modules/laytpl.js @@ -0,0 +1,2 @@ +/** layui-v2.5.6 MIT License By https://www.layui.com */ + ;layui.define(function(e){"use strict";var r={open:"{{",close:"}}"},c={exp:function(e){return new RegExp(e,"g")},query:function(e,c,t){var o=["#([\\s\\S])+?","([^{#}])*?"][e||0];return n((c||"")+r.open+o+r.close+(t||""))},escape:function(e){return String(e||"").replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")},error:function(e,r){var c="Laytpl Error:";return"object"==typeof console&&console.error(c+e+"\n"+(r||"")),c+e}},n=c.exp,t=function(e){this.tpl=e};t.pt=t.prototype,window.errors=0,t.pt.parse=function(e,t){var o=this,p=e,a=n("^"+r.open+"#",""),l=n(r.close+"$","");e=e.replace(/\s+|\r|\t|\n/g," ").replace(n(r.open+"#"),r.open+"# ").replace(n(r.close+"}"),"} "+r.close).replace(/\\/g,"\\\\").replace(n(r.open+"!(.+?)!"+r.close),function(e){return e=e.replace(n("^"+r.open+"!"),"").replace(n("!"+r.close),"").replace(n(r.open+"|"+r.close),function(e){return e.replace(/(.)/g,"\\$1")})}).replace(/(?="|')/g,"\\").replace(c.query(),function(e){return e=e.replace(a,"").replace(l,""),'";'+e.replace(/\\/g,"")+';view+="'}).replace(c.query(1),function(e){var c='"+(';return e.replace(/\s/g,"")===r.open+r.close?"":(e=e.replace(n(r.open+"|"+r.close),""),/^=/.test(e)&&(e=e.replace(/^=/,""),c='"+_escape_('),c+e.replace(/\\/g,"")+')+"')}),e='"use strict";var view = "'+e+'";return view;';try{return o.cache=e=new Function("d, _escape_",e),e(t,c.escape)}catch(u){return delete o.cache,c.error(u,p)}},t.pt.render=function(e,r){var n,t=this;return e?(n=t.cache?t.cache(e,c.escape):t.parse(t.tpl,e),r?void r(n):n):c.error("no data")};var o=function(e){return"string"!=typeof e?c.error("Template not found"):new t(e)};o.config=function(e){e=e||{};for(var c in e)r[c]=e[c]},o.v="1.2.0",e("laytpl",o)}); \ No newline at end of file diff --git a/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/lay/modules/table.js b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/lay/modules/table.js new file mode 100644 index 00000000..0882b716 --- /dev/null +++ b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/lay/modules/table.js @@ -0,0 +1,2 @@ +/** layui-v2.5.6 MIT License By https://www.layui.com */ + ;layui.define(["laytpl","laypage","layer","form","util"],function(e){"use strict";var t=layui.$,i=layui.laytpl,a=layui.laypage,l=layui.layer,n=layui.form,o=(layui.util,layui.hint()),r=layui.device(),d={config:{checkName:"LAY_CHECKED",indexName:"LAY_TABLE_INDEX"},cache:{},index:layui.table?layui.table.index+1e4:0,set:function(e){var i=this;return i.config=t.extend({},i.config,e),i},on:function(e,t){return layui.onevent.call(this,y,e,t)}},c=function(){var e=this,t=e.config,i=t.id||t.index;return i&&(c.that[i]=e,c.config[i]=t),{config:t,reload:function(t){e.reload.call(e,t)},setColsWidth:function(){e.setColsWidth.call(e)},resize:function(){e.resize.call(e)}}},s=function(e){var t=c.config[e];return t||o.error("The ID option was not found in the table instance"),t||null},u=function(e,a,l,n){var o=e.templet?function(){return"function"==typeof e.templet?e.templet(l):i(t(e.templet).html()||String(a)).render(l)}():a;return n?t("
    "+o+"
    ").text():o},y="table",h=".layui-table",f="layui-hide",p="layui-none",v="layui-table-view",m=".layui-table-tool",g=".layui-table-box",b=".layui-table-init",x=".layui-table-header",k=".layui-table-body",C=".layui-table-main",w=".layui-table-fixed",T=".layui-table-fixed-l",A=".layui-table-fixed-r",L=".layui-table-total",N=".layui-table-page",S=".layui-table-sort",R="layui-table-edit",W="layui-table-hover",_=function(e){var t='{{#if(item2.colspan){}} colspan="{{item2.colspan}}"{{#} if(item2.rowspan){}} rowspan="{{item2.rowspan}}"{{#}}}';return e=e||{},['',"","{{# layui.each(d.data.cols, function(i1, item1){ }}","","{{# layui.each(item1, function(i2, item2){ }}",'{{# if(item2.fixed && item2.fixed !== "right"){ left = true; } }}','{{# if(item2.fixed === "right"){ right = true; } }}',function(){return e.fixed&&"right"!==e.fixed?'{{# if(item2.fixed && item2.fixed !== "right"){ }}':"right"===e.fixed?'{{# if(item2.fixed === "right"){ }}':""}(),"{{# var isSort = !(item2.colGroup) && item2.sort; }}",'",e.fixed?"{{# }; }}":"","{{# }); }}","","{{# }); }}","","
    ','
    ','{{# if(item2.type === "checkbox"){ }}','',"{{# } else { }}",'{{item2.title||""}}',"{{# if(isSort){ }}",'',"{{# } }}","{{# } }}","
    ","
    "].join("")},E=['',"","
    "].join(""),z=['
    ',"{{# if(d.data.toolbar){ }}",'
    ','
    ','
    ',"
    ","{{# } }}",'
    ',"{{# if(d.data.loading){ }}",'
    ','',"
    ","{{# } }}","{{# var left, right; }}",'
    ',_(),"
    ",'
    ',E,"
    ","{{# if(left){ }}",'
    ','
    ',_({fixed:!0}),"
    ",'
    ',E,"
    ","
    ","{{# }; }}","{{# if(right){ }}",'
    ','
    ',_({fixed:"right"}),'
    ',"
    ",'
    ',E,"
    ","
    ","{{# }; }}","
    ","{{# if(d.data.totalRow){ }}",'
    ','','',"
    ","
    ","{{# } }}","{{# if(d.data.page){ }}",'
    ','
    ',"
    ","{{# } }}","","
    "].join(""),H=t(window),j=t(document),F=function(e){var i=this;i.index=++d.index,i.config=t.extend({},i.config,d.config,e),i.render()};F.prototype.config={limit:10,loading:!0,cellMinWidth:60,defaultToolbar:["filter","exports","print"],autoSort:!0,text:{none:"无数据"}},F.prototype.render=function(){var e=this,a=e.config;if(a.elem=t(a.elem),a.where=a.where||{},a.id=a.id||a.elem.attr("id")||e.index,a.request=t.extend({pageName:"page",limitName:"limit"},a.request),a.response=t.extend({statusName:"code",statusCode:0,msgName:"msg",dataName:"data",totalRowName:"totalRow",countName:"count"},a.response),"object"==typeof a.page&&(a.limit=a.page.limit||a.limit,a.limits=a.page.limits||a.limits,e.page=a.page.curr=a.page.curr||1,delete a.page.elem,delete a.page.jump),!a.elem[0])return e;a.height&&/^full-\d+$/.test(a.height)&&(e.fullHeightGap=a.height.split("-")[1],a.height=H.height()-e.fullHeightGap),e.setInit();var l=a.elem,n=l.next("."+v),o=e.elem=t(i(z).render({VIEW_CLASS:v,data:a,index:e.index}));if(a.index=e.index,e.key=a.id||a.index,n[0]&&n.remove(),l.after(o),e.layTool=o.find(m),e.layBox=o.find(g),e.layHeader=o.find(x),e.layMain=o.find(C),e.layBody=o.find(k),e.layFixed=o.find(w),e.layFixLeft=o.find(T),e.layFixRight=o.find(A),e.layTotal=o.find(L),e.layPage=o.find(N),e.renderToolbar(),e.fullSize(),a.cols.length>1){var r=e.layFixed.find(x).find("th");r.height(e.layHeader.height()-1-parseFloat(r.css("padding-top"))-parseFloat(r.css("padding-bottom")))}e.pullData(e.page),e.events()},F.prototype.initOpts=function(e){var t=this,i=(t.config,{checkbox:48,radio:48,space:15,numbers:40});e.checkbox&&(e.type="checkbox"),e.space&&(e.type="space"),e.type||(e.type="normal"),"normal"!==e.type&&(e.unresize=!0,e.width=e.width||i[e.type])},F.prototype.setInit=function(e){var t=this,i=t.config;return i.clientWidth=i.width||function(){var e=function(t){var a,l;t=t||i.elem.parent(),a=t.width();try{l="none"===t.css("display")}catch(n){}return!t[0]||a&&!l?a:e(t.parent())};return e()}(),"width"===e?i.clientWidth:void layui.each(i.cols,function(e,a){layui.each(a,function(l,n){if(!n)return void a.splice(l,1);if(n.key=e+"-"+l,n.hide=n.hide||!1,n.colGroup||n.colspan>1){var o=0;layui.each(i.cols[e+1],function(t,i){i.HAS_PARENT||o>1&&o==n.colspan||(i.HAS_PARENT=!0,i.parentKey=e+"-"+l,o+=parseInt(i.colspan>1?i.colspan:1))}),n.colGroup=!0}t.initOpts(n)})})},F.prototype.renderToolbar=function(){var e=this,a=e.config,l=['
    ','
    ','
    '].join(""),n=e.layTool.find(".layui-table-tool-temp");if("default"===a.toolbar)n.html(l);else if("string"==typeof a.toolbar){var o=t(a.toolbar).html()||"";o&&n.html(i(o).render(a))}var r={filter:{title:"筛选列",layEvent:"LAYTABLE_COLS",icon:"layui-icon-cols"},exports:{title:"导出",layEvent:"LAYTABLE_EXPORT",icon:"layui-icon-export"},print:{title:"打印",layEvent:"LAYTABLE_PRINT",icon:"layui-icon-print"}},d=[];"object"==typeof a.defaultToolbar&&layui.each(a.defaultToolbar,function(e,t){var i="string"==typeof t?r[t]:t;i&&d.push('
    ')}),e.layTool.find(".layui-table-tool-self").html(d.join(""))},F.prototype.setParentCol=function(e,t){var i=this,a=i.config,l=i.layHeader.find('th[data-key="'+a.index+"-"+t+'"]'),n=parseInt(l.attr("colspan"))||0;if(l[0]){var o=t.split("-"),r=a.cols[o[0]][o[1]];e?n--:n++,l.attr("colspan",n),l[n<1?"addClass":"removeClass"](f),r.colspan=n,r.hide=n<1;var d=l.data("parentkey");d&&i.setParentCol(e,d)}},F.prototype.setColsPatch=function(){var e=this,t=e.config;layui.each(t.cols,function(t,i){layui.each(i,function(t,i){i.hide&&e.setParentCol(i.hide,i.parentKey)})})},F.prototype.setColsWidth=function(){var e=this,t=e.config,i=0,a=0,l=0,n=0,o=e.setInit("width");e.eachCols(function(e,t){t.hide||i++}),o=o-function(){return"line"===t.skin||"nob"===t.skin?2:i+1}()-e.getScrollWidth(e.layMain[0])-1;var r=function(e){layui.each(t.cols,function(i,r){layui.each(r,function(i,d){var c=0,s=d.minWidth||t.cellMinWidth;return d?void(d.colGroup||d.hide||(e?l&&ln&&a&&(l=(o-n)/a)};r(),r(!0),e.autoColNums=a,e.eachCols(function(i,a){var n=a.minWidth||t.cellMinWidth;a.colGroup||a.hide||(0===a.width?e.getCssRule(t.index+"-"+a.key,function(e){e.style.width=Math.floor(l>=n?l:n)+"px"}):/\d+%$/.test(a.width)&&e.getCssRule(t.index+"-"+a.key,function(e){e.style.width=Math.floor(parseFloat(a.width)/100*o)+"px"}))});var d=e.layMain.width()-e.getScrollWidth(e.layMain[0])-e.layMain.children("table").outerWidth();if(e.autoColNums&&d>=-i&&d<=i){var c=function(t){var i;return t=t||e.layHeader.eq(0).find("thead th:last-child"),i=t.data("field"),!i&&t.prev()[0]?c(t.prev()):t},s=c(),u=s.data("key");e.getCssRule(u,function(t){var i=t.style.width||s.outerWidth();t.style.width=parseFloat(i)+d+"px",e.layMain.height()-e.layMain.prop("clientHeight")>0&&(t.style.width=parseFloat(t.style.width)-1+"px")})}e.loading(!0)},F.prototype.resize=function(){var e=this;e.fullSize(),e.setColsWidth(),e.scrollPatch()},F.prototype.reload=function(e){var i=this;e=e||{},delete i.haveInit,e.data&&e.data.constructor===Array&&delete i.config.data,i.config=t.extend(!0,{},i.config,e),i.render()},F.prototype.errorView=function(e){var i=this,a=i.layMain.find("."+p),l=t('
    '+(e||"Error")+"
    ");a[0]&&(i.layNone.remove(),a.remove()),i.layFixed.addClass(f),i.layMain.find("tbody").html(""),i.layMain.append(i.layNone=l),d.cache[i.key]=[]},F.prototype.page=1,F.prototype.pullData=function(e){var i=this,a=i.config,l=a.request,n=a.response,o=function(){"object"==typeof a.initSort&&i.sort(a.initSort.field,a.initSort.type)};if(i.startTime=(new Date).getTime(),a.url){var r={};r[l.pageName]=e,r[l.limitName]=a.limit;var d=t.extend(r,a.where);a.contentType&&0==a.contentType.indexOf("application/json")&&(d=JSON.stringify(d)),i.loading(),t.ajax({type:a.method||"get",url:a.url,contentType:a.contentType,data:d,dataType:"json",headers:a.headers||{},success:function(t){"function"==typeof a.parseData&&(t=a.parseData(t)||t),t[n.statusName]!=n.statusCode?(i.renderForm(),i.errorView(t[n.msgName]||'返回的数据不符合规范,正确的成功状态码应为:"'+n.statusName+'": '+n.statusCode)):(i.renderData(t,e,t[n.countName]),o(),a.time=(new Date).getTime()-i.startTime+" ms"),i.setColsWidth(),"function"==typeof a.done&&a.done(t,e,t[n.countName])},error:function(e,t){i.errorView("数据接口请求异常:"+t),i.renderForm(),i.setColsWidth()}})}else if(a.data&&a.data.constructor===Array){var c={},s=e*a.limit-a.limit;c[n.dataName]=a.data.concat().splice(s,a.limit),c[n.countName]=a.data.length,"object"==typeof a.totalRow&&(c[n.totalRowName]=t.extend({},a.totalRow)),i.renderData(c,e,c[n.countName]),o(),i.setColsWidth(),"function"==typeof a.done&&a.done(c,e,c[n.countName])}},F.prototype.eachCols=function(e){var t=this;return d.eachCols(null,e,t.config.cols),t},F.prototype.renderData=function(e,n,o,r){var c=this,s=c.config,y=e[s.response.dataName]||[],h=e[s.response.totalRowName],v=[],m=[],g=[],b=function(){var e;return!r&&c.sortKey?c.sort(c.sortKey.field,c.sortKey.sort,!0):(layui.each(y,function(a,l){var o=[],y=[],h=[],p=a+s.limit*(n-1)+1;0!==l.length&&(r||(l[d.config.indexName]=a),c.eachCols(function(n,r){var c=r.field||n,v=s.index+"-"+r.key,m=l[c];if(void 0!==m&&null!==m||(m=""),!r.colGroup){var g=['','
    '+function(){var n=t.extend(!0,{LAY_INDEX:p},l),o=d.config.checkName;switch(r.type){case"checkbox":return'";case"radio":return n[o]&&(e=a),'';case"numbers":return p}return r.toolbar?i(t(r.toolbar).html()||"").render(n):u(r,m,n)}(),"
    "].join("");o.push(g),r.fixed&&"right"!==r.fixed&&y.push(g),"right"===r.fixed&&h.push(g)}}),v.push(''+o.join("")+""),m.push(''+y.join("")+""),g.push(''+h.join("")+""))}),c.layBody.scrollTop(0),c.layMain.find("."+p).remove(),c.layMain.find("tbody").html(v.join("")),c.layFixLeft.find("tbody").html(m.join("")),c.layFixRight.find("tbody").html(g.join("")),c.renderForm(),"number"==typeof e&&c.setThisRowChecked(e),c.syncCheckAll(),c.haveInit?c.scrollPatch():setTimeout(function(){c.scrollPatch()},50),c.haveInit=!0,l.close(c.tipsIndex),s.HAS_SET_COLS_PATCH||c.setColsPatch(),void(s.HAS_SET_COLS_PATCH=!0))};return d.cache[c.key]=y,c.layPage[0==o||0===y.length&&1==n?"addClass":"removeClass"](f),r?b():0===y.length?(c.renderForm(),c.errorView(s.text.none)):(c.layFixed.removeClass(f),b(),c.renderTotal(y,h),void(s.page&&(s.page=t.extend({elem:"layui-table-page"+s.index,count:o,limit:s.limit,limits:s.limits||[10,20,30,40,50,60,70,80,90],groups:3,layout:["prev","page","next","skip","count","limit"],prev:'',next:'',jump:function(e,t){t||(c.page=e.curr,s.limit=e.limit,c.pullData(e.curr))}},s.page),s.page.count=o,a.render(s.page))))},F.prototype.renderTotal=function(e,t){var i=this,a=i.config,l={};if(a.totalRow){layui.each(e,function(e,t){0!==t.length&&i.eachCols(function(e,i){var a=i.field||e,n=t[a];i.totalRow&&(l[a]=(l[a]||0)+(parseFloat(n)||0))})}),i.dataTotal={};var n=[];i.eachCols(function(e,o){var r=o.field||e,d=function(){var e=o.totalRowText||"",i=parseFloat(l[r]).toFixed(2),a={};return a[r]=i,i=u(o,i,a),t?t[o.field]||e:o.totalRow?i||e:e}(),c=['','
    '+d,"
    "].join("");o.field&&(i.dataTotal[r]=d),n.push(c)}),i.layTotal.find("tbody").html(""+n.join("")+"")}},F.prototype.getColElem=function(e,t){var i=this,a=i.config;return e.eq(0).find(".laytable-cell-"+(a.index+"-"+t)+":eq(0)")},F.prototype.renderForm=function(e){n.render(e,"LAY-table-"+this.index)},F.prototype.setThisRowChecked=function(e){var t=this,i=(t.config,"layui-table-click"),a=t.layBody.find('tr[data-index="'+e+'"]');a.addClass(i).siblings("tr").removeClass(i)},F.prototype.sort=function(e,i,a,l){var n,r,c=this,s={},u=c.config,h=u.elem.attr("lay-filter"),f=d.cache[c.key];"string"==typeof e&&c.layHeader.find("th").each(function(i,a){var l=t(this),o=l.data("field");if(o===e)return e=l,n=o,!1});try{var n=n||e.data("field"),p=e.data("key");if(c.sortKey&&!a&&n===c.sortKey.field&&i===c.sortKey.sort)return;var v=c.layHeader.find("th .laytable-cell-"+p).find(S);c.layHeader.find("th").find(S).removeAttr("lay-sort"),v.attr("lay-sort",i||null),c.layFixed.find("th")}catch(m){return o.error("Table modules: Did not match to field")}c.sortKey={field:n,sort:i},u.autoSort&&("asc"===i?r=layui.sort(f,n):"desc"===i?r=layui.sort(f,n,!0):(r=layui.sort(f,d.config.indexName),delete c.sortKey)),s[u.response.dataName]=r||f,c.renderData(s,c.page,c.count,!0),l&&layui.event.call(e,y,"sort("+h+")",{field:n,type:i})},F.prototype.loading=function(e){var i=this,a=i.config;a.loading&&(e?(i.layInit&&i.layInit.remove(),delete i.layInit,i.layBox.find(b).remove()):(i.layInit=t(['
    ','',"
    "].join("")),i.layBox.append(i.layInit)))},F.prototype.setCheckData=function(e,t){var i=this,a=i.config,l=d.cache[i.key];l[e]&&l[e].constructor!==Array&&(l[e][a.checkName]=t)},F.prototype.syncCheckAll=function(){var e=this,t=e.config,i=e.layHeader.find('input[name="layTableCheckbox"]'),a=function(i){return e.eachCols(function(e,a){"checkbox"===a.type&&(a[t.checkName]=i)}),i};i[0]&&(d.checkStatus(e.key).isAll?(i[0].checked||(i.prop("checked",!0),e.renderForm("checkbox")),a(!0)):(i[0].checked&&(i.prop("checked",!1),e.renderForm("checkbox")),a(!1)))},F.prototype.getCssRule=function(e,t){var i=this,a=i.elem.find("style")[0],l=a.sheet||a.styleSheet||{},n=l.cssRules||l.rules;layui.each(n,function(i,a){if(a.selectorText===".laytable-cell-"+e)return t(a),!0})},F.prototype.fullSize=function(){var e,t=this,i=t.config,a=i.height;t.fullHeightGap&&(a=H.height()-t.fullHeightGap,a<135&&(a=135),t.elem.css("height",a)),a&&(e=parseFloat(a)-(t.layHeader.outerHeight()||38),i.toolbar&&(e-=t.layTool.outerHeight()||50),i.totalRow&&(e-=t.layTotal.outerHeight()||40),i.page&&(e-=t.layPage.outerHeight()||41),t.layMain.css("height",e-2))},F.prototype.getScrollWidth=function(e){var t=0;return e?t=e.offsetWidth-e.clientWidth:(e=document.createElement("div"),e.style.width="100px",e.style.height="100px",e.style.overflowY="scroll",document.body.appendChild(e),t=e.offsetWidth-e.clientWidth,document.body.removeChild(e)),t},F.prototype.scrollPatch=function(){var e=this,i=e.layMain.children("table"),a=e.layMain.width()-e.layMain.prop("clientWidth"),l=e.layMain.height()-e.layMain.prop("clientHeight"),n=(e.getScrollWidth(e.layMain[0]),i.outerWidth()-e.layMain.width()),o=function(e){if(a&&l){if(e=e.eq(0),!e.find(".layui-table-patch")[0]){var i=t('
    ');i.find("div").css({width:a}),e.find("tr").append(i)}}else e.find(".layui-table-patch").remove()};o(e.layHeader),o(e.layTotal);var r=e.layMain.height(),d=r-l;e.layFixed.find(k).css("height",i.height()>=d?d:"auto"),e.layFixRight[n>0?"removeClass":"addClass"](f),e.layFixRight.css("right",a-1)},F.prototype.events=function(){var e,i=this,a=i.config,o=t("body"),c={},s=i.layHeader.find("th"),h=".layui-table-cell",p=a.elem.attr("lay-filter");i.layTool.on("click","*[lay-event]",function(e){var o=t(this),c=o.attr("lay-event"),s=function(e){var l=t(e.list),n=t('
      ');n.html(l),a.height&&n.css("max-height",a.height-(i.layTool.outerHeight()||50)),o.find(".layui-table-tool-panel")[0]||o.append(n),i.renderForm(),n.on("click",function(e){layui.stope(e)}),e.done&&e.done(n,l)};switch(layui.stope(e),j.trigger("table.tool.panel.remove"),l.close(i.tipsIndex),c){case"LAYTABLE_COLS":s({list:function(){var e=[];return i.eachCols(function(t,i){i.field&&"normal"==i.type&&e.push('
    • ')}),e.join("")}(),done:function(){n.on("checkbox(LAY_TABLE_TOOL_COLS)",function(e){var l=t(e.elem),n=this.checked,o=l.data("key"),r=l.data("parentkey");layui.each(a.cols,function(e,t){layui.each(t,function(t,l){if(e+"-"+t===o){var d=l.hide;l.hide=!n,i.elem.find('*[data-key="'+a.index+"-"+o+'"]')[n?"removeClass":"addClass"](f),d!=l.hide&&i.setParentCol(!n,r),i.resize()}})})})}});break;case"LAYTABLE_EXPORT":r.ie?l.tips("导出功能不支持 IE,请用 Chrome 等高级浏览器导出",this,{tips:3}):s({list:function(){return['
    • 导出到 Csv 文件
    • ','
    • 导出到 Excel 文件
    • '].join("")}(),done:function(e,l){l.on("click",function(){var e=t(this).data("type");d.exportFile.call(i,a.id,null,e)})}});break;case"LAYTABLE_PRINT":var u=window.open("打印窗口","_blank"),h=[""].join(""),v=t(i.layHeader.html());v.append(i.layMain.find("table").html()),v.append(i.layTotal.find("table").html()),v.find("th.layui-table-patch").remove(),v.find(".layui-table-col-special").remove(),u.document.write(h+v.prop("outerHTML")),u.document.close(),u.print(),u.close()}layui.event.call(this,y,"toolbar("+p+")",t.extend({event:c,config:a},{}))}),s.on("mousemove",function(e){var i=t(this),a=i.offset().left,l=e.clientX-a;i.data("unresize")||c.resizeStart||(c.allowResize=i.width()-l<=10,o.css("cursor",c.allowResize?"col-resize":""))}).on("mouseleave",function(){t(this);c.resizeStart||o.css("cursor","")}).on("mousedown",function(e){var l=t(this);if(c.allowResize){var n=l.data("key");e.preventDefault(),c.resizeStart=!0,c.offset=[e.clientX,e.clientY],i.getCssRule(n,function(e){var t=e.style.width||l.outerWidth();c.rule=e,c.ruleWidth=parseFloat(t),c.minWidth=l.data("minwidth")||a.cellMinWidth})}}),j.on("mousemove",function(t){if(c.resizeStart){if(t.preventDefault(),c.rule){var a=c.ruleWidth+t.clientX-c.offset[0];a');return n[0].value=i.data("content")||l.text(),i.find("."+R)[0]||i.append(n),n.focus(),void layui.stope(e)}}).on("mouseenter","td",function(){b.call(this)}).on("mouseleave","td",function(){b.call(this,"hide")});var g="layui-table-grid-down",b=function(e){var i=t(this),a=i.children(h);if(!i.data("off"))if(e)i.find(".layui-table-grid-down").remove();else if(a.prop("scrollWidth")>a.outerWidth()){if(a.find("."+g)[0])return;i.append('
      ')}};i.layBody.on("click","."+g,function(e){var n=t(this),o=n.parent(),d=o.children(h);i.tipsIndex=l.tips(['
      ',d.html(),"
      ",''].join(""),d[0],{tips:[3,""],time:-1,anim:-1,maxWidth:r.ios||r.android?300:i.elem.width()/2,isOutAnim:!1,skin:"layui-table-tips",success:function(e,t){e.find(".layui-table-tips-c").on("click",function(){l.close(t)})}}),layui.stope(e)}),i.layBody.on("click","*[lay-event]",function(){var e=t(this),a=e.parents("tr").eq(0).data("index");layui.event.call(this,y,"tool("+p+")",v.call(this,{event:e.attr("lay-event")})),i.setThisRowChecked(a)}),i.layMain.on("scroll",function(){var e=t(this),a=e.scrollLeft(),n=e.scrollTop();i.layHeader.scrollLeft(a),i.layTotal.scrollLeft(a),i.layFixed.find(k).scrollTop(n),l.close(i.tipsIndex)}),H.on("resize",function(){i.resize()})},function(){j.on("click",function(){j.trigger("table.remove.tool.panel")}),j.on("table.remove.tool.panel",function(){t(".layui-table-tool-panel").remove()})}(),d.init=function(e,i){i=i||{};var a=this,l=t(e?'table[lay-filter="'+e+'"]':h+"[lay-data]"),n="Table element property lay-data configuration item has a syntax error: ";return l.each(function(){var a=t(this),l=a.attr("lay-data");try{l=new Function("return "+l)()}catch(r){o.error(n+l)}var c=[],s=t.extend({elem:this,cols:[],data:[],skin:a.attr("lay-skin"),size:a.attr("lay-size"),even:"string"==typeof a.attr("lay-even")},d.config,i,l);e&&a.hide(),a.find("thead>tr").each(function(e){s.cols[e]=[],t(this).children().each(function(i){var a=t(this),l=a.attr("lay-data");try{l=new Function("return "+l)()}catch(r){return o.error(n+l)}var d=t.extend({title:a.text(),colspan:a.attr("colspan")||0,rowspan:a.attr("rowspan")||0},l);d.colspan<2&&c.push(d),s.cols[e].push(d)})}),a.find("tbody>tr").each(function(e){var i=t(this),a={};i.children("td").each(function(e,i){var l=t(this),n=l.data("field");if(n)return a[n]=l.html()}),layui.each(c,function(e,t){var l=i.children("td").eq(e);a[t.field]=l.html()}),s.data[e]=a}),d.render(s)}),a},c.that={},c.config={},d.eachCols=function(e,i,a){var l=c.config[e]||{},n=[],o=0;a=t.extend(!0,[],a||l.cols),layui.each(a,function(e,t){layui.each(t,function(t,i){if(i.colGroup){var l=0;o++,i.CHILD_COLS=[],layui.each(a[e+1],function(e,t){t.PARENT_COL_INDEX||l>1&&l==i.colspan||(t.PARENT_COL_INDEX=o,i.CHILD_COLS.push(t),l+=parseInt(t.colspan>1?t.colspan:1))})}i.PARENT_COL_INDEX||n.push(i)})});var r=function(e){layui.each(e||n,function(e,t){return t.CHILD_COLS?r(t.CHILD_COLS):void("function"==typeof i&&i(e,t))})};r()},d.checkStatus=function(e){var t=0,i=0,a=[],l=d.cache[e]||[];return layui.each(l,function(e,l){return l.constructor===Array?void i++:void(l[d.config.checkName]&&(t++,a.push(d.clearCacheKey(l))))}),{data:a,isAll:!!l.length&&t===l.length-i}},d.exportFile=function(e,t,i){var a=this;t=t||d.clearCacheKey(d.cache[e]),i=i||"csv";var l=c.config[e]||{},n={csv:"text/csv",xls:"application/vnd.ms-excel"}[i],s=document.createElement("a");return r.ie?o.error("IE_NOT_SUPPORT_EXPORTS"):(s.href="data:"+n+";charset=utf-8,\ufeff"+encodeURIComponent(function(){var i=[],l=[],n=[];return layui.each(t,function(t,a){var n=[];"object"==typeof e?(layui.each(e,function(e,a){0==t&&i.push(a||"")}),layui.each(d.clearCacheKey(a),function(e,t){n.push('"'+(t||"")+'"')})):d.eachCols(e,function(e,l){if(l.field&&"normal"==l.type&&!l.hide){var o=a[l.field];void 0!==o&&null!==o||(o=""),0==t&&i.push(l.title||""),n.push('"'+u(l,o,a,"text")+'"')}}),l.push(n.join(","))}),layui.each(a.dataTotal,function(e,t){n.push(t)}),i.join(",")+"\r\n"+l.join("\r\n")+"\r\n"+n.join(",")}()),s.download=(l.title||"table_"+(l.index||""))+"."+i,document.body.appendChild(s),s.click(),void document.body.removeChild(s))},d.resize=function(e){if(e){var t=s(e);if(!t)return;c.that[e].resize()}else layui.each(c.that,function(){this.resize()})},d.reload=function(e,t){var i=s(e);if(i){var a=c.that[e];return a.reload(t),c.call(a)}},d.render=function(e){var t=new F(e);return c.call(t)},d.clearCacheKey=function(e){return e=t.extend({},e),delete e[d.config.checkName],delete e[d.config.indexName],e},d.init(),e(y,d)}); \ No newline at end of file diff --git a/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/lay/modules/tree.js b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/lay/modules/tree.js new file mode 100644 index 00000000..c9c93a2f --- /dev/null +++ b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/lay/modules/tree.js @@ -0,0 +1,2 @@ +/** layui-v2.5.6 MIT License By https://www.layui.com */ + ;layui.define("form",function(e){"use strict";var i=layui.$,a=layui.form,n=layui.layer,t="tree",r={config:{},index:layui[t]?layui[t].index+1e4:0,set:function(e){var a=this;return a.config=i.extend({},a.config,e),a},on:function(e,i){return layui.onevent.call(this,t,e,i)}},l=function(){var e=this,i=e.config,a=i.id||e.index;return l.that[a]=e,l.config[a]=i,{config:i,reload:function(i){e.reload.call(e,i)},getChecked:function(){return e.getChecked.call(e)},setChecked:function(i){return e.setChecked.call(e,i)}}},c="layui-hide",d="layui-disabled",s="layui-tree-set",o="layui-tree-iconClick",h="layui-icon-addition",u="layui-icon-subtraction",p="layui-tree-entry",f="layui-tree-main",y="layui-tree-txt",v="layui-tree-pack",C="layui-tree-spread",k="layui-tree-setLineShort",m="layui-tree-showLine",x="layui-tree-lineExtend",b=function(e){var a=this;a.index=++r.index,a.config=i.extend({},a.config,r.config,e),a.render()};b.prototype.config={data:[],showCheckbox:!1,showLine:!0,accordion:!1,onlyIconControl:!1,isJump:!1,edit:!1,text:{defaultNodeName:"未命名",none:"无数据"}},b.prototype.reload=function(e){var a=this;layui.each(e,function(e,i){i.constructor===Array&&delete a.config[e]}),a.config=i.extend(!0,{},a.config,e),a.render()},b.prototype.render=function(){var e=this,a=e.config;e.checkids=[];var n=i('
      ');e.tree(n);var t=a.elem=i(a.elem);if(t[0]){if(e.key=a.id||e.index,e.elem=n,e.elemNone=i('
      '+a.text.none+"
      "),t.html(e.elem),0==e.elem.find(".layui-tree-set").length)return e.elem.append(e.elemNone);a.showCheckbox&&e.renderForm("checkbox"),e.elem.find(".layui-tree-set").each(function(){var e=i(this);e.parent(".layui-tree-pack")[0]||e.addClass("layui-tree-setHide"),!e.next()[0]&&e.parents(".layui-tree-pack").eq(1).hasClass("layui-tree-lineExtend")&&e.addClass(k),e.next()[0]||e.parents(".layui-tree-set").eq(0).next()[0]||e.addClass(k)}),e.events()}},b.prototype.renderForm=function(e){a.render(e,"LAY-tree-"+this.index)},b.prototype.tree=function(e,a){var n=this,t=n.config,r=a||t.data;layui.each(r,function(a,r){var l=r.children&&r.children.length>0,o=i('
      '),h=i(['
      ','
      ','
      ',function(){return t.showLine?l?'':'':''}(),function(){return t.showCheckbox?'':""}(),function(){return t.isJump&&r.href?''+(r.title||r.label||t.text.defaultNodeName)+"":''+(r.title||r.label||t.text.defaultNodeName)+""}(),"
      ",function(){if(!t.edit)return"";var e={add:'',update:'',del:''},i=['
      '];return t.edit===!0&&(t.edit=["update","del"]),"object"==typeof t.edit?(layui.each(t.edit,function(a,n){i.push(e[n]||"")}),i.join("")+"
      "):void 0}(),"
      "].join(""));l&&(h.append(o),n.tree(o,r.children)),e.append(h),h.prev("."+s)[0]&&h.prev().children(".layui-tree-pack").addClass("layui-tree-showLine"),l||h.parent(".layui-tree-pack").addClass("layui-tree-lineExtend"),n.spread(h,r),t.showCheckbox&&(r.checked&&n.checkids.push(r.id),n.checkClick(h,r)),t.edit&&n.operate(h,r)})},b.prototype.spread=function(e,a){var n=this,t=n.config,r=e.children("."+p),l=r.children("."+f),c=r.find("."+o),k=r.find("."+y),m=t.onlyIconControl?c:l,x="";m.on("click",function(i){var a=e.children("."+v),n=m.children(".layui-icon")[0]?m.children(".layui-icon"):m.find(".layui-tree-icon").children(".layui-icon");if(a[0]){if(e.hasClass(C))e.removeClass(C),a.slideUp(200),n.removeClass(u).addClass(h);else if(e.addClass(C),a.slideDown(200),n.addClass(u).removeClass(h),t.accordion){var r=e.siblings("."+s);r.removeClass(C),r.children("."+v).slideUp(200),r.find(".layui-tree-icon").children(".layui-icon").removeClass(u).addClass(h)}}else x="normal"}),k.on("click",function(){var n=i(this);n.hasClass(d)||(x=e.hasClass(C)?t.onlyIconControl?"open":"close":t.onlyIconControl?"close":"open",t.click&&t.click({elem:e,state:x,data:a}))})},b.prototype.setCheckbox=function(e,i,a){var n=this,t=(n.config,a.prop("checked"));if(!a.prop("disabled")){if("object"==typeof i.children||e.find("."+v)[0]){var r=e.find("."+v).find('input[same="layuiTreeCheck"]');r.each(function(){this.disabled||(this.checked=t)})}var l=function(e){if(e.parents("."+s)[0]){var i,a=e.parent("."+v),n=a.parent(),r=a.prev().find('input[same="layuiTreeCheck"]');t?r.prop("checked",t):(a.find('input[same="layuiTreeCheck"]').each(function(){this.checked&&(i=!0)}),i||r.prop("checked",!1)),l(n)}};l(e),n.renderForm("checkbox")}},b.prototype.checkClick=function(e,a){var n=this,t=n.config,r=e.children("."+p),l=r.children("."+f);l.on("click",'input[same="layuiTreeCheck"]+',function(r){layui.stope(r);var l=i(this).prev(),c=l.prop("checked");l.prop("disabled")||(n.setCheckbox(e,a,l),t.oncheck&&t.oncheck({elem:e,checked:c,data:a}))})},b.prototype.operate=function(e,a){var t=this,r=t.config,l=e.children("."+p),d=l.children("."+f);l.children(".layui-tree-btnGroup").on("click",".layui-icon",function(l){layui.stope(l);var f=i(this).data("type"),b=e.children("."+v),g={data:a,type:f,elem:e};if("add"==f){b[0]||(r.showLine?(d.find("."+o).addClass("layui-tree-icon"),d.find("."+o).children(".layui-icon").addClass(h).removeClass("layui-icon-file")):d.find(".layui-tree-iconArrow").removeClass(c),e.append('
      '));var w=r.operate&&r.operate(g),N={};if(N.title=r.text.defaultNodeName,N.id=w,t.tree(e.children("."+v),[N]),r.showLine)if(b[0])b.hasClass(x)||b.addClass(x),e.find("."+v).each(function(){i(this).children("."+s).last().addClass(k)}),b.children("."+s).last().prev().hasClass(k)?b.children("."+s).last().prev().removeClass(k):b.children("."+s).last().removeClass(k),!e.parent("."+v)[0]&&e.next()[0]&&b.children("."+s).last().removeClass(k);else{var T=e.siblings("."+s),L=1,A=e.parent("."+v);layui.each(T,function(e,a){i(a).children("."+v)[0]||(L=0)}),1==L?(T.children("."+v).addClass(m),T.children("."+v).children("."+s).removeClass(k),e.children("."+v).addClass(m),A.removeClass(x),A.children("."+s).last().children("."+v).children("."+s).last().addClass(k)):e.children("."+v).children("."+s).addClass(k)}if(!r.showCheckbox)return;if(d.find('input[same="layuiTreeCheck"]')[0].checked){var I=e.children("."+v).children("."+s).last();I.find('input[same="layuiTreeCheck"]')[0].checked=!0}t.renderForm("checkbox")}else if("update"==f){var F=d.children("."+y).html();d.children("."+y).html(""),d.append(''),d.children(".layui-tree-editInput").val(F).focus();var j=function(e){var i=e.val().trim();i=i?i:r.text.defaultNodeName,e.remove(),d.children("."+y).html(i),g.data.title=i,r.operate&&r.operate(g)};d.children(".layui-tree-editInput").blur(function(){j(i(this))}),d.children(".layui-tree-editInput").on("keydown",function(e){13===e.keyCode&&(e.preventDefault(),j(i(this)))})}else n.confirm('确认删除该节点 "'+(a.title||"")+'" 吗?',function(a){if(r.operate&&r.operate(g),g.status="remove",n.close(a),!e.prev("."+s)[0]&&!e.next("."+s)[0]&&!e.parent("."+v)[0])return e.remove(),void t.elem.append(t.elemNone);if(e.siblings("."+s).children("."+p)[0]){if(r.showCheckbox){var l=function(e){if(e.parents("."+s)[0]){var a=e.siblings("."+s).children("."+p),n=e.parent("."+v).prev(),r=n.find('input[same="layuiTreeCheck"]')[0],c=1,d=0;0==r.checked&&(a.each(function(e,a){var n=i(a).find('input[same="layuiTreeCheck"]')[0];0!=n.checked||n.disabled||(c=0),n.disabled||(d=1)}),1==c&&1==d&&(r.checked=!0,t.renderForm("checkbox"),l(n.parent("."+s))))}};l(e)}if(r.showLine){var d=e.siblings("."+s),h=1,f=e.parent("."+v);layui.each(d,function(e,a){i(a).children("."+v)[0]||(h=0)}),1==h?(b[0]||(f.removeClass(x),d.children("."+v).addClass(m),d.children("."+v).children("."+s).removeClass(k)),e.next()[0]?f.children("."+s).last().children("."+v).children("."+s).last().addClass(k):e.prev().children("."+v).children("."+s).last().addClass(k),e.next()[0]||e.parents("."+s)[1]||e.parents("."+s).eq(0).next()[0]||e.prev("."+s).addClass(k)):!e.next()[0]&&e.hasClass(k)&&e.prev().addClass(k)}}else{var y=e.parent("."+v).prev();if(r.showLine){y.find("."+o).removeClass("layui-tree-icon"),y.find("."+o).children(".layui-icon").removeClass(u).addClass("layui-icon-file");var w=y.parents("."+v).eq(0);w.addClass(x),w.children("."+s).each(function(){i(this).children("."+v).children("."+s).last().addClass(k)})}else y.find(".layui-tree-iconArrow").addClass(c);e.parents("."+s).eq(0).removeClass(C),e.parent("."+v).remove()}e.remove()})})},b.prototype.events=function(){var e=this,a=e.config;e.elem.find(".layui-tree-checkedFirst");e.setChecked(e.checkids),e.elem.find(".layui-tree-search").on("keyup",function(){var n=i(this),t=n.val(),r=n.nextAll(),l=[];r.find("."+y).each(function(){var e=i(this).parents("."+p);if(i(this).html().indexOf(t)!=-1){l.push(i(this).parent());var a=function(e){e.addClass("layui-tree-searchShow"),e.parent("."+v)[0]&&a(e.parent("."+v).parent("."+s))};a(e.parent("."+s))}}),r.find("."+p).each(function(){var e=i(this).parent("."+s);e.hasClass("layui-tree-searchShow")||e.addClass(c)}),0==r.find(".layui-tree-searchShow").length&&e.elem.append(e.elemNone),a.onsearch&&a.onsearch({elem:l})}),e.elem.find(".layui-tree-search").on("keydown",function(){i(this).nextAll().find("."+p).each(function(){var e=i(this).parent("."+s);e.removeClass("layui-tree-searchShow "+c)}),i(".layui-tree-emptyText")[0]&&i(".layui-tree-emptyText").remove()})},b.prototype.getChecked=function(){var e=this,a=e.config,n=[],t=[];e.elem.find(".layui-form-checked").each(function(){n.push(i(this).prev()[0].value)});var r=function(e,a){layui.each(e,function(e,t){layui.each(n,function(e,n){if(t.id==n){var l=i.extend({},t);return delete l.children,a.push(l),t.children&&(l.children=[],r(t.children,l.children)),!0}})})};return r(i.extend({},a.data),t),t},b.prototype.setChecked=function(e){var a=this;a.config;a.elem.find("."+s).each(function(a,n){var t=i(this).data("id"),r=i(n).children("."+p).find('input[same="layuiTreeCheck"]'),l=r.next();if("number"==typeof e){if(t==e)return r[0].checked||l.click(),!1}else"object"==typeof e&&layui.each(e,function(e,i){if(i==t&&!r[0].checked)return l.click(),!0})})},l.that={},l.config={},r.reload=function(e,i){var a=l.that[e];return a.reload(i),l.call(a)},r.getChecked=function(e){var i=l.that[e];return i.getChecked()},r.setChecked=function(e,i){var a=l.that[e];return a.setChecked(i)},r.render=function(e){var i=new b(e);return l.call(i)},e(t,r)}); \ No newline at end of file diff --git a/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/lay/modules/upload.js b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/lay/modules/upload.js new file mode 100644 index 00000000..9298ecf9 --- /dev/null +++ b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/lay/modules/upload.js @@ -0,0 +1,2 @@ +/** layui-v2.5.6 MIT License By https://www.layui.com */ + ;layui.define("layer",function(e){"use strict";var t=layui.$,i=layui.layer,n=layui.hint(),o=layui.device(),a={config:{},set:function(e){var i=this;return i.config=t.extend({},i.config,e),i},on:function(e,t){return layui.onevent.call(this,r,e,t)}},l=function(){var e=this;return{upload:function(t){e.upload.call(e,t)},reload:function(t){e.reload.call(e,t)},config:e.config}},r="upload",u="layui-upload-file",c="layui-upload-form",f="layui-upload-iframe",s="layui-upload-choose",p=function(e){var i=this;i.config=t.extend({},i.config,a.config,e),i.render()};p.prototype.config={accept:"images",exts:"",auto:!0,bindAction:"",url:"",field:"file",acceptMime:"",method:"post",data:{},drag:!0,size:0,number:0,multiple:!1},p.prototype.render=function(e){var i=this,e=i.config;e.elem=t(e.elem),e.bindAction=t(e.bindAction),i.file(),i.events()},p.prototype.file=function(){var e=this,i=e.config,n=e.elemFile=t(['"].join("")),a=i.elem.next();(a.hasClass(u)||a.hasClass(c))&&a.remove(),o.ie&&o.ie<10&&i.elem.wrap('
      '),e.isFile()?(e.elemFile=i.elem,i.field=i.elem[0].name):i.elem.after(n),o.ie&&o.ie<10&&e.initIE()},p.prototype.initIE=function(){var e=this,i=e.config,n=t(''),o=t(['
      ',"
      "].join(""));t("#"+f)[0]||t("body").append(n),i.elem.next().hasClass(c)||(e.elemFile.wrap(o),i.elem.next("."+c).append(function(){var e=[];return layui.each(i.data,function(t,i){i="function"==typeof i?i():i,e.push('')}),e.join("")}()))},p.prototype.msg=function(e){return i.msg(e,{icon:2,shift:6})},p.prototype.isFile=function(){var e=this.config.elem[0];if(e)return"input"===e.tagName.toLocaleLowerCase()&&"file"===e.type},p.prototype.preview=function(e){var t=this;window.FileReader&&layui.each(t.chooseFiles,function(t,i){var n=new FileReader;n.readAsDataURL(i),n.onload=function(){e&&e(t,i,this.result)}})},p.prototype.upload=function(e,i){var n,a=this,l=a.config,r=a.elemFile[0],u=function(){var i=0,n=0,o=e||a.files||a.chooseFiles||r.files,u=function(){l.multiple&&i+n===a.fileLength&&"function"==typeof l.allDone&&l.allDone({total:a.fileLength,successful:i,aborted:n})};layui.each(o,function(e,o){var r=new FormData;r.append(l.field,o),layui.each(l.data,function(e,t){t="function"==typeof t?t():t,r.append(e,t)});var c={url:l.url,type:"post",data:r,contentType:!1,processData:!1,dataType:"json",headers:l.headers||{},success:function(t){i++,d(e,t),u()},error:function(){n++,a.msg("请求上传接口出现异常"),m(e),u()}};"function"==typeof l.progress&&(c.xhr=function(){var e=t.ajaxSettings.xhr();return e.upload.addEventListener("progress",function(e){if(e.lengthComputable){var t=Math.floor(e.loaded/e.total*100);l.progress(t,l.item[0],e)}}),e}),t.ajax(c)})},c=function(){var e=t("#"+f);a.elemFile.parent().submit(),clearInterval(p.timer),p.timer=setInterval(function(){var t,i=e.contents().find("body");try{t=i.text()}catch(n){a.msg("获取上传后的响应信息出现异常"),clearInterval(p.timer),m()}t&&(clearInterval(p.timer),i.html(""),d(0,t))},30)},d=function(e,t){if(a.elemFile.next("."+s).remove(),r.value="","object"!=typeof t)try{t=JSON.parse(t)}catch(i){return t={},a.msg("请对上传接口返回有效JSON")}"function"==typeof l.done&&l.done(t,e||0,function(e){a.upload(e)})},m=function(e){l.auto&&(r.value=""),"function"==typeof l.error&&l.error(e||0,function(e){a.upload(e)})},h=l.exts,v=function(){var t=[];return layui.each(e||a.chooseFiles,function(e,i){t.push(i.name)}),t}(),g={preview:function(e){a.preview(e)},upload:function(e,t){var i={};i[e]=t,a.upload(i)},pushFile:function(){return a.files=a.files||{},layui.each(a.chooseFiles,function(e,t){a.files[e]=t}),a.files},resetFile:function(e,t,i){var n=new File([t],i);a.files=a.files||{},a.files[e]=n}},y=function(){if("choose"!==i&&!l.auto||(l.choose&&l.choose(g),"choose"!==i))return l.before&&l.before(g),o.ie?o.ie>9?u():c():void u()};if(v=0===v.length?r.value.match(/[^\/\\]+\..+/g)||[]||"":v,0!==v.length){switch(l.accept){case"file":if(h&&!RegExp("\\w\\.("+h+")$","i").test(escape(v)))return a.msg("选择的文件中包含不支持的格式"),r.value="";break;case"video":if(!RegExp("\\w\\.("+(h||"avi|mp4|wma|rmvb|rm|flash|3gp|flv")+")$","i").test(escape(v)))return a.msg("选择的视频中包含不支持的格式"),r.value="";break;case"audio":if(!RegExp("\\w\\.("+(h||"mp3|wav|mid")+")$","i").test(escape(v)))return a.msg("选择的音频中包含不支持的格式"),r.value="";break;default:if(layui.each(v,function(e,t){RegExp("\\w\\.("+(h||"jpg|png|gif|bmp|jpeg$")+")","i").test(escape(t))||(n=!0)}),n)return a.msg("选择的图片中包含不支持的格式"),r.value=""}if(a.fileLength=function(){var t=0,i=e||a.files||a.chooseFiles||r.files;return layui.each(i,function(){t++}),t}(),l.number&&a.fileLength>l.number)return a.msg("同时最多只能上传的数量为:"+l.number);if(l.size>0&&!(o.ie&&o.ie<10)){var F;if(layui.each(a.chooseFiles,function(e,t){if(t.size>1024*l.size){var i=l.size/1024;i=i>=1?i.toFixed(2)+"MB":l.size+"KB",r.value="",F=i}}),F)return a.msg("文件不能超过"+F)}y()}},p.prototype.reload=function(e){e=e||{},delete e.elem,delete e.bindAction;var i=this,e=i.config=t.extend({},i.config,a.config,e),n=e.elem.next();n.attr({name:e.name,accept:e.acceptMime,multiple:e.multiple})},p.prototype.events=function(){var e=this,i=e.config,a=function(t){e.chooseFiles={},layui.each(t,function(t,i){var n=(new Date).getTime();e.chooseFiles[n+"-"+t]=i})},l=function(t,n){var o=e.elemFile,a=t.length>1?t.length+"个文件":(t[0]||{}).name||o[0].value.match(/[^\/\\]+\..+/g)||[]||"";o.next().hasClass(s)&&o.next().remove(),e.upload(null,"choose"),e.isFile()||i.choose||o.after(''+a+"")};i.elem.off("upload.start").on("upload.start",function(){var o=t(this),a=o.attr("lay-data");if(a)try{a=new Function("return "+a)(),e.config=t.extend({},i,a)}catch(l){n.error("Upload element property lay-data configuration item has a syntax error: "+a)}e.config.item=o,e.elemFile[0].click()}),o.ie&&o.ie<10||i.elem.off("upload.over").on("upload.over",function(){var e=t(this);e.attr("lay-over","")}).off("upload.leave").on("upload.leave",function(){var e=t(this);e.removeAttr("lay-over")}).off("upload.drop").on("upload.drop",function(n,o){var r=t(this),u=o.originalEvent.dataTransfer.files||[];r.removeAttr("lay-over"),a(u),i.auto?e.upload(u):l(u)}),e.elemFile.off("upload.change").on("upload.change",function(){var t=this.files||[];a(t),i.auto?e.upload():l(t)}),i.bindAction.off("upload.action").on("upload.action",function(){e.upload()}),i.elem.data("haveEvents")||(e.elemFile.on("change",function(){t(this).trigger("upload.change")}),i.elem.on("click",function(){e.isFile()||t(this).trigger("upload.start")}),i.drag&&i.elem.on("dragover",function(e){e.preventDefault(),t(this).trigger("upload.over")}).on("dragleave",function(e){t(this).trigger("upload.leave")}).on("drop",function(e){e.preventDefault(),t(this).trigger("upload.drop",e)}),i.bindAction.on("click",function(){t(this).trigger("upload.action")}),i.elem.data("haveEvents",!0))},a.render=function(e){var t=new p(e);return l.call(t)},e(r,a)}); \ No newline at end of file diff --git a/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/lay/modules/util.js b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/lay/modules/util.js new file mode 100644 index 00000000..fdc1ec2d --- /dev/null +++ b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/lay/modules/util.js @@ -0,0 +1,2 @@ +/** layui-v2.5.6 MIT License By https://www.layui.com */ + ;layui.define("jquery",function(e){"use strict";var t=layui.$,i={fixbar:function(e){var i,n,a="layui-fixbar",o="layui-fixbar-top",r=t(document),l=t("body");e=t.extend({showHeight:200},e),e.bar1=e.bar1===!0?"":e.bar1,e.bar2=e.bar2===!0?"":e.bar2,e.bgcolor=e.bgcolor?"background-color:"+e.bgcolor:"";var c=[e.bar1,e.bar2,""],u=t(['
        ',e.bar1?'
      • '+c[0]+"
      • ":"",e.bar2?'
      • '+c[1]+"
      • ":"",'
      • '+c[2]+"
      • ","
      "].join("")),g=u.find("."+o),s=function(){var t=r.scrollTop();t>=e.showHeight?i||(g.show(),i=1):i&&(g.hide(),i=0)};t("."+a)[0]||("object"==typeof e.css&&u.css(e.css),l.append(u),s(),u.find("li").on("click",function(){var i=t(this),n=i.attr("lay-type");"top"===n&&t("html,body").animate({scrollTop:0},200),e.click&&e.click.call(this,n)}),r.on("scroll",function(){clearTimeout(n),n=setTimeout(function(){s()},100)}))},countdown:function(e,t,i){var n=this,a="function"==typeof t,o=new Date(e).getTime(),r=new Date(!t||a?(new Date).getTime():t).getTime(),l=o-r,c=[Math.floor(l/864e5),Math.floor(l/36e5)%24,Math.floor(l/6e4)%60,Math.floor(l/1e3)%60];a&&(i=t);var u=setTimeout(function(){n.countdown(e,r+1e3,i)},1e3);return i&&i(l>0?c:[0,0,0,0],t,u),l<=0&&clearTimeout(u),u},timeAgo:function(e,t){var i=this,n=[[],[]],a=(new Date).getTime()-new Date(e).getTime();return a>26784e5?(a=new Date(e),n[0][0]=i.digit(a.getFullYear(),4),n[0][1]=i.digit(a.getMonth()+1),n[0][2]=i.digit(a.getDate()),t||(n[1][0]=i.digit(a.getHours()),n[1][1]=i.digit(a.getMinutes()),n[1][2]=i.digit(a.getSeconds())),n[0].join("-")+" "+n[1].join(":")):a>=864e5?(a/1e3/60/60/24|0)+"天前":a>=36e5?(a/1e3/60/60|0)+"小时前":a>=18e4?(a/1e3/60|0)+"分钟前":a<0?"未来":"刚刚"},digit:function(e,t){var i="";e=String(e),t=t||2;for(var n=e.length;n/g,">").replace(/'/g,"'").replace(/"/g,""")},event:function(e,n,a){var o=t("body");return a=a||"click",n=i.event[e]=t.extend(!0,i.event[e],n)||{},i.event.UTIL_EVENT_CALLBACK=i.event.UTIL_EVENT_CALLBACK||{},o.off(a,"*["+e+"]",i.event.UTIL_EVENT_CALLBACK[e]),i.event.UTIL_EVENT_CALLBACK[e]=function(){var i=t(this),a=i.attr(e);"function"==typeof n[a]&&n[a].call(this,i)},o.on(a,"*["+e+"]",i.event.UTIL_EVENT_CALLBACK[e]),n}};!function(e,t,i){"$:nomunge";function n(){a=t[l](function(){o.each(function(){var t=e(this),i=t.width(),n=t.height(),a=e.data(this,u);(i!==a.w||n!==a.h)&&t.trigger(c,[a.w=i,a.h=n])}),n()},r[g])}var a,o=e([]),r=e.resize=e.extend(e.resize,{}),l="setTimeout",c="resize",u=c+"-special-event",g="delay",s="throttleWindow";r[g]=250,r[s]=!0,e.event.special[c]={setup:function(){if(!r[s]&&this[l])return!1;var t=e(this);o=o.add(t),e.data(this,u,{w:t.width(),h:t.height()}),1===o.length&&n()},teardown:function(){if(!r[s]&&this[l])return!1;var t=e(this);o=o.not(t),t.removeData(u),o.length||clearTimeout(a)},add:function(t){function n(t,n,o){var r=e(this),l=e.data(this,u)||{};l.w=n!==i?n:r.width(),l.h=o!==i?o:r.height(),a.apply(this,arguments)}if(!r[s]&&this[l])return!1;var a;return e.isFunction(t)?(a=t,n):(a=t.handler,void(t.handler=n))}}}(t,window),e("util",i)}); \ No newline at end of file diff --git a/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/layui.js b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/layui.js new file mode 100644 index 00000000..99dba905 --- /dev/null +++ b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/layui/layui.js @@ -0,0 +1,2 @@ +/** layui-v2.5.6 MIT License By https://www.layui.com */ + ;!function(e){"use strict";var t=document,n={modules:{},status:{},timeout:10,event:{}},r=function(){this.v="2.5.6"},o=function(){var e=t.currentScript?t.currentScript.src:function(){for(var e,n=t.scripts,r=n.length-1,o=r;o>0;o--)if("interactive"===n[o].readyState){e=n[o].src;break}return e||n[r].src}();return e.substring(0,e.lastIndexOf("/")+1)}(),a=function(t){e.console&&console.error&&console.error("Layui hint: "+t)},i="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),u={layer:"modules/layer",laydate:"modules/laydate",laypage:"modules/laypage",laytpl:"modules/laytpl",layim:"modules/layim",layedit:"modules/layedit",form:"modules/form",upload:"modules/upload",transfer:"modules/transfer",tree:"modules/tree",table:"modules/table",element:"modules/element",rate:"modules/rate",colorpicker:"modules/colorpicker",slider:"modules/slider",carousel:"modules/carousel",flow:"modules/flow",util:"modules/util",code:"modules/code",jquery:"modules/jquery",mobile:"modules/mobile","layui.all":"../layui.all"};r.prototype.cache=n,r.prototype.define=function(e,t){var r=this,o="function"==typeof e,a=function(){var e=function(e,t){layui[e]=t,n.status[e]=!0};return"function"==typeof t&&t(function(r,o){e(r,o),n.callback[r]=function(){t(e)}}),this};return o&&(t=e,e=[]),!layui["layui.all"]&&layui["layui.mobile"]?a.call(r):(r.use(e,a),r)},r.prototype.use=function(e,r,l){function c(e,t){var r="PLaySTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/;("load"===e.type||r.test((e.currentTarget||e.srcElement).readyState))&&(n.modules[d]=t,y.removeChild(h),function o(){return++m>1e3*n.timeout/4?a(d+" is not a valid module"):void(n.status[d]?s():setTimeout(o,4))}())}function s(){l.push(layui[d]),e.length>1?p.use(e.slice(1),r,l):"function"==typeof r&&r.apply(layui,l)}var p=this,f=n.dir=n.dir?n.dir:o,y=t.getElementsByTagName("head")[0];e="string"==typeof e?[e]:e,window.jQuery&&jQuery.fn.on&&(p.each(e,function(t,n){"jquery"===n&&e.splice(t,1)}),layui.jquery=layui.$=jQuery);var d=e[0],m=0;if(l=l||[],n.host=n.host||(f.match(/\/\/([\s\S]+?)\//)||["//"+location.host+"/"])[0],0===e.length||layui["layui.all"]&&u[d]||!layui["layui.all"]&&layui["layui.mobile"]&&u[d])return s(),p;var v=(u[d]?f+"lay/":/^\{\/\}/.test(p.modules[d])?"":n.base||"")+(p.modules[d]||d)+".js";if(v=v.replace(/^\{\/\}/,""),!n.modules[d]&&layui[d]&&(n.modules[d]=v),n.modules[d])!function g(){return++m>1e3*n.timeout/4?a(d+" is not a valid module"):void("string"==typeof n.modules[d]&&n.status[d]?s():setTimeout(g,4))}();else{var h=t.createElement("script");h.async=!0,h.charset="utf-8",h.src=v+function(){var e=n.version===!0?n.v||(new Date).getTime():n.version||"";return e?"?v="+e:""}(),y.appendChild(h),!h.attachEvent||h.attachEvent.toString&&h.attachEvent.toString().indexOf("[native code")<0||i?h.addEventListener("load",function(e){c(e,v)},!1):h.attachEvent("onreadystatechange",function(e){c(e,v)}),n.modules[d]=v}return p},r.prototype.getStyle=function(t,n){var r=t.currentStyle?t.currentStyle:e.getComputedStyle(t,null);return r[r.getPropertyValue?"getPropertyValue":"getAttribute"](n)},r.prototype.link=function(e,r,o){var i=this,u=t.createElement("link"),l=t.getElementsByTagName("head")[0];"string"==typeof r&&(o=r);var c=(o||e).replace(/\.|\//g,""),s=u.id="layuicss-"+c,p=0;return u.rel="stylesheet",u.href=e+(n.debug?"?v="+(new Date).getTime():""),u.media="all",t.getElementById(s)||l.appendChild(u),"function"!=typeof r?i:(function f(){return++p>1e3*n.timeout/100?a(e+" timeout"):void(1989===parseInt(i.getStyle(t.getElementById(s),"width"))?function(){r()}():setTimeout(f,100))}(),i)},n.callback={},r.prototype.factory=function(e){if(layui[e])return"function"==typeof n.callback[e]?n.callback[e]:null},r.prototype.addcss=function(e,t,r){return layui.link(n.dir+"css/"+e,t,r)},r.prototype.img=function(e,t,n){var r=new Image;return r.src=e,r.complete?t(r):(r.onload=function(){r.onload=null,"function"==typeof t&&t(r)},void(r.onerror=function(e){r.onerror=null,"function"==typeof n&&n(e)}))},r.prototype.config=function(e){e=e||{};for(var t in e)n[t]=e[t];return this},r.prototype.modules=function(){var e={};for(var t in u)e[t]=u[t];return e}(),r.prototype.extend=function(e){var t=this;e=e||{};for(var n in e)t[n]||t.modules[n]?a("模块名 "+n+" 已被占用"):t.modules[n]=e[n];return t},r.prototype.router=function(e){var t=this,e=e||location.hash,n={path:[],search:{},hash:(e.match(/[^#](#.*$)/)||[])[1]||""};return/^#\//.test(e)?(e=e.replace(/^#\//,""),n.href="/"+e,e=e.replace(/([^#])(#.*$)/,"$1").split("/")||[],t.each(e,function(e,t){/^\w+=/.test(t)?function(){t=t.split("="),n.search[t[0]]=t[1]}():n.path.push(t)}),n):n},r.prototype.url=function(e){var t=this,n={pathname:function(){var t=e?function(){var t=(e.match(/\.[^.]+?\/.+/)||[])[0]||"";return t.replace(/^[^\/]+/,"").replace(/\?.+/,"")}():location.pathname;return t.replace(/^\//,"").split("/")}(),search:function(){var n={},r=(e?function(){var t=(e.match(/\?.+/)||[])[0]||"";return t.replace(/\#.+/,"")}():location.search).replace(/^\?+/,"").split("&");return t.each(r,function(e,t){var r=t.indexOf("="),o=function(){return r<0?t.substr(0,t.length):0!==r&&t.substr(0,r)}();o&&(n[o]=r>0?t.substr(r+1):null)}),n}(),hash:t.router(function(){return e?(e.match(/#.+/)||[])[0]||"":location.hash}())};return n},r.prototype.data=function(t,n,r){if(t=t||"layui",r=r||localStorage,e.JSON&&e.JSON.parse){if(null===n)return delete r[t];n="object"==typeof n?n:{key:n};try{var o=JSON.parse(r[t])}catch(a){var o={}}return"value"in n&&(o[n.key]=n.value),n.remove&&delete o[n.key],r[t]=JSON.stringify(o),n.key?o[n.key]:o}},r.prototype.sessionData=function(e,t){return this.data(e,t,sessionStorage)},r.prototype.device=function(t){var n=navigator.userAgent.toLowerCase(),r=function(e){var t=new RegExp(e+"/([^\\s\\_\\-]+)");return e=(n.match(t)||[])[1],e||!1},o={os:function(){return/windows/.test(n)?"windows":/linux/.test(n)?"linux":/iphone|ipod|ipad|ios/.test(n)?"ios":/mac/.test(n)?"mac":void 0}(),ie:function(){return!!(e.ActiveXObject||"ActiveXObject"in e)&&((n.match(/msie\s(\d+)/)||[])[1]||"11")}(),weixin:r("micromessenger")};return t&&!o[t]&&(o[t]=r(t)),o.android=/android/.test(n),o.ios="ios"===o.os,o.mobile=!(!o.android&&!o.ios),o},r.prototype.hint=function(){return{error:a}},r.prototype.each=function(e,t){var n,r=this;if("function"!=typeof t)return r;if(e=e||[],e.constructor===Object){for(n in e)if(t.call(e[n],n,e[n]))break}else for(n=0;na?1:o + + + + + 学生管理 + + + + + + + + + + + + +
      +
      + +
      + + + + + + + + + + + +
      姓名职务url操作
      +
      +
      + 共23223条 + 第111111页 + 共23223页 + +
      +
      +
      + +
      +
      +
      +
      新增员工
      +
      +
      +
      +
      +
      + +
      + + + +
      +
      + + + +
      +
      + + + +
      +
      +
      +
      +
      +
      + + + +
      +
      +
      + + + + diff --git a/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/static/admin/css/html.css b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/static/admin/css/html.css new file mode 100644 index 00000000..9d1a9010 --- /dev/null +++ b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/static/admin/css/html.css @@ -0,0 +1,19 @@ +#body { + position: absolute; + z-index: 100; + top: 0px; + right: 0px; + width: 100%; + height: 100%; + border: 0; + padding: 20px; + padding-top: 80px; + background-color: #eaeaea; +} +#body > main { + padding: 0; +} +#body > * { + background-color: #fff; + height: 100%; +} diff --git a/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/static/admin/css/iconfont.css b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/static/admin/css/iconfont.css new file mode 100644 index 00000000..b0d63477 --- /dev/null +++ b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/static/admin/css/iconfont.css @@ -0,0 +1,20 @@ +@font-face { + font-family: 'iconfont'; + src: url('../../iconfont/iconfont.eot'); + src: url('../../iconfont/iconfont.eot?#iefix') format('embedded-opentype'), + url('../../iconfont/iconfont.woff2') format('woff2'), + url('../../iconfont/iconfont.woff') format('woff'), + url('../../iconfont/iconfont.ttf') format('truetype'), + url('../../iconfont/iconfont.svg#iconfont') format('svg'); +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + + + diff --git a/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/static/admin/css/index.css b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/static/admin/css/index.css new file mode 100644 index 00000000..1478957d --- /dev/null +++ b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/static/admin/css/index.css @@ -0,0 +1,140 @@ +@import "iconfont.css"; +html, +body { + height: 100%; +} +* { + border-radius: 0 !important; + text-decoration: none !important; +} +ul { + margin: 0; + padding: 0; +} +ul li { + margin: 0; + padding: 0; + list-style: none; +} +::-webkit-scrollbar { + width: 3px; + background-color: #eee; +} +::-webkit-scrollbar-thumb { + background: #6897ff; + border-radius: 10px; +} +::-webkit-scrollbar-track-piece { + background: transparent; +} +html, +body { + height: 100%; +} +#app { + display: flex; + height: 100%; +} +main { + flex: 1; + height: 100%; + position: relative; +} +nav { + width: 200px; + height: 100%; + background-color: #333; + overflow: hidden; + display: flex; + flex-direction: column; +} +nav .logo { + height: 60px; + line-height: 60px; + text-align: center; + color: #fff; + background-color: #222; +} +nav .logo h4 { + height: 60px; + line-height: 60px; +} +nav .menu { + flex: 1; + overflow-y: auto; + padding-bottom: 50px; +} +nav .menu::-webkit-scrollbar { + width: 3px; + background-color: #333; +} +nav .menu::-webkit-scrollbar-thumb { + background: #666; + border-radius: 10px; +} +nav .menu::-webkit-scrollbar-track-piece { + background: transparent; +} +nav .menu .unwind .arrow { + transform: rotate(0deg) !important; +} +nav .menu .unwind .sub-menu { + display: none; +} +nav .menu li a { + display: block; + width: 100%; + height: 50px; + line-height: 50px; + padding: 0 20px 0 30px; + background-color: #363636; + border-left: 4px solid #363636; + color: #eee; + font-size: 16px; +} +nav .menu li a .arrow { + transform: rotate(90deg); +} +nav .menu li .sub-menu li a { + height: 40px; + font-size: 14px; + line-height: 40px; + padding-left: 50px; + background-color: #333; +} +nav .menu li .sub-menu li a:hover { + background-color: rgba(0, 0, 0, 0.4); + border-left: 4px solid rgba(0, 0, 0, 0.4); +} +nav .menu li .sub-menu li a.active { + border-left: 4px solid #007bff; + background-color: rgba(0, 0, 0, 0.4); +} +nav .menu li a.active { + border-left: 4px solid #007bff; + background-color: rgba(0, 0, 0, 0.4); +} +nav .menu li a:hover { + background-color: rgba(0, 0, 0, 0.4); + border-left: 4px solid rgba(0, 0, 0, 0.4); +} +header { + position: absolute; + top: 0px; + right: 0px; + width: 100%; + height: 60px; + padding: 15px 20px; + z-index: 101; + background-color: #fff; +} +iframe { + position: absolute; + z-index: 100; + top: 0px; + right: 0px; + width: 100%; + height: 100%; + border: 0; + padding-top: 60px; +} diff --git a/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/static/admin/css/main.css b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/static/admin/css/main.css new file mode 100644 index 00000000..98ba1312 --- /dev/null +++ b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/static/admin/css/main.css @@ -0,0 +1,111 @@ +@import "iconfont.css"; +html, +body { + height: 100%; +} +* { + border-radius: 0 !important; + text-decoration: none !important; +} +ul { + margin: 0; + padding: 0; +} +ul li { + margin: 0; + padding: 0; + list-style: none; +} +::-webkit-scrollbar { + width: 3px; + background-color: #eee; +} +::-webkit-scrollbar-thumb { + background: #6897ff; + border-radius: 10px; +} +::-webkit-scrollbar-track-piece { + background: transparent; +} +* { + box-sizing: border-box; +} +.row { + margin: 0; +} +.row .col { + padding: 0; +} +body, +html { + height: 100%; + color: #999; +} +body main, +html main { + padding: 20px; + background-color: #eaeaea; + height: 100%; +} +body main > div, +html main > div { + background-color: #fff; + height: 100%; +} +body main .main, +html main .main { + padding: 0 20px; + position: relative; + display: flex; + flex-direction: column; + /*列 垂直方向*/ + height: 100%; + /*全屏效果 该元素及其父元素及html、body height:100%*/ +} +body main .main form, +html main .main form { + height: 100%; +} +body main .main .search, +html main .main .search { + padding: 20px 0; + overflow: hidden; +} +body main .main .table-box, +html main .main .table-box { + flex: 1; + overflow-y: auto; +} +body main .main .title-box, +html main .main .title-box { + padding: 15px 0; + width: 100%; + border-bottom: 1px solid #ccc; +} +body main .main .title-box h5, +html main .main .title-box h5 { + float: left; + color: #999; + margin: 0; +} +body main .main .form-box, +html main .main .form-box { + padding: 20px 0px; + flex: 1; + overflow-y: auto; + box-sizing: border-box; +} +body main .main .submit-box, +html main .main .submit-box { + padding: 20px 0; + width: 100%; +} +body main .main .page, +html main .main .page { + padding: 20px 0; + width: 100%; +} +body main .main .page nav, +html main .main .page nav { + float: right; +} diff --git a/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/static/admin/js/script.js b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/static/admin/js/script.js new file mode 100644 index 00000000..5740bc8e --- /dev/null +++ b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/static/admin/js/script.js @@ -0,0 +1,102 @@ + + +$(document).ready(function() { + + //点击高亮 + $('.menu a').click(function () { + let href = $(this).attr('href'); + if(href!='javascript:;'){ + $('.menu a').removeClass('active'); + $(this).addClass('active'); + } + + }) + + //菜单收展 + $('.menu .top-menu').click(function () { + + let pa = $(this).parent(); + + if(pa.hasClass('unwind')){ + pa.removeClass('unwind'); + }else{ + pa.addClass('unwind'); + } + + + }) + //删除 + $(".del").click(function () { + var url = $(this).attr("href"); + var id = $(this).attr("data-id"); + + layer.confirm('你确定要删除么?', { + btn: ['确定', '取消'] + }, function () { + $.get(url, function (data) { + if (data.code == 1) { + $(id).fadeOut(); + layer.msg(data.msg, {icon: 1}); + } else { + layer.msg(data.msg, {icon: 2}); + } + }); + }, function () { + layer.msg("您取消了删除!"); + }); + return false; + }); +}) + +function delCache(){ + sessionStorage.clear(); + localStorage.clear(); +} + +function msg(code=1,msg='',url='',s=3) { + if(typeof code == 'object') { + msg = code.msg; + url = code.url || ''; + s = code.s || 3; + code = code.code; + } + code = code==1 ? 1 : 2; + layer.msg(msg, {icon: code,offset: config.layerMsg.offset || 't',shade: config.layerMsg.shade || [0.4, '#000']}); + if(url){ + setTimeout(function () { + window.location.href = url; + },s*1000); + } +} + + +//百度统计,使用时请去掉 +var _hmt = _hmt || []; +(function() { + var hm = document.createElement("script"); + hm.src = "https://hm.baidu.com/hm.js?2b45cf3bb7ac4664bb612c10feebf85d"; + var s = document.getElementsByTagName("script")[0]; + s.parentNode.insertBefore(hm, s); +})(); + +function baseUrl() +{ + //获取当前网址,如: http://localhost:8080/myproj/view/my.jsp + var curWwwPath=window.document.location.href; + //获取主机地址之后的目录,如: myproj/view/my.jsp + var pathName=window.document.location.pathname; + var pos=curWwwPath.indexOf(pathName); + //获取主机地址,如: http://localhost:8080 + var localhostPaht=curWwwPath.substring(0,pos); + //获取带"/"的项目名,如:/myproj + var projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1); + //得到了 http://localhost:8080/myproj + var realPath=localhostPaht+projectName; + return realPath; + //alert(realPath); +} + + + + + diff --git a/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/static/bootstrap/css/bootstrap.css b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/static/bootstrap/css/bootstrap.css new file mode 100644 index 00000000..ceb4a04f --- /dev/null +++ b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/static/bootstrap/css/bootstrap.css @@ -0,0 +1,9631 @@ +/*! + * Bootstrap v4.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +:root { + --blue: #007bff; + --indigo: #6610f2; + --purple: #6f42c1; + --pink: #e83e8c; + --red: #dc3545; + --orange: #fd7e14; + --yellow: #ffc107; + --green: #28a745; + --teal: #20c997; + --cyan: #17a2b8; + --white: #fff; + --gray: #6c757d; + --gray-dark: #343a40; + --primary: #007bff; + --secondary: #6c757d; + --success: #28a745; + --info: #17a2b8; + --warning: #ffc107; + --danger: #dc3545; + --light: #f8f9fa; + --dark: #343a40; + --breakpoint-xs: 0; + --breakpoint-sm: 576px; + --breakpoint-md: 768px; + --breakpoint-lg: 992px; + --breakpoint-xl: 1200px; + --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; +} + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; +} + +[tabindex="-1"]:focus:not(:focus-visible) { + outline: 0 !important; +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: .5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -.25em; +} + +sup { + top: -.5em; +} + +a { + color: #007bff; + text-decoration: none; + background-color: transparent; +} + +a:hover { + color: #0056b3; + text-decoration: underline; +} + +a:not([href]) { + color: inherit; + text-decoration: none; +} + +a:not([href]):hover { + color: inherit; + text-decoration: none; +} + +pre, +code, +kbd, +samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 1em; +} + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; +} + +figure { + margin: 0 0 1rem; +} + +img { + vertical-align: middle; + border-style: none; +} + +svg { + overflow: hidden; + vertical-align: middle; +} + +table { + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #6c757d; + text-align: left; + caption-side: bottom; +} + +th { + text-align: inherit; +} + +label { + display: inline-block; + margin-bottom: 0.5rem; +} + +button { + border-radius: 0; +} + +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +select { + word-wrap: normal; +} + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +button:not(:disabled), +[type="button"]:not(:disabled), +[type="reset"]:not(:disabled), +[type="submit"]:not(:disabled) { + cursor: pointer; +} + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + -webkit-appearance: listbox; +} + +textarea { + overflow: auto; + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +progress { + vertical-align: baseline; +} + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; +} + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +summary { + display: list-item; + cursor: pointer; +} + +template { + display: none; +} + +[hidden] { + display: none !important; +} + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; +} + +h1, .h1 { + font-size: 2.5rem; +} + +h2, .h2 { + font-size: 2rem; +} + +h3, .h3 { + font-size: 1.75rem; +} + +h4, .h4 { + font-size: 1.5rem; +} + +h5, .h5 { + font-size: 1.25rem; +} + +h6, .h6 { + font-size: 1rem; +} + +.lead { + font-size: 1.25rem; + font-weight: 300; +} + +.display-1 { + font-size: 6rem; + font-weight: 300; + line-height: 1.2; +} + +.display-2 { + font-size: 5.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-3 { + font-size: 4.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-4 { + font-size: 3.5rem; + font-weight: 300; + line-height: 1.2; +} + +hr { + margin-top: 1rem; + margin-bottom: 1rem; + border: 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); +} + +small, +.small { + font-size: 80%; + font-weight: 400; +} + +mark, +.mark { + padding: 0.2em; + background-color: #fcf8e3; +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline-item { + display: inline-block; +} + +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} + +.initialism { + font-size: 90%; + text-transform: uppercase; +} + +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} + +.blockquote-footer { + display: block; + font-size: 80%; + color: #6c757d; +} + +.blockquote-footer::before { + content: "\2014\00A0"; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #dee2e6; + border-radius: 0.25rem; + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: 90%; + color: #6c757d; +} + +code { + font-size: 87.5%; + color: #e83e8c; + word-wrap: break-word; +} + +a > code { + color: inherit; +} + +kbd { + padding: 0.2rem 0.4rem; + font-size: 87.5%; + color: #fff; + background-color: #212529; + border-radius: 0.2rem; +} + +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: 700; +} + +pre { + display: block; + font-size: 87.5%; + color: #212529; +} + +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +.container { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container { + max-width: 1140px; + } +} + +.container-fluid, .container-sm, .container-md, .container-lg, .container-xl { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container, .container-sm { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container, .container-sm, .container-md { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container, .container-sm, .container-md, .container-lg { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container, .container-sm, .container-md, .container-lg, .container-xl { + max-width: 1140px; + } +} + +.row { + display: flex; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; +} + +.no-gutters { + margin-right: 0; + margin-left: 0; +} + +.no-gutters > .col, +.no-gutters > [class*="col-"] { + padding-right: 0; + padding-left: 0; +} + +.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, +.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, +.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, +.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, +.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, +.col-xl-auto { + position: relative; + width: 100%; + padding-right: 15px; + padding-left: 15px; +} + +.col { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; +} + +.row-cols-1 > * { + flex: 0 0 100%; + max-width: 100%; +} + +.row-cols-2 > * { + flex: 0 0 50%; + max-width: 50%; +} + +.row-cols-3 > * { + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.row-cols-4 > * { + flex: 0 0 25%; + max-width: 25%; +} + +.row-cols-5 > * { + flex: 0 0 20%; + max-width: 20%; +} + +.row-cols-6 > * { + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; +} + +.col-1 { + flex: 0 0 8.333333%; + max-width: 8.333333%; +} + +.col-2 { + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-3 { + flex: 0 0 25%; + max-width: 25%; +} + +.col-4 { + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.col-5 { + flex: 0 0 41.666667%; + max-width: 41.666667%; +} + +.col-6 { + flex: 0 0 50%; + max-width: 50%; +} + +.col-7 { + flex: 0 0 58.333333%; + max-width: 58.333333%; +} + +.col-8 { + flex: 0 0 66.666667%; + max-width: 66.666667%; +} + +.col-9 { + flex: 0 0 75%; + max-width: 75%; +} + +.col-10 { + flex: 0 0 83.333333%; + max-width: 83.333333%; +} + +.col-11 { + flex: 0 0 91.666667%; + max-width: 91.666667%; +} + +.col-12 { + flex: 0 0 100%; + max-width: 100%; +} + +.order-first { + order: -1; +} + +.order-last { + order: 13; +} + +.order-0 { + order: 0; +} + +.order-1 { + order: 1; +} + +.order-2 { + order: 2; +} + +.order-3 { + order: 3; +} + +.order-4 { + order: 4; +} + +.order-5 { + order: 5; +} + +.order-6 { + order: 6; +} + +.order-7 { + order: 7; +} + +.order-8 { + order: 8; +} + +.order-9 { + order: 9; +} + +.order-10 { + order: 10; +} + +.order-11 { + order: 11; +} + +.order-12 { + order: 12; +} + +.offset-1 { + margin-left: 8.333333%; +} + +.offset-2 { + margin-left: 16.666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.333333%; +} + +.offset-5 { + margin-left: 41.666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.333333%; +} + +.offset-8 { + margin-left: 66.666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.333333%; +} + +.offset-11 { + margin-left: 91.666667%; +} + +@media (min-width: 576px) { + .col-sm { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + .row-cols-sm-1 > * { + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-sm-2 > * { + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-sm-3 > * { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-sm-4 > * { + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-sm-5 > * { + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-sm-6 > * { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-sm-1 { + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-sm-2 { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-3 { + flex: 0 0 25%; + max-width: 25%; + } + .col-sm-4 { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-sm-5 { + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-sm-6 { + flex: 0 0 50%; + max-width: 50%; + } + .col-sm-7 { + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-sm-8 { + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-sm-9 { + flex: 0 0 75%; + max-width: 75%; + } + .col-sm-10 { + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-sm-11 { + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-sm-12 { + flex: 0 0 100%; + max-width: 100%; + } + .order-sm-first { + order: -1; + } + .order-sm-last { + order: 13; + } + .order-sm-0 { + order: 0; + } + .order-sm-1 { + order: 1; + } + .order-sm-2 { + order: 2; + } + .order-sm-3 { + order: 3; + } + .order-sm-4 { + order: 4; + } + .order-sm-5 { + order: 5; + } + .order-sm-6 { + order: 6; + } + .order-sm-7 { + order: 7; + } + .order-sm-8 { + order: 8; + } + .order-sm-9 { + order: 9; + } + .order-sm-10 { + order: 10; + } + .order-sm-11 { + order: 11; + } + .order-sm-12 { + order: 12; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.333333%; + } + .offset-sm-2 { + margin-left: 16.666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.333333%; + } + .offset-sm-5 { + margin-left: 41.666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.333333%; + } + .offset-sm-8 { + margin-left: 66.666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.333333%; + } + .offset-sm-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 768px) { + .col-md { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + .row-cols-md-1 > * { + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-md-2 > * { + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-md-3 > * { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-md-4 > * { + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-md-5 > * { + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-md-6 > * { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-md-1 { + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-md-2 { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-3 { + flex: 0 0 25%; + max-width: 25%; + } + .col-md-4 { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-md-5 { + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-md-6 { + flex: 0 0 50%; + max-width: 50%; + } + .col-md-7 { + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-md-8 { + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-md-9 { + flex: 0 0 75%; + max-width: 75%; + } + .col-md-10 { + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-md-11 { + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-md-12 { + flex: 0 0 100%; + max-width: 100%; + } + .order-md-first { + order: -1; + } + .order-md-last { + order: 13; + } + .order-md-0 { + order: 0; + } + .order-md-1 { + order: 1; + } + .order-md-2 { + order: 2; + } + .order-md-3 { + order: 3; + } + .order-md-4 { + order: 4; + } + .order-md-5 { + order: 5; + } + .order-md-6 { + order: 6; + } + .order-md-7 { + order: 7; + } + .order-md-8 { + order: 8; + } + .order-md-9 { + order: 9; + } + .order-md-10 { + order: 10; + } + .order-md-11 { + order: 11; + } + .order-md-12 { + order: 12; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.333333%; + } + .offset-md-2 { + margin-left: 16.666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.333333%; + } + .offset-md-5 { + margin-left: 41.666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.333333%; + } + .offset-md-8 { + margin-left: 66.666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.333333%; + } + .offset-md-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 992px) { + .col-lg { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + .row-cols-lg-1 > * { + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-lg-2 > * { + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-lg-3 > * { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-lg-4 > * { + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-lg-5 > * { + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-lg-6 > * { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-lg-1 { + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-lg-2 { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-3 { + flex: 0 0 25%; + max-width: 25%; + } + .col-lg-4 { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-lg-5 { + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-lg-6 { + flex: 0 0 50%; + max-width: 50%; + } + .col-lg-7 { + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-lg-8 { + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-lg-9 { + flex: 0 0 75%; + max-width: 75%; + } + .col-lg-10 { + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-lg-11 { + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-lg-12 { + flex: 0 0 100%; + max-width: 100%; + } + .order-lg-first { + order: -1; + } + .order-lg-last { + order: 13; + } + .order-lg-0 { + order: 0; + } + .order-lg-1 { + order: 1; + } + .order-lg-2 { + order: 2; + } + .order-lg-3 { + order: 3; + } + .order-lg-4 { + order: 4; + } + .order-lg-5 { + order: 5; + } + .order-lg-6 { + order: 6; + } + .order-lg-7 { + order: 7; + } + .order-lg-8 { + order: 8; + } + .order-lg-9 { + order: 9; + } + .order-lg-10 { + order: 10; + } + .order-lg-11 { + order: 11; + } + .order-lg-12 { + order: 12; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.333333%; + } + .offset-lg-2 { + margin-left: 16.666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.333333%; + } + .offset-lg-5 { + margin-left: 41.666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.333333%; + } + .offset-lg-8 { + margin-left: 66.666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.333333%; + } + .offset-lg-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 1200px) { + .col-xl { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + .row-cols-xl-1 > * { + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-xl-2 > * { + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-xl-3 > * { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-xl-4 > * { + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-xl-5 > * { + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-xl-6 > * { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-xl-1 { + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-xl-2 { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-3 { + flex: 0 0 25%; + max-width: 25%; + } + .col-xl-4 { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-xl-5 { + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-xl-6 { + flex: 0 0 50%; + max-width: 50%; + } + .col-xl-7 { + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-xl-8 { + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-xl-9 { + flex: 0 0 75%; + max-width: 75%; + } + .col-xl-10 { + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-xl-11 { + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-xl-12 { + flex: 0 0 100%; + max-width: 100%; + } + .order-xl-first { + order: -1; + } + .order-xl-last { + order: 13; + } + .order-xl-0 { + order: 0; + } + .order-xl-1 { + order: 1; + } + .order-xl-2 { + order: 2; + } + .order-xl-3 { + order: 3; + } + .order-xl-4 { + order: 4; + } + .order-xl-5 { + order: 5; + } + .order-xl-6 { + order: 6; + } + .order-xl-7 { + order: 7; + } + .order-xl-8 { + order: 8; + } + .order-xl-9 { + order: 9; + } + .order-xl-10 { + order: 10; + } + .order-xl-11 { + order: 11; + } + .order-xl-12 { + order: 12; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.333333%; + } + .offset-xl-2 { + margin-left: 16.666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.333333%; + } + .offset-xl-5 { + margin-left: 41.666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.333333%; + } + .offset-xl-8 { + margin-left: 66.666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.333333%; + } + .offset-xl-11 { + margin-left: 91.666667%; + } +} + +.table { + width: 100%; + margin-bottom: 1rem; + color: #212529; +} + +.table th, +.table td { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid #dee2e6; +} + +.table thead th { + vertical-align: bottom; + border-bottom: 2px solid #dee2e6; +} + +.table tbody + tbody { + border-top: 2px solid #dee2e6; +} + +.table-sm th, +.table-sm td { + padding: 0.3rem; +} + +.table-bordered { + border: 1px solid #dee2e6; +} + +.table-bordered th, +.table-bordered td { + border: 1px solid #dee2e6; +} + +.table-bordered thead th, +.table-bordered thead td { + border-bottom-width: 2px; +} + +.table-borderless th, +.table-borderless td, +.table-borderless thead th, +.table-borderless tbody + tbody { + border: 0; +} + +.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(0, 0, 0, 0.05); +} + +.table-hover tbody tr:hover { + color: #212529; + background-color: rgba(0, 0, 0, 0.075); +} + +.table-primary, +.table-primary > th, +.table-primary > td { + background-color: #b8daff; +} + +.table-primary th, +.table-primary td, +.table-primary thead th, +.table-primary tbody + tbody { + border-color: #7abaff; +} + +.table-hover .table-primary:hover { + background-color: #9fcdff; +} + +.table-hover .table-primary:hover > td, +.table-hover .table-primary:hover > th { + background-color: #9fcdff; +} + +.table-secondary, +.table-secondary > th, +.table-secondary > td { + background-color: #d6d8db; +} + +.table-secondary th, +.table-secondary td, +.table-secondary thead th, +.table-secondary tbody + tbody { + border-color: #b3b7bb; +} + +.table-hover .table-secondary:hover { + background-color: #c8cbcf; +} + +.table-hover .table-secondary:hover > td, +.table-hover .table-secondary:hover > th { + background-color: #c8cbcf; +} + +.table-success, +.table-success > th, +.table-success > td { + background-color: #c3e6cb; +} + +.table-success th, +.table-success td, +.table-success thead th, +.table-success tbody + tbody { + border-color: #8fd19e; +} + +.table-hover .table-success:hover { + background-color: #b1dfbb; +} + +.table-hover .table-success:hover > td, +.table-hover .table-success:hover > th { + background-color: #b1dfbb; +} + +.table-info, +.table-info > th, +.table-info > td { + background-color: #bee5eb; +} + +.table-info th, +.table-info td, +.table-info thead th, +.table-info tbody + tbody { + border-color: #86cfda; +} + +.table-hover .table-info:hover { + background-color: #abdde5; +} + +.table-hover .table-info:hover > td, +.table-hover .table-info:hover > th { + background-color: #abdde5; +} + +.table-warning, +.table-warning > th, +.table-warning > td { + background-color: #ffeeba; +} + +.table-warning th, +.table-warning td, +.table-warning thead th, +.table-warning tbody + tbody { + border-color: #ffdf7e; +} + +.table-hover .table-warning:hover { + background-color: #ffe8a1; +} + +.table-hover .table-warning:hover > td, +.table-hover .table-warning:hover > th { + background-color: #ffe8a1; +} + +.table-danger, +.table-danger > th, +.table-danger > td { + background-color: #f5c6cb; +} + +.table-danger th, +.table-danger td, +.table-danger thead th, +.table-danger tbody + tbody { + border-color: #ed969e; +} + +.table-hover .table-danger:hover { + background-color: #f1b0b7; +} + +.table-hover .table-danger:hover > td, +.table-hover .table-danger:hover > th { + background-color: #f1b0b7; +} + +.table-light, +.table-light > th, +.table-light > td { + background-color: #fdfdfe; +} + +.table-light th, +.table-light td, +.table-light thead th, +.table-light tbody + tbody { + border-color: #fbfcfc; +} + +.table-hover .table-light:hover { + background-color: #ececf6; +} + +.table-hover .table-light:hover > td, +.table-hover .table-light:hover > th { + background-color: #ececf6; +} + +.table-dark, +.table-dark > th, +.table-dark > td { + background-color: #c6c8ca; +} + +.table-dark th, +.table-dark td, +.table-dark thead th, +.table-dark tbody + tbody { + border-color: #95999c; +} + +.table-hover .table-dark:hover { + background-color: #b9bbbe; +} + +.table-hover .table-dark:hover > td, +.table-hover .table-dark:hover > th { + background-color: #b9bbbe; +} + +.table-active, +.table-active > th, +.table-active > td { + background-color: rgba(0, 0, 0, 0.075); +} + +.table-hover .table-active:hover { + background-color: rgba(0, 0, 0, 0.075); +} + +.table-hover .table-active:hover > td, +.table-hover .table-active:hover > th { + background-color: rgba(0, 0, 0, 0.075); +} + +.table .thead-dark th { + color: #fff; + background-color: #343a40; + border-color: #454d55; +} + +.table .thead-light th { + color: #495057; + background-color: #e9ecef; + border-color: #dee2e6; +} + +.table-dark { + color: #fff; + background-color: #343a40; +} + +.table-dark th, +.table-dark td, +.table-dark thead th { + border-color: #454d55; +} + +.table-dark.table-bordered { + border: 0; +} + +.table-dark.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(255, 255, 255, 0.05); +} + +.table-dark.table-hover tbody tr:hover { + color: #fff; + background-color: rgba(255, 255, 255, 0.075); +} + +@media (max-width: 575.98px) { + .table-responsive-sm { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-sm > .table-bordered { + border: 0; + } +} + +@media (max-width: 767.98px) { + .table-responsive-md { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-md > .table-bordered { + border: 0; + } +} + +@media (max-width: 991.98px) { + .table-responsive-lg { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-lg > .table-bordered { + border: 0; + } +} + +@media (max-width: 1199.98px) { + .table-responsive-xl { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-xl > .table-bordered { + border: 0; + } +} + +.table-responsive { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} + +.table-responsive > .table-bordered { + border: 0; +} + +.form-control { + display: block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da; + border-radius: 0.25rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} + +.form-control::-ms-expand { + background-color: transparent; + border: 0; +} + +.form-control:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #495057; +} + +.form-control:focus { + color: #495057; + background-color: #fff; + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.form-control::placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control:disabled, .form-control[readonly] { + background-color: #e9ecef; + opacity: 1; +} + +select.form-control:focus::-ms-value { + color: #495057; + background-color: #fff; +} + +.form-control-file, +.form-control-range { + display: block; + width: 100%; +} + +.col-form-label { + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; +} + +.col-form-label-lg { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.25rem; + line-height: 1.5; +} + +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.875rem; + line-height: 1.5; +} + +.form-control-plaintext { + display: block; + width: 100%; + padding: 0.375rem 0; + margin-bottom: 0; + font-size: 1rem; + line-height: 1.5; + color: #212529; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; +} + +.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; +} + +.form-control-sm { + height: calc(1.5em + 0.5rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.form-control-lg { + height: calc(1.5em + 1rem + 2px); + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +select.form-control[size], select.form-control[multiple] { + height: auto; +} + +textarea.form-control { + height: auto; +} + +.form-group { + margin-bottom: 1rem; +} + +.form-text { + display: block; + margin-top: 0.25rem; +} + +.form-row { + display: flex; + flex-wrap: wrap; + margin-right: -5px; + margin-left: -5px; +} + +.form-row > .col, +.form-row > [class*="col-"] { + padding-right: 5px; + padding-left: 5px; +} + +.form-check { + position: relative; + display: block; + padding-left: 1.25rem; +} + +.form-check-input { + position: absolute; + margin-top: 0.3rem; + margin-left: -1.25rem; +} + +.form-check-input[disabled] ~ .form-check-label, +.form-check-input:disabled ~ .form-check-label { + color: #6c757d; +} + +.form-check-label { + margin-bottom: 0; +} + +.form-check-inline { + display: inline-flex; + align-items: center; + padding-left: 0; + margin-right: 0.75rem; +} + +.form-check-inline .form-check-input { + position: static; + margin-top: 0; + margin-right: 0.3125rem; + margin-left: 0; +} + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #28a745; +} + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(40, 167, 69, 0.9); + border-radius: 0.25rem; +} + +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip, +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-control:valid, .form-control.is-valid { + border-color: #28a745; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .custom-select:valid, .custom-select.is-valid { + border-color: #28a745; + padding-right: calc(0.75em + 2.3125rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: #28a745; +} + +.was-validated .form-check-input:valid ~ .valid-feedback, +.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, +.form-check-input.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label { + color: #28a745; +} + +.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before { + border-color: #28a745; +} + +.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before { + border-color: #34ce57; + background-color: #34ce57; +} + +.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #28a745; +} + +.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { + border-color: #28a745; +} + +.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #dc3545; +} + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(220, 53, 69, 0.9); + border-radius: 0.25rem; +} + +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip, +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-control:invalid, .form-control.is-invalid { + border-color: #dc3545; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .custom-select:invalid, .custom-select.is-invalid { + border-color: #dc3545; + padding-right: calc(0.75em + 2.3125rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: #dc3545; +} + +.was-validated .form-check-input:invalid ~ .invalid-feedback, +.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, +.form-check-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label { + color: #dc3545; +} + +.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before { + border-color: #dc3545; +} + +.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before { + border-color: #e4606d; + background-color: #e4606d; +} + +.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #dc3545; +} + +.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { + border-color: #dc3545; +} + +.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.form-inline { + display: flex; + flex-flow: row wrap; + align-items: center; +} + +.form-inline .form-check { + width: 100%; +} + +@media (min-width: 576px) { + .form-inline label { + display: flex; + align-items: center; + justify-content: center; + margin-bottom: 0; + } + .form-inline .form-group { + display: flex; + flex: 0 0 auto; + flex-flow: row wrap; + align-items: center; + margin-bottom: 0; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-plaintext { + display: inline-block; + } + .form-inline .input-group, + .form-inline .custom-select { + width: auto; + } + .form-inline .form-check { + display: flex; + align-items: center; + justify-content: center; + width: auto; + padding-left: 0; + } + .form-inline .form-check-input { + position: relative; + flex-shrink: 0; + margin-top: 0; + margin-right: 0.25rem; + margin-left: 0; + } + .form-inline .custom-control { + align-items: center; + justify-content: center; + } + .form-inline .custom-control-label { + margin-bottom: 0; + } +} + +.btn { + display: inline-block; + font-weight: 400; + color: #212529; + text-align: center; + vertical-align: middle; + cursor: pointer; + user-select: none; + background-color: transparent; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} + +.btn:hover { + color: #212529; + text-decoration: none; +} + +.btn:focus, .btn.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.btn.disabled, .btn:disabled { + opacity: 0.65; +} + +a.btn.disabled, +fieldset:disabled a.btn { + pointer-events: none; +} + +.btn-primary { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-primary:hover { + color: #fff; + background-color: #0069d9; + border-color: #0062cc; +} + +.btn-primary:focus, .btn-primary.focus { + color: #fff; + background-color: #0069d9; + border-color: #0062cc; + box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); +} + +.btn-primary.disabled, .btn-primary:disabled { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, +.show > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #0062cc; + border-color: #005cbf; +} + +.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); +} + +.btn-secondary { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-secondary:hover { + color: #fff; + background-color: #5a6268; + border-color: #545b62; +} + +.btn-secondary:focus, .btn-secondary.focus { + color: #fff; + background-color: #5a6268; + border-color: #545b62; + box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); +} + +.btn-secondary.disabled, .btn-secondary:disabled { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, +.show > .btn-secondary.dropdown-toggle { + color: #fff; + background-color: #545b62; + border-color: #4e555b; +} + +.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, +.show > .btn-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); +} + +.btn-success { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-success:hover { + color: #fff; + background-color: #218838; + border-color: #1e7e34; +} + +.btn-success:focus, .btn-success.focus { + color: #fff; + background-color: #218838; + border-color: #1e7e34; + box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); +} + +.btn-success.disabled, .btn-success:disabled { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, +.show > .btn-success.dropdown-toggle { + color: #fff; + background-color: #1e7e34; + border-color: #1c7430; +} + +.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, +.show > .btn-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); +} + +.btn-info { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-info:hover { + color: #fff; + background-color: #138496; + border-color: #117a8b; +} + +.btn-info:focus, .btn-info.focus { + color: #fff; + background-color: #138496; + border-color: #117a8b; + box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); +} + +.btn-info.disabled, .btn-info:disabled { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, +.show > .btn-info.dropdown-toggle { + color: #fff; + background-color: #117a8b; + border-color: #10707f; +} + +.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, +.show > .btn-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); +} + +.btn-warning { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-warning:hover { + color: #212529; + background-color: #e0a800; + border-color: #d39e00; +} + +.btn-warning:focus, .btn-warning.focus { + color: #212529; + background-color: #e0a800; + border-color: #d39e00; + box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); +} + +.btn-warning.disabled, .btn-warning:disabled { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, +.show > .btn-warning.dropdown-toggle { + color: #212529; + background-color: #d39e00; + border-color: #c69500; +} + +.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, +.show > .btn-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); +} + +.btn-danger { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-danger:hover { + color: #fff; + background-color: #c82333; + border-color: #bd2130; +} + +.btn-danger:focus, .btn-danger.focus { + color: #fff; + background-color: #c82333; + border-color: #bd2130; + box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); +} + +.btn-danger.disabled, .btn-danger:disabled { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, +.show > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #bd2130; + border-color: #b21f2d; +} + +.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, +.show > .btn-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); +} + +.btn-light { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-light:hover { + color: #212529; + background-color: #e2e6ea; + border-color: #dae0e5; +} + +.btn-light:focus, .btn-light.focus { + color: #212529; + background-color: #e2e6ea; + border-color: #dae0e5; + box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); +} + +.btn-light.disabled, .btn-light:disabled { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, +.show > .btn-light.dropdown-toggle { + color: #212529; + background-color: #dae0e5; + border-color: #d3d9df; +} + +.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, +.show > .btn-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); +} + +.btn-dark { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-dark:hover { + color: #fff; + background-color: #23272b; + border-color: #1d2124; +} + +.btn-dark:focus, .btn-dark.focus { + color: #fff; + background-color: #23272b; + border-color: #1d2124; + box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); +} + +.btn-dark.disabled, .btn-dark:disabled { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, +.show > .btn-dark.dropdown-toggle { + color: #fff; + background-color: #1d2124; + border-color: #171a1d; +} + +.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, +.show > .btn-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); +} + +.btn-outline-primary { + color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:hover { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:focus, .btn-outline-primary.focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-outline-primary.disabled, .btn-outline-primary:disabled { + color: #007bff; + background-color: transparent; +} + +.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, +.show > .btn-outline-primary.dropdown-toggle { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-outline-secondary { + color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:hover { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:focus, .btn-outline-secondary.focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.btn-outline-secondary.disabled, .btn-outline-secondary:disabled { + color: #6c757d; + background-color: transparent; +} + +.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, +.show > .btn-outline-secondary.dropdown-toggle { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.btn-outline-success { + color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:hover { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:focus, .btn-outline-success.focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-outline-success.disabled, .btn-outline-success:disabled { + color: #28a745; + background-color: transparent; +} + +.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, +.show > .btn-outline-success.dropdown-toggle { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-outline-info { + color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:hover { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:focus, .btn-outline-info.focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-outline-info.disabled, .btn-outline-info:disabled { + color: #17a2b8; + background-color: transparent; +} + +.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, +.show > .btn-outline-info.dropdown-toggle { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-outline-warning { + color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:hover { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:focus, .btn-outline-warning.focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-outline-warning.disabled, .btn-outline-warning:disabled { + color: #ffc107; + background-color: transparent; +} + +.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, +.show > .btn-outline-warning.dropdown-toggle { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-outline-danger { + color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:hover { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:focus, .btn-outline-danger.focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-outline-danger.disabled, .btn-outline-danger:disabled { + color: #dc3545; + background-color: transparent; +} + +.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, +.show > .btn-outline-danger.dropdown-toggle { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-outline-light { + color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:hover { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:focus, .btn-outline-light.focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-outline-light.disabled, .btn-outline-light:disabled { + color: #f8f9fa; + background-color: transparent; +} + +.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, +.show > .btn-outline-light.dropdown-toggle { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-outline-dark { + color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:hover { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:focus, .btn-outline-dark.focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-outline-dark.disabled, .btn-outline-dark:disabled { + color: #343a40; + background-color: transparent; +} + +.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, +.show > .btn-outline-dark.dropdown-toggle { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-link { + font-weight: 400; + color: #007bff; + text-decoration: none; +} + +.btn-link:hover { + color: #0056b3; + text-decoration: underline; +} + +.btn-link:focus, .btn-link.focus { + text-decoration: underline; + box-shadow: none; +} + +.btn-link:disabled, .btn-link.disabled { + color: #6c757d; + pointer-events: none; +} + +.btn-lg, .btn-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +.btn-sm, .btn-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.btn-block { + display: block; + width: 100%; +} + +.btn-block + .btn-block { + margin-top: 0.5rem; +} + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} + +.fade { + transition: opacity 0.15s linear; +} + +@media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} + +.fade:not(.show) { + opacity: 0; +} + +.collapse:not(.show) { + display: none; +} + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} + +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} + +.dropup, +.dropright, +.dropdown, +.dropleft { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; +} + +.dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} + +.dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0.125rem 0 0; + font-size: 1rem; + color: #212529; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; +} + +.dropdown-menu-left { + right: auto; + left: 0; +} + +.dropdown-menu-right { + right: 0; + left: auto; +} + +@media (min-width: 576px) { + .dropdown-menu-sm-left { + right: auto; + left: 0; + } + .dropdown-menu-sm-right { + right: 0; + left: auto; + } +} + +@media (min-width: 768px) { + .dropdown-menu-md-left { + right: auto; + left: 0; + } + .dropdown-menu-md-right { + right: 0; + left: auto; + } +} + +@media (min-width: 992px) { + .dropdown-menu-lg-left { + right: auto; + left: 0; + } + .dropdown-menu-lg-right { + right: 0; + left: auto; + } +} + +@media (min-width: 1200px) { + .dropdown-menu-xl-left { + right: auto; + left: 0; + } + .dropdown-menu-xl-right { + right: 0; + left: auto; + } +} + +.dropup .dropdown-menu { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: 0.125rem; +} + +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} + +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropright .dropdown-menu { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: 0.125rem; +} + +.dropright .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} + +.dropright .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropright .dropdown-toggle::after { + vertical-align: 0; +} + +.dropleft .dropdown-menu { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: 0.125rem; +} + +.dropleft .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; +} + +.dropleft .dropdown-toggle::after { + display: none; +} + +.dropleft .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} + +.dropleft .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropleft .dropdown-toggle::before { + vertical-align: 0; +} + +.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] { + right: auto; + bottom: auto; +} + +.dropdown-divider { + height: 0; + margin: 0.5rem 0; + overflow: hidden; + border-top: 1px solid #e9ecef; +} + +.dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1.5rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0; +} + +.dropdown-item:hover, .dropdown-item:focus { + color: #16181b; + text-decoration: none; + background-color: #f8f9fa; +} + +.dropdown-item.active, .dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: #007bff; +} + +.dropdown-item.disabled, .dropdown-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: 0.5rem 1.5rem; + margin-bottom: 0; + font-size: 0.875rem; + color: #6c757d; + white-space: nowrap; +} + +.dropdown-item-text { + display: block; + padding: 0.25rem 1.5rem; + color: #212529; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; +} + +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + flex: 1 1 auto; +} + +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover { + z-index: 1; +} + +.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 1; +} + +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} + +.btn-toolbar .input-group { + width: auto; +} + +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) { + margin-left: -1px; +} + +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} + +.dropdown-toggle-split::after, +.dropup .dropdown-toggle-split::after, +.dropright .dropdown-toggle-split::after { + margin-left: 0; +} + +.dropleft .dropdown-toggle-split::before { + margin-right: 0; +} + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} + +.btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center; +} + +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} + +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) { + margin-top: -1px; +} + +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.btn-group-toggle > .btn, +.btn-group-toggle > .btn-group > .btn { + margin-bottom: 0; +} + +.btn-group-toggle > .btn input[type="radio"], +.btn-group-toggle > .btn input[type="checkbox"], +.btn-group-toggle > .btn-group > .btn input[type="radio"], +.btn-group-toggle > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} + +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; +} + +.input-group > .form-control, +.input-group > .form-control-plaintext, +.input-group > .custom-select, +.input-group > .custom-file { + position: relative; + flex: 1 1 0%; + min-width: 0; + margin-bottom: 0; +} + +.input-group > .form-control + .form-control, +.input-group > .form-control + .custom-select, +.input-group > .form-control + .custom-file, +.input-group > .form-control-plaintext + .form-control, +.input-group > .form-control-plaintext + .custom-select, +.input-group > .form-control-plaintext + .custom-file, +.input-group > .custom-select + .form-control, +.input-group > .custom-select + .custom-select, +.input-group > .custom-select + .custom-file, +.input-group > .custom-file + .form-control, +.input-group > .custom-file + .custom-select, +.input-group > .custom-file + .custom-file { + margin-left: -1px; +} + +.input-group > .form-control:focus, +.input-group > .custom-select:focus, +.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label { + z-index: 3; +} + +.input-group > .custom-file .custom-file-input:focus { + z-index: 4; +} + +.input-group > .form-control:not(:last-child), +.input-group > .custom-select:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .form-control:not(:first-child), +.input-group > .custom-select:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group > .custom-file { + display: flex; + align-items: center; +} + +.input-group > .custom-file:not(:last-child) .custom-file-label, +.input-group > .custom-file:not(:last-child) .custom-file-label::after { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .custom-file:not(:first-child) .custom-file-label { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group-prepend, +.input-group-append { + display: flex; +} + +.input-group-prepend .btn, +.input-group-append .btn { + position: relative; + z-index: 2; +} + +.input-group-prepend .btn:focus, +.input-group-append .btn:focus { + z-index: 3; +} + +.input-group-prepend .btn + .btn, +.input-group-prepend .btn + .input-group-text, +.input-group-prepend .input-group-text + .input-group-text, +.input-group-prepend .input-group-text + .btn, +.input-group-append .btn + .btn, +.input-group-append .btn + .input-group-text, +.input-group-append .input-group-text + .input-group-text, +.input-group-append .input-group-text + .btn { + margin-left: -1px; +} + +.input-group-prepend { + margin-right: -1px; +} + +.input-group-append { + margin-left: -1px; +} + +.input-group-text { + display: flex; + align-items: center; + padding: 0.375rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + text-align: center; + white-space: nowrap; + background-color: #e9ecef; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +.input-group-text input[type="radio"], +.input-group-text input[type="checkbox"] { + margin-top: 0; +} + +.input-group-lg > .form-control:not(textarea), +.input-group-lg > .custom-select { + height: calc(1.5em + 1rem + 2px); +} + +.input-group-lg > .form-control, +.input-group-lg > .custom-select, +.input-group-lg > .input-group-prepend > .input-group-text, +.input-group-lg > .input-group-append > .input-group-text, +.input-group-lg > .input-group-prepend > .btn, +.input-group-lg > .input-group-append > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +.input-group-sm > .form-control:not(textarea), +.input-group-sm > .custom-select { + height: calc(1.5em + 0.5rem + 2px); +} + +.input-group-sm > .form-control, +.input-group-sm > .custom-select, +.input-group-sm > .input-group-prepend > .input-group-text, +.input-group-sm > .input-group-append > .input-group-text, +.input-group-sm > .input-group-prepend > .btn, +.input-group-sm > .input-group-append > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.input-group-lg > .custom-select, +.input-group-sm > .custom-select { + padding-right: 1.75rem; +} + +.input-group > .input-group-prepend > .btn, +.input-group > .input-group-prepend > .input-group-text, +.input-group > .input-group-append:not(:last-child) > .btn, +.input-group > .input-group-append:not(:last-child) > .input-group-text, +.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .input-group-append > .btn, +.input-group > .input-group-append > .input-group-text, +.input-group > .input-group-prepend:not(:first-child) > .btn, +.input-group > .input-group-prepend:not(:first-child) > .input-group-text, +.input-group > .input-group-prepend:first-child > .btn:not(:first-child), +.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-control { + position: relative; + display: block; + min-height: 1.5rem; + padding-left: 1.5rem; +} + +.custom-control-inline { + display: inline-flex; + margin-right: 1rem; +} + +.custom-control-input { + position: absolute; + left: 0; + z-index: -1; + width: 1rem; + height: 1.25rem; + opacity: 0; +} + +.custom-control-input:checked ~ .custom-control-label::before { + color: #fff; + border-color: #007bff; + background-color: #007bff; +} + +.custom-control-input:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-control-input:focus:not(:checked) ~ .custom-control-label::before { + border-color: #80bdff; +} + +.custom-control-input:not(:disabled):active ~ .custom-control-label::before { + color: #fff; + background-color: #b3d7ff; + border-color: #b3d7ff; +} + +.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label { + color: #6c757d; +} + +.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before { + background-color: #e9ecef; +} + +.custom-control-label { + position: relative; + margin-bottom: 0; + vertical-align: top; +} + +.custom-control-label::before { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + pointer-events: none; + content: ""; + background-color: #fff; + border: #adb5bd solid 1px; +} + +.custom-control-label::after { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + content: ""; + background: no-repeat 50% / 50% 50%; +} + +.custom-checkbox .custom-control-label::before { + border-radius: 0.25rem; +} + +.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e"); +} + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { + border-color: #007bff; + background-color: #007bff; +} + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); +} + +.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-radio .custom-control-label::before { + border-radius: 50%; +} + +.custom-radio .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); +} + +.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-switch { + padding-left: 2.25rem; +} + +.custom-switch .custom-control-label::before { + left: -2.25rem; + width: 1.75rem; + pointer-events: all; + border-radius: 0.5rem; +} + +.custom-switch .custom-control-label::after { + top: calc(0.25rem + 2px); + left: calc(-2.25rem + 2px); + width: calc(1rem - 4px); + height: calc(1rem - 4px); + background-color: #adb5bd; + border-radius: 0.5rem; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .custom-switch .custom-control-label::after { + transition: none; + } +} + +.custom-switch .custom-control-input:checked ~ .custom-control-label::after { + background-color: #fff; + transform: translateX(0.75rem); +} + +.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-select { + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 1.75rem 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + vertical-align: middle; + background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px; + border: 1px solid #ced4da; + border-radius: 0.25rem; + appearance: none; +} + +.custom-select:focus { + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-select:focus::-ms-value { + color: #495057; + background-color: #fff; +} + +.custom-select[multiple], .custom-select[size]:not([size="1"]) { + height: auto; + padding-right: 0.75rem; + background-image: none; +} + +.custom-select:disabled { + color: #6c757d; + background-color: #e9ecef; +} + +.custom-select::-ms-expand { + display: none; +} + +.custom-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #495057; +} + +.custom-select-sm { + height: calc(1.5em + 0.5rem + 2px); + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.875rem; +} + +.custom-select-lg { + height: calc(1.5em + 1rem + 2px); + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.25rem; +} + +.custom-file { + position: relative; + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin-bottom: 0; +} + +.custom-file-input { + position: relative; + z-index: 2; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin: 0; + opacity: 0; +} + +.custom-file-input:focus ~ .custom-file-label { + border-color: #80bdff; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-file-input[disabled] ~ .custom-file-label, +.custom-file-input:disabled ~ .custom-file-label { + background-color: #e9ecef; +} + +.custom-file-input:lang(en) ~ .custom-file-label::after { + content: "Browse"; +} + +.custom-file-input ~ .custom-file-label[data-browse]::after { + content: attr(data-browse); +} + +.custom-file-label { + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 1; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +.custom-file-label::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + z-index: 3; + display: block; + height: calc(1.5em + 0.75rem); + padding: 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; + content: "Browse"; + background-color: #e9ecef; + border-left: inherit; + border-radius: 0 0.25rem 0.25rem 0; +} + +.custom-range { + width: 100%; + height: 1.4rem; + padding: 0; + background-color: transparent; + appearance: none; +} + +.custom-range:focus { + outline: none; +} + +.custom-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range:focus::-ms-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range::-moz-focus-outer { + border: 0; +} + +.custom-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-webkit-slider-thumb { + transition: none; + } +} + +.custom-range::-webkit-slider-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} + +.custom-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-moz-range-thumb { + transition: none; + } +} + +.custom-range::-moz-range-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} + +.custom-range::-ms-thumb { + width: 1rem; + height: 1rem; + margin-top: 0; + margin-right: 0.2rem; + margin-left: 0.2rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-ms-thumb { + transition: none; + } +} + +.custom-range::-ms-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-ms-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: transparent; + border-color: transparent; + border-width: 0.5rem; +} + +.custom-range::-ms-fill-lower { + background-color: #dee2e6; + border-radius: 1rem; +} + +.custom-range::-ms-fill-upper { + margin-right: 15px; + background-color: #dee2e6; + border-radius: 1rem; +} + +.custom-range:disabled::-webkit-slider-thumb { + background-color: #adb5bd; +} + +.custom-range:disabled::-webkit-slider-runnable-track { + cursor: default; +} + +.custom-range:disabled::-moz-range-thumb { + background-color: #adb5bd; +} + +.custom-range:disabled::-moz-range-track { + cursor: default; +} + +.custom-range:disabled::-ms-thumb { + background-color: #adb5bd; +} + +.custom-control-label::before, +.custom-file-label, +.custom-select { + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .custom-control-label::before, + .custom-file-label, + .custom-select { + transition: none; + } +} + +.nav { + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: 0.5rem 1rem; +} + +.nav-link:hover, .nav-link:focus { + text-decoration: none; +} + +.nav-link.disabled { + color: #6c757d; + pointer-events: none; + cursor: default; +} + +.nav-tabs { + border-bottom: 1px solid #dee2e6; +} + +.nav-tabs .nav-item { + margin-bottom: -1px; +} + +.nav-tabs .nav-link { + border: 1px solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + border-color: #e9ecef #e9ecef #dee2e6; +} + +.nav-tabs .nav-link.disabled { + color: #6c757d; + background-color: transparent; + border-color: transparent; +} + +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: #495057; + background-color: #fff; + border-color: #dee2e6 #dee2e6 #fff; +} + +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav-pills .nav-link { + border-radius: 0.25rem; +} + +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #fff; + background-color: #007bff; +} + +.nav-fill .nav-item { + flex: 1 1 auto; + text-align: center; +} + +.nav-justified .nav-item { + flex-basis: 0; + flex-grow: 1; + text-align: center; +} + +.tab-content > .tab-pane { + display: none; +} + +.tab-content > .active { + display: block; +} + +.navbar { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + padding: 0.5rem 1rem; +} + +.navbar .container, +.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; +} + +.navbar-brand { + display: inline-block; + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + line-height: inherit; + white-space: nowrap; +} + +.navbar-brand:hover, .navbar-brand:focus { + text-decoration: none; +} + +.navbar-nav { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; +} + +.navbar-nav .dropdown-menu { + position: static; + float: none; +} + +.navbar-text { + display: inline-block; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.navbar-collapse { + flex-basis: 100%; + flex-grow: 1; + align-items: center; +} + +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.navbar-toggler:hover, .navbar-toggler:focus { + text-decoration: none; +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + content: ""; + background: no-repeat center center; + background-size: 100% 100%; +} + +@media (max-width: 575.98px) { + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 576px) { + .navbar-expand-sm { + flex-flow: row nowrap; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl { + flex-wrap: nowrap; + } + .navbar-expand-sm .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } +} + +@media (max-width: 767.98px) { + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 768px) { + .navbar-expand-md { + flex-flow: row nowrap; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl { + flex-wrap: nowrap; + } + .navbar-expand-md .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } +} + +@media (max-width: 991.98px) { + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 992px) { + .navbar-expand-lg { + flex-flow: row nowrap; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl { + flex-wrap: nowrap; + } + .navbar-expand-lg .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } +} + +@media (max-width: 1199.98px) { + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 1200px) { + .navbar-expand-xl { + flex-flow: row nowrap; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl { + flex-wrap: nowrap; + } + .navbar-expand-xl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } +} + +.navbar-expand { + flex-flow: row nowrap; + justify-content: flex-start; +} + +.navbar-expand > .container, +.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl { + padding-right: 0; + padding-left: 0; +} + +.navbar-expand .navbar-nav { + flex-direction: row; +} + +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} + +.navbar-expand .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; +} + +.navbar-expand > .container, +.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl { + flex-wrap: nowrap; +} + +.navbar-expand .navbar-collapse { + display: flex !important; + flex-basis: auto; +} + +.navbar-expand .navbar-toggler { + display: none; +} + +.navbar-light .navbar-brand { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.5); +} + +.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { + color: rgba(0, 0, 0, 0.7); +} + +.navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); +} + +.navbar-light .navbar-nav .show > .nav-link, +.navbar-light .navbar-nav .active > .nav-link, +.navbar-light .navbar-nav .nav-link.show, +.navbar-light .navbar-nav .nav-link.active { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.5); + border-color: rgba(0, 0, 0, 0.1); +} + +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.navbar-light .navbar-text { + color: rgba(0, 0, 0, 0.5); +} + +.navbar-light .navbar-text a { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-dark .navbar-brand { + color: #fff; +} + +.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { + color: #fff; +} + +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { + color: rgba(255, 255, 255, 0.75); +} + +.navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); +} + +.navbar-dark .navbar-nav .show > .nav-link, +.navbar-dark .navbar-nav .active > .nav-link, +.navbar-dark .navbar-nav .nav-link.show, +.navbar-dark .navbar-nav .nav-link.active { + color: #fff; +} + +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.5); + border-color: rgba(255, 255, 255, 0.1); +} + +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.navbar-dark .navbar-text { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-text a { + color: #fff; +} + +.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { + color: #fff; +} + +.card { + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0, 0, 0, 0.125); + border-radius: 0.25rem; +} + +.card > hr { + margin-right: 0; + margin-left: 0; +} + +.card > .list-group:first-child .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.card > .list-group:last-child .list-group-item:last-child { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.card-body { + flex: 1 1 auto; + min-height: 1px; + padding: 1.25rem; +} + +.card-title { + margin-bottom: 0.75rem; +} + +.card-subtitle { + margin-top: -0.375rem; + margin-bottom: 0; +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link:hover { + text-decoration: none; +} + +.card-link + .card-link { + margin-left: 1.25rem; +} + +.card-header { + padding: 0.75rem 1.25rem; + margin-bottom: 0; + background-color: rgba(0, 0, 0, 0.03); + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-header:first-child { + border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; +} + +.card-header + .list-group .list-group-item:first-child { + border-top: 0; +} + +.card-footer { + padding: 0.75rem 1.25rem; + background-color: rgba(0, 0, 0, 0.03); + border-top: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-footer:last-child { + border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); +} + +.card-header-tabs { + margin-right: -0.625rem; + margin-bottom: -0.75rem; + margin-left: -0.625rem; + border-bottom: 0; +} + +.card-header-pills { + margin-right: -0.625rem; + margin-left: -0.625rem; +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1.25rem; +} + +.card-img, +.card-img-top, +.card-img-bottom { + flex-shrink: 0; + width: 100%; +} + +.card-img, +.card-img-top { + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} + +.card-img, +.card-img-bottom { + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} + +.card-deck .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-deck { + display: flex; + flex-flow: row wrap; + margin-right: -15px; + margin-left: -15px; + } + .card-deck .card { + flex: 1 0 0%; + margin-right: 15px; + margin-bottom: 0; + margin-left: 15px; + } +} + +.card-group > .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-group { + display: flex; + flex-flow: row wrap; + } + .card-group > .card { + flex: 1 0 0%; + margin-bottom: 0; + } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-top, + .card-group > .card:not(:last-child) .card-header { + border-top-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-bottom, + .card-group > .card:not(:last-child) .card-footer { + border-bottom-right-radius: 0; + } + .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-top, + .card-group > .card:not(:first-child) .card-header { + border-top-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-bottom, + .card-group > .card:not(:first-child) .card-footer { + border-bottom-left-radius: 0; + } +} + +.card-columns .card { + margin-bottom: 0.75rem; +} + +@media (min-width: 576px) { + .card-columns { + column-count: 3; + column-gap: 1.25rem; + orphans: 1; + widows: 1; + } + .card-columns .card { + display: inline-block; + width: 100%; + } +} + +.accordion > .card { + overflow: hidden; +} + +.accordion > .card:not(:last-of-type) { + border-bottom: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.accordion > .card:not(:first-of-type) { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.accordion > .card > .card-header { + border-radius: 0; + margin-bottom: -1px; +} + +.breadcrumb { + display: flex; + flex-wrap: wrap; + padding: 0.75rem 1rem; + margin-bottom: 1rem; + list-style: none; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +.breadcrumb-item + .breadcrumb-item { + padding-left: 0.5rem; +} + +.breadcrumb-item + .breadcrumb-item::before { + display: inline-block; + padding-right: 0.5rem; + color: #6c757d; + content: "/"; +} + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: underline; +} + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: none; +} + +.breadcrumb-item.active { + color: #6c757d; +} + +.pagination { + display: flex; + padding-left: 0; + list-style: none; + border-radius: 0.25rem; +} + +.page-link { + position: relative; + display: block; + padding: 0.5rem 0.75rem; + margin-left: -1px; + line-height: 1.25; + color: #007bff; + background-color: #fff; + border: 1px solid #dee2e6; +} + +.page-link:hover { + z-index: 2; + color: #0056b3; + text-decoration: none; + background-color: #e9ecef; + border-color: #dee2e6; +} + +.page-link:focus { + z-index: 3; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.page-item:first-child .page-link { + margin-left: 0; + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.page-item:last-child .page-link { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} + +.page-item.active .page-link { + z-index: 3; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.page-item.disabled .page-link { + color: #6c757d; + pointer-events: none; + cursor: auto; + background-color: #fff; + border-color: #dee2e6; +} + +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; + line-height: 1.5; +} + +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; +} + +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 0.3rem; + border-bottom-right-radius: 0.3rem; +} + +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; +} + +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; +} + +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; +} + +.badge { + display: inline-block; + padding: 0.25em 0.4em; + font-size: 75%; + font-weight: 700; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .badge { + transition: none; + } +} + +a.badge:hover, a.badge:focus { + text-decoration: none; +} + +.badge:empty { + display: none; +} + +.btn .badge { + position: relative; + top: -1px; +} + +.badge-pill { + padding-right: 0.6em; + padding-left: 0.6em; + border-radius: 10rem; +} + +.badge-primary { + color: #fff; + background-color: #007bff; +} + +a.badge-primary:hover, a.badge-primary:focus { + color: #fff; + background-color: #0062cc; +} + +a.badge-primary:focus, a.badge-primary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.badge-secondary { + color: #fff; + background-color: #6c757d; +} + +a.badge-secondary:hover, a.badge-secondary:focus { + color: #fff; + background-color: #545b62; +} + +a.badge-secondary:focus, a.badge-secondary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.badge-success { + color: #fff; + background-color: #28a745; +} + +a.badge-success:hover, a.badge-success:focus { + color: #fff; + background-color: #1e7e34; +} + +a.badge-success:focus, a.badge-success.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.badge-info { + color: #fff; + background-color: #17a2b8; +} + +a.badge-info:hover, a.badge-info:focus { + color: #fff; + background-color: #117a8b; +} + +a.badge-info:focus, a.badge-info.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.badge-warning { + color: #212529; + background-color: #ffc107; +} + +a.badge-warning:hover, a.badge-warning:focus { + color: #212529; + background-color: #d39e00; +} + +a.badge-warning:focus, a.badge-warning.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.badge-danger { + color: #fff; + background-color: #dc3545; +} + +a.badge-danger:hover, a.badge-danger:focus { + color: #fff; + background-color: #bd2130; +} + +a.badge-danger:focus, a.badge-danger.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.badge-light { + color: #212529; + background-color: #f8f9fa; +} + +a.badge-light:hover, a.badge-light:focus { + color: #212529; + background-color: #dae0e5; +} + +a.badge-light:focus, a.badge-light.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.badge-dark { + color: #fff; + background-color: #343a40; +} + +a.badge-dark:hover, a.badge-dark:focus { + color: #fff; + background-color: #1d2124; +} + +a.badge-dark:focus, a.badge-dark.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.jumbotron { + padding: 2rem 1rem; + margin-bottom: 2rem; + background-color: #e9ecef; + border-radius: 0.3rem; +} + +@media (min-width: 576px) { + .jumbotron { + padding: 4rem 2rem; + } +} + +.jumbotron-fluid { + padding-right: 0; + padding-left: 0; + border-radius: 0; +} + +.alert { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: 700; +} + +.alert-dismissible { + padding-right: 4rem; +} + +.alert-dismissible .close { + position: absolute; + top: 0; + right: 0; + padding: 0.75rem 1.25rem; + color: inherit; +} + +.alert-primary { + color: #004085; + background-color: #cce5ff; + border-color: #b8daff; +} + +.alert-primary hr { + border-top-color: #9fcdff; +} + +.alert-primary .alert-link { + color: #002752; +} + +.alert-secondary { + color: #383d41; + background-color: #e2e3e5; + border-color: #d6d8db; +} + +.alert-secondary hr { + border-top-color: #c8cbcf; +} + +.alert-secondary .alert-link { + color: #202326; +} + +.alert-success { + color: #155724; + background-color: #d4edda; + border-color: #c3e6cb; +} + +.alert-success hr { + border-top-color: #b1dfbb; +} + +.alert-success .alert-link { + color: #0b2e13; +} + +.alert-info { + color: #0c5460; + background-color: #d1ecf1; + border-color: #bee5eb; +} + +.alert-info hr { + border-top-color: #abdde5; +} + +.alert-info .alert-link { + color: #062c33; +} + +.alert-warning { + color: #856404; + background-color: #fff3cd; + border-color: #ffeeba; +} + +.alert-warning hr { + border-top-color: #ffe8a1; +} + +.alert-warning .alert-link { + color: #533f03; +} + +.alert-danger { + color: #721c24; + background-color: #f8d7da; + border-color: #f5c6cb; +} + +.alert-danger hr { + border-top-color: #f1b0b7; +} + +.alert-danger .alert-link { + color: #491217; +} + +.alert-light { + color: #818182; + background-color: #fefefe; + border-color: #fdfdfe; +} + +.alert-light hr { + border-top-color: #ececf6; +} + +.alert-light .alert-link { + color: #686868; +} + +.alert-dark { + color: #1b1e21; + background-color: #d6d8d9; + border-color: #c6c8ca; +} + +.alert-dark hr { + border-top-color: #b9bbbe; +} + +.alert-dark .alert-link { + color: #040505; +} + +@keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +.progress { + display: flex; + height: 1rem; + overflow: hidden; + font-size: 0.75rem; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +.progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + overflow: hidden; + color: #fff; + text-align: center; + white-space: nowrap; + background-color: #007bff; + transition: width 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 1rem 1rem; +} + +.progress-bar-animated { + animation: progress-bar-stripes 1s linear infinite; +} + +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + animation: none; + } +} + +.media { + display: flex; + align-items: flex-start; +} + +.media-body { + flex: 1; +} + +.list-group { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; +} + +.list-group-item-action { + width: 100%; + color: #495057; + text-align: inherit; +} + +.list-group-item-action:hover, .list-group-item-action:focus { + z-index: 1; + color: #495057; + text-decoration: none; + background-color: #f8f9fa; +} + +.list-group-item-action:active { + color: #212529; + background-color: #e9ecef; +} + +.list-group-item { + position: relative; + display: block; + padding: 0.75rem 1.25rem; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} + +.list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.list-group-item:last-child { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.list-group-item.disabled, .list-group-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: #fff; +} + +.list-group-item.active { + z-index: 2; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.list-group-item + .list-group-item { + border-top-width: 0; +} + +.list-group-item + .list-group-item.active { + margin-top: -1px; + border-top-width: 1px; +} + +.list-group-horizontal { + flex-direction: row; +} + +.list-group-horizontal .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; +} + +.list-group-horizontal .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; +} + +.list-group-horizontal .list-group-item.active { + margin-top: 0; +} + +.list-group-horizontal .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; +} + +.list-group-horizontal .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; +} + +@media (min-width: 576px) { + .list-group-horizontal-sm { + flex-direction: row; + } + .list-group-horizontal-sm .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-sm .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-sm .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-sm .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-sm .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +@media (min-width: 768px) { + .list-group-horizontal-md { + flex-direction: row; + } + .list-group-horizontal-md .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-md .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-md .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-md .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-md .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +@media (min-width: 992px) { + .list-group-horizontal-lg { + flex-direction: row; + } + .list-group-horizontal-lg .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-lg .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-lg .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-lg .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-lg .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +@media (min-width: 1200px) { + .list-group-horizontal-xl { + flex-direction: row; + } + .list-group-horizontal-xl .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-xl .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-xl .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xl .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-xl .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +.list-group-flush .list-group-item { + border-right-width: 0; + border-left-width: 0; + border-radius: 0; +} + +.list-group-flush .list-group-item:first-child { + border-top-width: 0; +} + +.list-group-flush:last-child .list-group-item:last-child { + border-bottom-width: 0; +} + +.list-group-item-primary { + color: #004085; + background-color: #b8daff; +} + +.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { + color: #004085; + background-color: #9fcdff; +} + +.list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #004085; + border-color: #004085; +} + +.list-group-item-secondary { + color: #383d41; + background-color: #d6d8db; +} + +.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { + color: #383d41; + background-color: #c8cbcf; +} + +.list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #383d41; + border-color: #383d41; +} + +.list-group-item-success { + color: #155724; + background-color: #c3e6cb; +} + +.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { + color: #155724; + background-color: #b1dfbb; +} + +.list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #155724; + border-color: #155724; +} + +.list-group-item-info { + color: #0c5460; + background-color: #bee5eb; +} + +.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { + color: #0c5460; + background-color: #abdde5; +} + +.list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #0c5460; + border-color: #0c5460; +} + +.list-group-item-warning { + color: #856404; + background-color: #ffeeba; +} + +.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { + color: #856404; + background-color: #ffe8a1; +} + +.list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #856404; + border-color: #856404; +} + +.list-group-item-danger { + color: #721c24; + background-color: #f5c6cb; +} + +.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { + color: #721c24; + background-color: #f1b0b7; +} + +.list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #721c24; + border-color: #721c24; +} + +.list-group-item-light { + color: #818182; + background-color: #fdfdfe; +} + +.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { + color: #818182; + background-color: #ececf6; +} + +.list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #818182; + border-color: #818182; +} + +.list-group-item-dark { + color: #1b1e21; + background-color: #c6c8ca; +} + +.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { + color: #1b1e21; + background-color: #b9bbbe; +} + +.list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #1b1e21; + border-color: #1b1e21; +} + +.close { + float: right; + font-size: 1.5rem; + font-weight: 700; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: .5; +} + +.close:hover { + color: #000; + text-decoration: none; +} + +.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { + opacity: .75; +} + +button.close { + padding: 0; + background-color: transparent; + border: 0; + appearance: none; +} + +a.close.disabled { + pointer-events: none; +} + +.toast { + max-width: 350px; + overflow: hidden; + font-size: 0.875rem; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.1); + box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1); + backdrop-filter: blur(10px); + opacity: 0; + border-radius: 0.25rem; +} + +.toast:not(:last-child) { + margin-bottom: 0.75rem; +} + +.toast.showing { + opacity: 1; +} + +.toast.show { + display: block; + opacity: 1; +} + +.toast.hide { + display: none; +} + +.toast-header { + display: flex; + align-items: center; + padding: 0.25rem 0.75rem; + color: #6c757d; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border-bottom: 1px solid rgba(0, 0, 0, 0.05); +} + +.toast-body { + padding: 0.75rem; +} + +.modal-open { + overflow: hidden; +} + +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} + +.modal { + position: fixed; + top: 0; + left: 0; + z-index: 1050; + display: none; + width: 100%; + height: 100%; + overflow: hidden; + outline: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; +} + +.modal.fade .modal-dialog { + transition: transform 0.3s ease-out; + transform: translate(0, -50px); +} + +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} + +.modal.show .modal-dialog { + transform: none; +} + +.modal.modal-static .modal-dialog { + transform: scale(1.02); +} + +.modal-dialog-scrollable { + display: flex; + max-height: calc(100% - 1rem); +} + +.modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 1rem); + overflow: hidden; +} + +.modal-dialog-scrollable .modal-header, +.modal-dialog-scrollable .modal-footer { + flex-shrink: 0; +} + +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} + +.modal-dialog-centered { + display: flex; + align-items: center; + min-height: calc(100% - 1rem); +} + +.modal-dialog-centered::before { + display: block; + height: calc(100vh - 1rem); + content: ""; +} + +.modal-dialog-centered.modal-dialog-scrollable { + flex-direction: column; + justify-content: center; + height: 100%; +} + +.modal-dialog-centered.modal-dialog-scrollable .modal-content { + max-height: none; +} + +.modal-dialog-centered.modal-dialog-scrollable::before { + content: none; +} + +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + outline: 0; +} + +.modal-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; +} + +.modal-backdrop.fade { + opacity: 0; +} + +.modal-backdrop.show { + opacity: 0.5; +} + +.modal-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + padding: 1rem 1rem; + border-bottom: 1px solid #dee2e6; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} + +.modal-header .close { + padding: 1rem 1rem; + margin: -1rem -1rem -1rem auto; +} + +.modal-title { + margin-bottom: 0; + line-height: 1.5; +} + +.modal-body { + position: relative; + flex: 1 1 auto; + padding: 1rem; +} + +.modal-footer { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: flex-end; + padding: 0.75rem; + border-top: 1px solid #dee2e6; + border-bottom-right-radius: calc(0.3rem - 1px); + border-bottom-left-radius: calc(0.3rem - 1px); +} + +.modal-footer > * { + margin: 0.25rem; +} + +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} + +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; + } + .modal-dialog-scrollable { + max-height: calc(100% - 3.5rem); + } + .modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 3.5rem); + } + .modal-dialog-centered { + min-height: calc(100% - 3.5rem); + } + .modal-dialog-centered::before { + height: calc(100vh - 3.5rem); + } + .modal-sm { + max-width: 300px; + } +} + +@media (min-width: 992px) { + .modal-lg, + .modal-xl { + max-width: 800px; + } +} + +@media (min-width: 1200px) { + .modal-xl { + max-width: 1140px; + } +} + +.tooltip { + position: absolute; + z-index: 1070; + display: block; + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + opacity: 0; +} + +.tooltip.show { + opacity: 0.9; +} + +.tooltip .arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; +} + +.tooltip .arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] { + padding: 0.4rem 0; +} + +.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow { + bottom: 0; +} + +.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before { + top: 0; + border-width: 0.4rem 0.4rem 0; + border-top-color: #000; +} + +.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] { + padding: 0 0.4rem; +} + +.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before { + right: 0; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: #000; +} + +.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] { + padding: 0.4rem 0; +} + +.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow { + top: 0; +} + +.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before { + bottom: 0; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: #000; +} + +.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] { + padding: 0 0.4rem; +} + +.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before { + left: 0; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: #000; +} + +.tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.25rem; +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: block; + max-width: 276px; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; +} + +.popover .arrow { + position: absolute; + display: block; + width: 1rem; + height: 0.5rem; + margin: 0 0.3rem; +} + +.popover .arrow::before, .popover .arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-popover-top, .bs-popover-auto[x-placement^="top"] { + margin-bottom: 0.5rem; +} + +.bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow { + bottom: calc(-0.5rem - 1px); +} + +.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before { + bottom: 0; + border-width: 0.5rem 0.5rem 0; + border-top-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after { + bottom: 1px; + border-width: 0.5rem 0.5rem 0; + border-top-color: #fff; +} + +.bs-popover-right, .bs-popover-auto[x-placement^="right"] { + margin-left: 0.5rem; +} + +.bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow { + left: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before { + left: 0; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after { + left: 1px; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: #fff; +} + +.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] { + margin-top: 0.5rem; +} + +.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow { + top: calc(-0.5rem - 1px); +} + +.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before { + top: 0; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after { + top: 1px; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: #fff; +} + +.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 1rem; + margin-left: -0.5rem; + content: ""; + border-bottom: 1px solid #f7f7f7; +} + +.bs-popover-left, .bs-popover-auto[x-placement^="left"] { + margin-right: 0.5rem; +} + +.bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow { + right: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before { + right: 0; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after { + right: 1px; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: #fff; +} + +.popover-header { + padding: 0.5rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} + +.popover-header:empty { + display: none; +} + +.popover-body { + padding: 0.5rem 0.75rem; + color: #212529; +} + +.carousel { + position: relative; +} + +.carousel.pointer-event { + touch-action: pan-y; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} + +.carousel-inner::after { + display: block; + clear: both; + content: ""; +} + +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + backface-visibility: hidden; + transition: transform 0.6s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +.carousel-item-next:not(.carousel-item-left), +.active.carousel-item-right { + transform: translateX(100%); +} + +.carousel-item-prev:not(.carousel-item-right), +.active.carousel-item-left { + transform: translateX(-100%); +} + +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + transform: none; +} + +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-left, +.carousel-fade .carousel-item-prev.carousel-item-right { + z-index: 1; + opacity: 1; +} + +.carousel-fade .active.carousel-item-left, +.carousel-fade .active.carousel-item-right { + z-index: 0; + opacity: 0; + transition: opacity 0s 0.6s; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-left, + .carousel-fade .active.carousel-item-right { + transition: none; + } +} + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: flex; + align-items: center; + justify-content: center; + width: 15%; + color: #fff; + text-align: center; + opacity: 0.5; + transition: opacity 0.15s ease; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-control-prev, + .carousel-control-next { + transition: none; + } +} + +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} + +.carousel-control-prev { + left: 0; +} + +.carousel-control-next { + right: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 20px; + height: 20px; + background: no-repeat 50% / 100% 100%; +} + +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e"); +} + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e"); +} + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 15; + display: flex; + justify-content: center; + padding-left: 0; + margin-right: 15%; + margin-left: 15%; + list-style: none; +} + +.carousel-indicators li { + box-sizing: content-box; + flex: 0 1 auto; + width: 30px; + height: 3px; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #fff; + background-clip: padding-box; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: .5; + transition: opacity 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-indicators li { + transition: none; + } +} + +.carousel-indicators .active { + opacity: 1; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; +} + +@keyframes spinner-border { + to { + transform: rotate(360deg); + } +} + +.spinner-border { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + border: 0.25em solid currentColor; + border-right-color: transparent; + border-radius: 50%; + animation: spinner-border .75s linear infinite; +} + +.spinner-border-sm { + width: 1rem; + height: 1rem; + border-width: 0.2em; +} + +@keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + } +} + +.spinner-grow { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + background-color: currentColor; + border-radius: 50%; + opacity: 0; + animation: spinner-grow .75s linear infinite; +} + +.spinner-grow-sm { + width: 1rem; + height: 1rem; +} + +.align-baseline { + vertical-align: baseline !important; +} + +.align-top { + vertical-align: top !important; +} + +.align-middle { + vertical-align: middle !important; +} + +.align-bottom { + vertical-align: bottom !important; +} + +.align-text-bottom { + vertical-align: text-bottom !important; +} + +.align-text-top { + vertical-align: text-top !important; +} + +.bg-primary { + background-color: #007bff !important; +} + +a.bg-primary:hover, a.bg-primary:focus, +button.bg-primary:hover, +button.bg-primary:focus { + background-color: #0062cc !important; +} + +.bg-secondary { + background-color: #6c757d !important; +} + +a.bg-secondary:hover, a.bg-secondary:focus, +button.bg-secondary:hover, +button.bg-secondary:focus { + background-color: #545b62 !important; +} + +.bg-success { + background-color: #28a745 !important; +} + +a.bg-success:hover, a.bg-success:focus, +button.bg-success:hover, +button.bg-success:focus { + background-color: #1e7e34 !important; +} + +.bg-info { + background-color: #17a2b8 !important; +} + +a.bg-info:hover, a.bg-info:focus, +button.bg-info:hover, +button.bg-info:focus { + background-color: #117a8b !important; +} + +.bg-warning { + background-color: #ffc107 !important; +} + +a.bg-warning:hover, a.bg-warning:focus, +button.bg-warning:hover, +button.bg-warning:focus { + background-color: #d39e00 !important; +} + +.bg-danger { + background-color: #dc3545 !important; +} + +a.bg-danger:hover, a.bg-danger:focus, +button.bg-danger:hover, +button.bg-danger:focus { + background-color: #bd2130 !important; +} + +.bg-light { + background-color: #f8f9fa !important; +} + +a.bg-light:hover, a.bg-light:focus, +button.bg-light:hover, +button.bg-light:focus { + background-color: #dae0e5 !important; +} + +.bg-dark { + background-color: #343a40 !important; +} + +a.bg-dark:hover, a.bg-dark:focus, +button.bg-dark:hover, +button.bg-dark:focus { + background-color: #1d2124 !important; +} + +.bg-white { + background-color: #fff !important; +} + +.bg-transparent { + background-color: transparent !important; +} + +.border { + border: 1px solid #dee2e6 !important; +} + +.border-top { + border-top: 1px solid #dee2e6 !important; +} + +.border-right { + border-right: 1px solid #dee2e6 !important; +} + +.border-bottom { + border-bottom: 1px solid #dee2e6 !important; +} + +.border-left { + border-left: 1px solid #dee2e6 !important; +} + +.border-0 { + border: 0 !important; +} + +.border-top-0 { + border-top: 0 !important; +} + +.border-right-0 { + border-right: 0 !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border-left-0 { + border-left: 0 !important; +} + +.border-primary { + border-color: #007bff !important; +} + +.border-secondary { + border-color: #6c757d !important; +} + +.border-success { + border-color: #28a745 !important; +} + +.border-info { + border-color: #17a2b8 !important; +} + +.border-warning { + border-color: #ffc107 !important; +} + +.border-danger { + border-color: #dc3545 !important; +} + +.border-light { + border-color: #f8f9fa !important; +} + +.border-dark { + border-color: #343a40 !important; +} + +.border-white { + border-color: #fff !important; +} + +.rounded-sm { + border-radius: 0.2rem !important; +} + +.rounded { + border-radius: 0.25rem !important; +} + +.rounded-top { + border-top-left-radius: 0.25rem !important; + border-top-right-radius: 0.25rem !important; +} + +.rounded-right { + border-top-right-radius: 0.25rem !important; + border-bottom-right-radius: 0.25rem !important; +} + +.rounded-bottom { + border-bottom-right-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-left { + border-top-left-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-lg { + border-radius: 0.3rem !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: 50rem !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.d-none { + display: none !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +@media (min-width: 576px) { + .d-sm-none { + display: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline-flex { + display: inline-flex !important; + } +} + +@media (min-width: 768px) { + .d-md-none { + display: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline-flex { + display: inline-flex !important; + } +} + +@media (min-width: 992px) { + .d-lg-none { + display: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline-flex { + display: inline-flex !important; + } +} + +@media (min-width: 1200px) { + .d-xl-none { + display: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline-flex { + display: inline-flex !important; + } +} + +@media print { + .d-print-none { + display: none !important; + } + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: flex !important; + } + .d-print-inline-flex { + display: inline-flex !important; + } +} + +.embed-responsive { + position: relative; + display: block; + width: 100%; + padding: 0; + overflow: hidden; +} + +.embed-responsive::before { + display: block; + content: ""; +} + +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} + +.embed-responsive-21by9::before { + padding-top: 42.857143%; +} + +.embed-responsive-16by9::before { + padding-top: 56.25%; +} + +.embed-responsive-4by3::before { + padding-top: 75%; +} + +.embed-responsive-1by1::before { + padding-top: 100%; +} + +.flex-row { + flex-direction: row !important; +} + +.flex-column { + flex-direction: column !important; +} + +.flex-row-reverse { + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + flex-direction: column-reverse !important; +} + +.flex-wrap { + flex-wrap: wrap !important; +} + +.flex-nowrap { + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +.flex-fill { + flex: 1 1 auto !important; +} + +.flex-grow-0 { + flex-grow: 0 !important; +} + +.flex-grow-1 { + flex-grow: 1 !important; +} + +.flex-shrink-0 { + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + flex-shrink: 1 !important; +} + +.justify-content-start { + justify-content: flex-start !important; +} + +.justify-content-end { + justify-content: flex-end !important; +} + +.justify-content-center { + justify-content: center !important; +} + +.justify-content-between { + justify-content: space-between !important; +} + +.justify-content-around { + justify-content: space-around !important; +} + +.align-items-start { + align-items: flex-start !important; +} + +.align-items-end { + align-items: flex-end !important; +} + +.align-items-center { + align-items: center !important; +} + +.align-items-baseline { + align-items: baseline !important; +} + +.align-items-stretch { + align-items: stretch !important; +} + +.align-content-start { + align-content: flex-start !important; +} + +.align-content-end { + align-content: flex-end !important; +} + +.align-content-center { + align-content: center !important; +} + +.align-content-between { + align-content: space-between !important; +} + +.align-content-around { + align-content: space-around !important; +} + +.align-content-stretch { + align-content: stretch !important; +} + +.align-self-auto { + align-self: auto !important; +} + +.align-self-start { + align-self: flex-start !important; +} + +.align-self-end { + align-self: flex-end !important; +} + +.align-self-center { + align-self: center !important; +} + +.align-self-baseline { + align-self: baseline !important; +} + +.align-self-stretch { + align-self: stretch !important; +} + +@media (min-width: 576px) { + .flex-sm-row { + flex-direction: row !important; + } + .flex-sm-column { + flex-direction: column !important; + } + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + .flex-sm-wrap { + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .flex-sm-fill { + flex: 1 1 auto !important; + } + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + .justify-content-sm-start { + justify-content: flex-start !important; + } + .justify-content-sm-end { + justify-content: flex-end !important; + } + .justify-content-sm-center { + justify-content: center !important; + } + .justify-content-sm-between { + justify-content: space-between !important; + } + .justify-content-sm-around { + justify-content: space-around !important; + } + .align-items-sm-start { + align-items: flex-start !important; + } + .align-items-sm-end { + align-items: flex-end !important; + } + .align-items-sm-center { + align-items: center !important; + } + .align-items-sm-baseline { + align-items: baseline !important; + } + .align-items-sm-stretch { + align-items: stretch !important; + } + .align-content-sm-start { + align-content: flex-start !important; + } + .align-content-sm-end { + align-content: flex-end !important; + } + .align-content-sm-center { + align-content: center !important; + } + .align-content-sm-between { + align-content: space-between !important; + } + .align-content-sm-around { + align-content: space-around !important; + } + .align-content-sm-stretch { + align-content: stretch !important; + } + .align-self-sm-auto { + align-self: auto !important; + } + .align-self-sm-start { + align-self: flex-start !important; + } + .align-self-sm-end { + align-self: flex-end !important; + } + .align-self-sm-center { + align-self: center !important; + } + .align-self-sm-baseline { + align-self: baseline !important; + } + .align-self-sm-stretch { + align-self: stretch !important; + } +} + +@media (min-width: 768px) { + .flex-md-row { + flex-direction: row !important; + } + .flex-md-column { + flex-direction: column !important; + } + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + .flex-md-wrap { + flex-wrap: wrap !important; + } + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .flex-md-fill { + flex: 1 1 auto !important; + } + .flex-md-grow-0 { + flex-grow: 0 !important; + } + .flex-md-grow-1 { + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + .justify-content-md-start { + justify-content: flex-start !important; + } + .justify-content-md-end { + justify-content: flex-end !important; + } + .justify-content-md-center { + justify-content: center !important; + } + .justify-content-md-between { + justify-content: space-between !important; + } + .justify-content-md-around { + justify-content: space-around !important; + } + .align-items-md-start { + align-items: flex-start !important; + } + .align-items-md-end { + align-items: flex-end !important; + } + .align-items-md-center { + align-items: center !important; + } + .align-items-md-baseline { + align-items: baseline !important; + } + .align-items-md-stretch { + align-items: stretch !important; + } + .align-content-md-start { + align-content: flex-start !important; + } + .align-content-md-end { + align-content: flex-end !important; + } + .align-content-md-center { + align-content: center !important; + } + .align-content-md-between { + align-content: space-between !important; + } + .align-content-md-around { + align-content: space-around !important; + } + .align-content-md-stretch { + align-content: stretch !important; + } + .align-self-md-auto { + align-self: auto !important; + } + .align-self-md-start { + align-self: flex-start !important; + } + .align-self-md-end { + align-self: flex-end !important; + } + .align-self-md-center { + align-self: center !important; + } + .align-self-md-baseline { + align-self: baseline !important; + } + .align-self-md-stretch { + align-self: stretch !important; + } +} + +@media (min-width: 992px) { + .flex-lg-row { + flex-direction: row !important; + } + .flex-lg-column { + flex-direction: column !important; + } + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + .flex-lg-wrap { + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .flex-lg-fill { + flex: 1 1 auto !important; + } + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + .justify-content-lg-start { + justify-content: flex-start !important; + } + .justify-content-lg-end { + justify-content: flex-end !important; + } + .justify-content-lg-center { + justify-content: center !important; + } + .justify-content-lg-between { + justify-content: space-between !important; + } + .justify-content-lg-around { + justify-content: space-around !important; + } + .align-items-lg-start { + align-items: flex-start !important; + } + .align-items-lg-end { + align-items: flex-end !important; + } + .align-items-lg-center { + align-items: center !important; + } + .align-items-lg-baseline { + align-items: baseline !important; + } + .align-items-lg-stretch { + align-items: stretch !important; + } + .align-content-lg-start { + align-content: flex-start !important; + } + .align-content-lg-end { + align-content: flex-end !important; + } + .align-content-lg-center { + align-content: center !important; + } + .align-content-lg-between { + align-content: space-between !important; + } + .align-content-lg-around { + align-content: space-around !important; + } + .align-content-lg-stretch { + align-content: stretch !important; + } + .align-self-lg-auto { + align-self: auto !important; + } + .align-self-lg-start { + align-self: flex-start !important; + } + .align-self-lg-end { + align-self: flex-end !important; + } + .align-self-lg-center { + align-self: center !important; + } + .align-self-lg-baseline { + align-self: baseline !important; + } + .align-self-lg-stretch { + align-self: stretch !important; + } +} + +@media (min-width: 1200px) { + .flex-xl-row { + flex-direction: row !important; + } + .flex-xl-column { + flex-direction: column !important; + } + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xl-wrap { + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .flex-xl-fill { + flex: 1 1 auto !important; + } + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + .justify-content-xl-start { + justify-content: flex-start !important; + } + .justify-content-xl-end { + justify-content: flex-end !important; + } + .justify-content-xl-center { + justify-content: center !important; + } + .justify-content-xl-between { + justify-content: space-between !important; + } + .justify-content-xl-around { + justify-content: space-around !important; + } + .align-items-xl-start { + align-items: flex-start !important; + } + .align-items-xl-end { + align-items: flex-end !important; + } + .align-items-xl-center { + align-items: center !important; + } + .align-items-xl-baseline { + align-items: baseline !important; + } + .align-items-xl-stretch { + align-items: stretch !important; + } + .align-content-xl-start { + align-content: flex-start !important; + } + .align-content-xl-end { + align-content: flex-end !important; + } + .align-content-xl-center { + align-content: center !important; + } + .align-content-xl-between { + align-content: space-between !important; + } + .align-content-xl-around { + align-content: space-around !important; + } + .align-content-xl-stretch { + align-content: stretch !important; + } + .align-self-xl-auto { + align-self: auto !important; + } + .align-self-xl-start { + align-self: flex-start !important; + } + .align-self-xl-end { + align-self: flex-end !important; + } + .align-self-xl-center { + align-self: center !important; + } + .align-self-xl-baseline { + align-self: baseline !important; + } + .align-self-xl-stretch { + align-self: stretch !important; + } +} + +.float-left { + float: left !important; +} + +.float-right { + float: right !important; +} + +.float-none { + float: none !important; +} + +@media (min-width: 576px) { + .float-sm-left { + float: left !important; + } + .float-sm-right { + float: right !important; + } + .float-sm-none { + float: none !important; + } +} + +@media (min-width: 768px) { + .float-md-left { + float: left !important; + } + .float-md-right { + float: right !important; + } + .float-md-none { + float: none !important; + } +} + +@media (min-width: 992px) { + .float-lg-left { + float: left !important; + } + .float-lg-right { + float: right !important; + } + .float-lg-none { + float: none !important; + } +} + +@media (min-width: 1200px) { + .float-xl-left { + float: left !important; + } + .float-xl-right { + float: right !important; + } + .float-xl-none { + float: none !important; + } +} + +.overflow-auto { + overflow: auto !important; +} + +.overflow-hidden { + overflow: hidden !important; +} + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: sticky !important; +} + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +@supports (position: sticky) { + .sticky-top { + position: sticky; + top: 0; + z-index: 1020; + } +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +.sr-only-focusable:active, .sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + overflow: visible; + clip: auto; + white-space: normal; +} + +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; +} + +.shadow { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; +} + +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; +} + +.shadow-none { + box-shadow: none !important; +} + +.w-25 { + width: 25% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.w-auto { + width: auto !important; +} + +.h-25 { + height: 25% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.h-auto { + height: auto !important; +} + +.mw-100 { + max-width: 100% !important; +} + +.mh-100 { + max-height: 100% !important; +} + +.min-vw-100 { + min-width: 100vw !important; +} + +.min-vh-100 { + min-height: 100vh !important; +} + +.vw-100 { + width: 100vw !important; +} + +.vh-100 { + height: 100vh !important; +} + +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + pointer-events: auto; + content: ""; + background-color: rgba(0, 0, 0, 0); +} + +.m-0 { + margin: 0 !important; +} + +.mt-0, +.my-0 { + margin-top: 0 !important; +} + +.mr-0, +.mx-0 { + margin-right: 0 !important; +} + +.mb-0, +.my-0 { + margin-bottom: 0 !important; +} + +.ml-0, +.mx-0 { + margin-left: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.mt-1, +.my-1 { + margin-top: 0.25rem !important; +} + +.mr-1, +.mx-1 { + margin-right: 0.25rem !important; +} + +.mb-1, +.my-1 { + margin-bottom: 0.25rem !important; +} + +.ml-1, +.mx-1 { + margin-left: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.mt-2, +.my-2 { + margin-top: 0.5rem !important; +} + +.mr-2, +.mx-2 { + margin-right: 0.5rem !important; +} + +.mb-2, +.my-2 { + margin-bottom: 0.5rem !important; +} + +.ml-2, +.mx-2 { + margin-left: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.mt-3, +.my-3 { + margin-top: 1rem !important; +} + +.mr-3, +.mx-3 { + margin-right: 1rem !important; +} + +.mb-3, +.my-3 { + margin-bottom: 1rem !important; +} + +.ml-3, +.mx-3 { + margin-left: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.mt-4, +.my-4 { + margin-top: 1.5rem !important; +} + +.mr-4, +.mx-4 { + margin-right: 1.5rem !important; +} + +.mb-4, +.my-4 { + margin-bottom: 1.5rem !important; +} + +.ml-4, +.mx-4 { + margin-left: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.mt-5, +.my-5 { + margin-top: 3rem !important; +} + +.mr-5, +.mx-5 { + margin-right: 3rem !important; +} + +.mb-5, +.my-5 { + margin-bottom: 3rem !important; +} + +.ml-5, +.mx-5 { + margin-left: 3rem !important; +} + +.p-0 { + padding: 0 !important; +} + +.pt-0, +.py-0 { + padding-top: 0 !important; +} + +.pr-0, +.px-0 { + padding-right: 0 !important; +} + +.pb-0, +.py-0 { + padding-bottom: 0 !important; +} + +.pl-0, +.px-0 { + padding-left: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.pt-1, +.py-1 { + padding-top: 0.25rem !important; +} + +.pr-1, +.px-1 { + padding-right: 0.25rem !important; +} + +.pb-1, +.py-1 { + padding-bottom: 0.25rem !important; +} + +.pl-1, +.px-1 { + padding-left: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.pt-2, +.py-2 { + padding-top: 0.5rem !important; +} + +.pr-2, +.px-2 { + padding-right: 0.5rem !important; +} + +.pb-2, +.py-2 { + padding-bottom: 0.5rem !important; +} + +.pl-2, +.px-2 { + padding-left: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.pt-3, +.py-3 { + padding-top: 1rem !important; +} + +.pr-3, +.px-3 { + padding-right: 1rem !important; +} + +.pb-3, +.py-3 { + padding-bottom: 1rem !important; +} + +.pl-3, +.px-3 { + padding-left: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.pt-4, +.py-4 { + padding-top: 1.5rem !important; +} + +.pr-4, +.px-4 { + padding-right: 1.5rem !important; +} + +.pb-4, +.py-4 { + padding-bottom: 1.5rem !important; +} + +.pl-4, +.px-4 { + padding-left: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.pt-5, +.py-5 { + padding-top: 3rem !important; +} + +.pr-5, +.px-5 { + padding-right: 3rem !important; +} + +.pb-5, +.py-5 { + padding-bottom: 3rem !important; +} + +.pl-5, +.px-5 { + padding-left: 3rem !important; +} + +.m-n1 { + margin: -0.25rem !important; +} + +.mt-n1, +.my-n1 { + margin-top: -0.25rem !important; +} + +.mr-n1, +.mx-n1 { + margin-right: -0.25rem !important; +} + +.mb-n1, +.my-n1 { + margin-bottom: -0.25rem !important; +} + +.ml-n1, +.mx-n1 { + margin-left: -0.25rem !important; +} + +.m-n2 { + margin: -0.5rem !important; +} + +.mt-n2, +.my-n2 { + margin-top: -0.5rem !important; +} + +.mr-n2, +.mx-n2 { + margin-right: -0.5rem !important; +} + +.mb-n2, +.my-n2 { + margin-bottom: -0.5rem !important; +} + +.ml-n2, +.mx-n2 { + margin-left: -0.5rem !important; +} + +.m-n3 { + margin: -1rem !important; +} + +.mt-n3, +.my-n3 { + margin-top: -1rem !important; +} + +.mr-n3, +.mx-n3 { + margin-right: -1rem !important; +} + +.mb-n3, +.my-n3 { + margin-bottom: -1rem !important; +} + +.ml-n3, +.mx-n3 { + margin-left: -1rem !important; +} + +.m-n4 { + margin: -1.5rem !important; +} + +.mt-n4, +.my-n4 { + margin-top: -1.5rem !important; +} + +.mr-n4, +.mx-n4 { + margin-right: -1.5rem !important; +} + +.mb-n4, +.my-n4 { + margin-bottom: -1.5rem !important; +} + +.ml-n4, +.mx-n4 { + margin-left: -1.5rem !important; +} + +.m-n5 { + margin: -3rem !important; +} + +.mt-n5, +.my-n5 { + margin-top: -3rem !important; +} + +.mr-n5, +.mx-n5 { + margin-right: -3rem !important; +} + +.mb-n5, +.my-n5 { + margin-bottom: -3rem !important; +} + +.ml-n5, +.mx-n5 { + margin-left: -3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mt-auto, +.my-auto { + margin-top: auto !important; +} + +.mr-auto, +.mx-auto { + margin-right: auto !important; +} + +.mb-auto, +.my-auto { + margin-bottom: auto !important; +} + +.ml-auto, +.mx-auto { + margin-left: auto !important; +} + +@media (min-width: 576px) { + .m-sm-0 { + margin: 0 !important; + } + .mt-sm-0, + .my-sm-0 { + margin-top: 0 !important; + } + .mr-sm-0, + .mx-sm-0 { + margin-right: 0 !important; + } + .mb-sm-0, + .my-sm-0 { + margin-bottom: 0 !important; + } + .ml-sm-0, + .mx-sm-0 { + margin-left: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .mt-sm-1, + .my-sm-1 { + margin-top: 0.25rem !important; + } + .mr-sm-1, + .mx-sm-1 { + margin-right: 0.25rem !important; + } + .mb-sm-1, + .my-sm-1 { + margin-bottom: 0.25rem !important; + } + .ml-sm-1, + .mx-sm-1 { + margin-left: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .mt-sm-2, + .my-sm-2 { + margin-top: 0.5rem !important; + } + .mr-sm-2, + .mx-sm-2 { + margin-right: 0.5rem !important; + } + .mb-sm-2, + .my-sm-2 { + margin-bottom: 0.5rem !important; + } + .ml-sm-2, + .mx-sm-2 { + margin-left: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .mt-sm-3, + .my-sm-3 { + margin-top: 1rem !important; + } + .mr-sm-3, + .mx-sm-3 { + margin-right: 1rem !important; + } + .mb-sm-3, + .my-sm-3 { + margin-bottom: 1rem !important; + } + .ml-sm-3, + .mx-sm-3 { + margin-left: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .mt-sm-4, + .my-sm-4 { + margin-top: 1.5rem !important; + } + .mr-sm-4, + .mx-sm-4 { + margin-right: 1.5rem !important; + } + .mb-sm-4, + .my-sm-4 { + margin-bottom: 1.5rem !important; + } + .ml-sm-4, + .mx-sm-4 { + margin-left: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .mt-sm-5, + .my-sm-5 { + margin-top: 3rem !important; + } + .mr-sm-5, + .mx-sm-5 { + margin-right: 3rem !important; + } + .mb-sm-5, + .my-sm-5 { + margin-bottom: 3rem !important; + } + .ml-sm-5, + .mx-sm-5 { + margin-left: 3rem !important; + } + .p-sm-0 { + padding: 0 !important; + } + .pt-sm-0, + .py-sm-0 { + padding-top: 0 !important; + } + .pr-sm-0, + .px-sm-0 { + padding-right: 0 !important; + } + .pb-sm-0, + .py-sm-0 { + padding-bottom: 0 !important; + } + .pl-sm-0, + .px-sm-0 { + padding-left: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .pt-sm-1, + .py-sm-1 { + padding-top: 0.25rem !important; + } + .pr-sm-1, + .px-sm-1 { + padding-right: 0.25rem !important; + } + .pb-sm-1, + .py-sm-1 { + padding-bottom: 0.25rem !important; + } + .pl-sm-1, + .px-sm-1 { + padding-left: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .pt-sm-2, + .py-sm-2 { + padding-top: 0.5rem !important; + } + .pr-sm-2, + .px-sm-2 { + padding-right: 0.5rem !important; + } + .pb-sm-2, + .py-sm-2 { + padding-bottom: 0.5rem !important; + } + .pl-sm-2, + .px-sm-2 { + padding-left: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .pt-sm-3, + .py-sm-3 { + padding-top: 1rem !important; + } + .pr-sm-3, + .px-sm-3 { + padding-right: 1rem !important; + } + .pb-sm-3, + .py-sm-3 { + padding-bottom: 1rem !important; + } + .pl-sm-3, + .px-sm-3 { + padding-left: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .pt-sm-4, + .py-sm-4 { + padding-top: 1.5rem !important; + } + .pr-sm-4, + .px-sm-4 { + padding-right: 1.5rem !important; + } + .pb-sm-4, + .py-sm-4 { + padding-bottom: 1.5rem !important; + } + .pl-sm-4, + .px-sm-4 { + padding-left: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .pt-sm-5, + .py-sm-5 { + padding-top: 3rem !important; + } + .pr-sm-5, + .px-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-5, + .py-sm-5 { + padding-bottom: 3rem !important; + } + .pl-sm-5, + .px-sm-5 { + padding-left: 3rem !important; + } + .m-sm-n1 { + margin: -0.25rem !important; + } + .mt-sm-n1, + .my-sm-n1 { + margin-top: -0.25rem !important; + } + .mr-sm-n1, + .mx-sm-n1 { + margin-right: -0.25rem !important; + } + .mb-sm-n1, + .my-sm-n1 { + margin-bottom: -0.25rem !important; + } + .ml-sm-n1, + .mx-sm-n1 { + margin-left: -0.25rem !important; + } + .m-sm-n2 { + margin: -0.5rem !important; + } + .mt-sm-n2, + .my-sm-n2 { + margin-top: -0.5rem !important; + } + .mr-sm-n2, + .mx-sm-n2 { + margin-right: -0.5rem !important; + } + .mb-sm-n2, + .my-sm-n2 { + margin-bottom: -0.5rem !important; + } + .ml-sm-n2, + .mx-sm-n2 { + margin-left: -0.5rem !important; + } + .m-sm-n3 { + margin: -1rem !important; + } + .mt-sm-n3, + .my-sm-n3 { + margin-top: -1rem !important; + } + .mr-sm-n3, + .mx-sm-n3 { + margin-right: -1rem !important; + } + .mb-sm-n3, + .my-sm-n3 { + margin-bottom: -1rem !important; + } + .ml-sm-n3, + .mx-sm-n3 { + margin-left: -1rem !important; + } + .m-sm-n4 { + margin: -1.5rem !important; + } + .mt-sm-n4, + .my-sm-n4 { + margin-top: -1.5rem !important; + } + .mr-sm-n4, + .mx-sm-n4 { + margin-right: -1.5rem !important; + } + .mb-sm-n4, + .my-sm-n4 { + margin-bottom: -1.5rem !important; + } + .ml-sm-n4, + .mx-sm-n4 { + margin-left: -1.5rem !important; + } + .m-sm-n5 { + margin: -3rem !important; + } + .mt-sm-n5, + .my-sm-n5 { + margin-top: -3rem !important; + } + .mr-sm-n5, + .mx-sm-n5 { + margin-right: -3rem !important; + } + .mb-sm-n5, + .my-sm-n5 { + margin-bottom: -3rem !important; + } + .ml-sm-n5, + .mx-sm-n5 { + margin-left: -3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mt-sm-auto, + .my-sm-auto { + margin-top: auto !important; + } + .mr-sm-auto, + .mx-sm-auto { + margin-right: auto !important; + } + .mb-sm-auto, + .my-sm-auto { + margin-bottom: auto !important; + } + .ml-sm-auto, + .mx-sm-auto { + margin-left: auto !important; + } +} + +@media (min-width: 768px) { + .m-md-0 { + margin: 0 !important; + } + .mt-md-0, + .my-md-0 { + margin-top: 0 !important; + } + .mr-md-0, + .mx-md-0 { + margin-right: 0 !important; + } + .mb-md-0, + .my-md-0 { + margin-bottom: 0 !important; + } + .ml-md-0, + .mx-md-0 { + margin-left: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .mt-md-1, + .my-md-1 { + margin-top: 0.25rem !important; + } + .mr-md-1, + .mx-md-1 { + margin-right: 0.25rem !important; + } + .mb-md-1, + .my-md-1 { + margin-bottom: 0.25rem !important; + } + .ml-md-1, + .mx-md-1 { + margin-left: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .mt-md-2, + .my-md-2 { + margin-top: 0.5rem !important; + } + .mr-md-2, + .mx-md-2 { + margin-right: 0.5rem !important; + } + .mb-md-2, + .my-md-2 { + margin-bottom: 0.5rem !important; + } + .ml-md-2, + .mx-md-2 { + margin-left: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .mt-md-3, + .my-md-3 { + margin-top: 1rem !important; + } + .mr-md-3, + .mx-md-3 { + margin-right: 1rem !important; + } + .mb-md-3, + .my-md-3 { + margin-bottom: 1rem !important; + } + .ml-md-3, + .mx-md-3 { + margin-left: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .mt-md-4, + .my-md-4 { + margin-top: 1.5rem !important; + } + .mr-md-4, + .mx-md-4 { + margin-right: 1.5rem !important; + } + .mb-md-4, + .my-md-4 { + margin-bottom: 1.5rem !important; + } + .ml-md-4, + .mx-md-4 { + margin-left: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .mt-md-5, + .my-md-5 { + margin-top: 3rem !important; + } + .mr-md-5, + .mx-md-5 { + margin-right: 3rem !important; + } + .mb-md-5, + .my-md-5 { + margin-bottom: 3rem !important; + } + .ml-md-5, + .mx-md-5 { + margin-left: 3rem !important; + } + .p-md-0 { + padding: 0 !important; + } + .pt-md-0, + .py-md-0 { + padding-top: 0 !important; + } + .pr-md-0, + .px-md-0 { + padding-right: 0 !important; + } + .pb-md-0, + .py-md-0 { + padding-bottom: 0 !important; + } + .pl-md-0, + .px-md-0 { + padding-left: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .pt-md-1, + .py-md-1 { + padding-top: 0.25rem !important; + } + .pr-md-1, + .px-md-1 { + padding-right: 0.25rem !important; + } + .pb-md-1, + .py-md-1 { + padding-bottom: 0.25rem !important; + } + .pl-md-1, + .px-md-1 { + padding-left: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .pt-md-2, + .py-md-2 { + padding-top: 0.5rem !important; + } + .pr-md-2, + .px-md-2 { + padding-right: 0.5rem !important; + } + .pb-md-2, + .py-md-2 { + padding-bottom: 0.5rem !important; + } + .pl-md-2, + .px-md-2 { + padding-left: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .pt-md-3, + .py-md-3 { + padding-top: 1rem !important; + } + .pr-md-3, + .px-md-3 { + padding-right: 1rem !important; + } + .pb-md-3, + .py-md-3 { + padding-bottom: 1rem !important; + } + .pl-md-3, + .px-md-3 { + padding-left: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .pt-md-4, + .py-md-4 { + padding-top: 1.5rem !important; + } + .pr-md-4, + .px-md-4 { + padding-right: 1.5rem !important; + } + .pb-md-4, + .py-md-4 { + padding-bottom: 1.5rem !important; + } + .pl-md-4, + .px-md-4 { + padding-left: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .pt-md-5, + .py-md-5 { + padding-top: 3rem !important; + } + .pr-md-5, + .px-md-5 { + padding-right: 3rem !important; + } + .pb-md-5, + .py-md-5 { + padding-bottom: 3rem !important; + } + .pl-md-5, + .px-md-5 { + padding-left: 3rem !important; + } + .m-md-n1 { + margin: -0.25rem !important; + } + .mt-md-n1, + .my-md-n1 { + margin-top: -0.25rem !important; + } + .mr-md-n1, + .mx-md-n1 { + margin-right: -0.25rem !important; + } + .mb-md-n1, + .my-md-n1 { + margin-bottom: -0.25rem !important; + } + .ml-md-n1, + .mx-md-n1 { + margin-left: -0.25rem !important; + } + .m-md-n2 { + margin: -0.5rem !important; + } + .mt-md-n2, + .my-md-n2 { + margin-top: -0.5rem !important; + } + .mr-md-n2, + .mx-md-n2 { + margin-right: -0.5rem !important; + } + .mb-md-n2, + .my-md-n2 { + margin-bottom: -0.5rem !important; + } + .ml-md-n2, + .mx-md-n2 { + margin-left: -0.5rem !important; + } + .m-md-n3 { + margin: -1rem !important; + } + .mt-md-n3, + .my-md-n3 { + margin-top: -1rem !important; + } + .mr-md-n3, + .mx-md-n3 { + margin-right: -1rem !important; + } + .mb-md-n3, + .my-md-n3 { + margin-bottom: -1rem !important; + } + .ml-md-n3, + .mx-md-n3 { + margin-left: -1rem !important; + } + .m-md-n4 { + margin: -1.5rem !important; + } + .mt-md-n4, + .my-md-n4 { + margin-top: -1.5rem !important; + } + .mr-md-n4, + .mx-md-n4 { + margin-right: -1.5rem !important; + } + .mb-md-n4, + .my-md-n4 { + margin-bottom: -1.5rem !important; + } + .ml-md-n4, + .mx-md-n4 { + margin-left: -1.5rem !important; + } + .m-md-n5 { + margin: -3rem !important; + } + .mt-md-n5, + .my-md-n5 { + margin-top: -3rem !important; + } + .mr-md-n5, + .mx-md-n5 { + margin-right: -3rem !important; + } + .mb-md-n5, + .my-md-n5 { + margin-bottom: -3rem !important; + } + .ml-md-n5, + .mx-md-n5 { + margin-left: -3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mt-md-auto, + .my-md-auto { + margin-top: auto !important; + } + .mr-md-auto, + .mx-md-auto { + margin-right: auto !important; + } + .mb-md-auto, + .my-md-auto { + margin-bottom: auto !important; + } + .ml-md-auto, + .mx-md-auto { + margin-left: auto !important; + } +} + +@media (min-width: 992px) { + .m-lg-0 { + margin: 0 !important; + } + .mt-lg-0, + .my-lg-0 { + margin-top: 0 !important; + } + .mr-lg-0, + .mx-lg-0 { + margin-right: 0 !important; + } + .mb-lg-0, + .my-lg-0 { + margin-bottom: 0 !important; + } + .ml-lg-0, + .mx-lg-0 { + margin-left: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .mt-lg-1, + .my-lg-1 { + margin-top: 0.25rem !important; + } + .mr-lg-1, + .mx-lg-1 { + margin-right: 0.25rem !important; + } + .mb-lg-1, + .my-lg-1 { + margin-bottom: 0.25rem !important; + } + .ml-lg-1, + .mx-lg-1 { + margin-left: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .mt-lg-2, + .my-lg-2 { + margin-top: 0.5rem !important; + } + .mr-lg-2, + .mx-lg-2 { + margin-right: 0.5rem !important; + } + .mb-lg-2, + .my-lg-2 { + margin-bottom: 0.5rem !important; + } + .ml-lg-2, + .mx-lg-2 { + margin-left: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .mt-lg-3, + .my-lg-3 { + margin-top: 1rem !important; + } + .mr-lg-3, + .mx-lg-3 { + margin-right: 1rem !important; + } + .mb-lg-3, + .my-lg-3 { + margin-bottom: 1rem !important; + } + .ml-lg-3, + .mx-lg-3 { + margin-left: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .mt-lg-4, + .my-lg-4 { + margin-top: 1.5rem !important; + } + .mr-lg-4, + .mx-lg-4 { + margin-right: 1.5rem !important; + } + .mb-lg-4, + .my-lg-4 { + margin-bottom: 1.5rem !important; + } + .ml-lg-4, + .mx-lg-4 { + margin-left: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .mt-lg-5, + .my-lg-5 { + margin-top: 3rem !important; + } + .mr-lg-5, + .mx-lg-5 { + margin-right: 3rem !important; + } + .mb-lg-5, + .my-lg-5 { + margin-bottom: 3rem !important; + } + .ml-lg-5, + .mx-lg-5 { + margin-left: 3rem !important; + } + .p-lg-0 { + padding: 0 !important; + } + .pt-lg-0, + .py-lg-0 { + padding-top: 0 !important; + } + .pr-lg-0, + .px-lg-0 { + padding-right: 0 !important; + } + .pb-lg-0, + .py-lg-0 { + padding-bottom: 0 !important; + } + .pl-lg-0, + .px-lg-0 { + padding-left: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .pt-lg-1, + .py-lg-1 { + padding-top: 0.25rem !important; + } + .pr-lg-1, + .px-lg-1 { + padding-right: 0.25rem !important; + } + .pb-lg-1, + .py-lg-1 { + padding-bottom: 0.25rem !important; + } + .pl-lg-1, + .px-lg-1 { + padding-left: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .pt-lg-2, + .py-lg-2 { + padding-top: 0.5rem !important; + } + .pr-lg-2, + .px-lg-2 { + padding-right: 0.5rem !important; + } + .pb-lg-2, + .py-lg-2 { + padding-bottom: 0.5rem !important; + } + .pl-lg-2, + .px-lg-2 { + padding-left: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .pt-lg-3, + .py-lg-3 { + padding-top: 1rem !important; + } + .pr-lg-3, + .px-lg-3 { + padding-right: 1rem !important; + } + .pb-lg-3, + .py-lg-3 { + padding-bottom: 1rem !important; + } + .pl-lg-3, + .px-lg-3 { + padding-left: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .pt-lg-4, + .py-lg-4 { + padding-top: 1.5rem !important; + } + .pr-lg-4, + .px-lg-4 { + padding-right: 1.5rem !important; + } + .pb-lg-4, + .py-lg-4 { + padding-bottom: 1.5rem !important; + } + .pl-lg-4, + .px-lg-4 { + padding-left: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .pt-lg-5, + .py-lg-5 { + padding-top: 3rem !important; + } + .pr-lg-5, + .px-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-5, + .py-lg-5 { + padding-bottom: 3rem !important; + } + .pl-lg-5, + .px-lg-5 { + padding-left: 3rem !important; + } + .m-lg-n1 { + margin: -0.25rem !important; + } + .mt-lg-n1, + .my-lg-n1 { + margin-top: -0.25rem !important; + } + .mr-lg-n1, + .mx-lg-n1 { + margin-right: -0.25rem !important; + } + .mb-lg-n1, + .my-lg-n1 { + margin-bottom: -0.25rem !important; + } + .ml-lg-n1, + .mx-lg-n1 { + margin-left: -0.25rem !important; + } + .m-lg-n2 { + margin: -0.5rem !important; + } + .mt-lg-n2, + .my-lg-n2 { + margin-top: -0.5rem !important; + } + .mr-lg-n2, + .mx-lg-n2 { + margin-right: -0.5rem !important; + } + .mb-lg-n2, + .my-lg-n2 { + margin-bottom: -0.5rem !important; + } + .ml-lg-n2, + .mx-lg-n2 { + margin-left: -0.5rem !important; + } + .m-lg-n3 { + margin: -1rem !important; + } + .mt-lg-n3, + .my-lg-n3 { + margin-top: -1rem !important; + } + .mr-lg-n3, + .mx-lg-n3 { + margin-right: -1rem !important; + } + .mb-lg-n3, + .my-lg-n3 { + margin-bottom: -1rem !important; + } + .ml-lg-n3, + .mx-lg-n3 { + margin-left: -1rem !important; + } + .m-lg-n4 { + margin: -1.5rem !important; + } + .mt-lg-n4, + .my-lg-n4 { + margin-top: -1.5rem !important; + } + .mr-lg-n4, + .mx-lg-n4 { + margin-right: -1.5rem !important; + } + .mb-lg-n4, + .my-lg-n4 { + margin-bottom: -1.5rem !important; + } + .ml-lg-n4, + .mx-lg-n4 { + margin-left: -1.5rem !important; + } + .m-lg-n5 { + margin: -3rem !important; + } + .mt-lg-n5, + .my-lg-n5 { + margin-top: -3rem !important; + } + .mr-lg-n5, + .mx-lg-n5 { + margin-right: -3rem !important; + } + .mb-lg-n5, + .my-lg-n5 { + margin-bottom: -3rem !important; + } + .ml-lg-n5, + .mx-lg-n5 { + margin-left: -3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mt-lg-auto, + .my-lg-auto { + margin-top: auto !important; + } + .mr-lg-auto, + .mx-lg-auto { + margin-right: auto !important; + } + .mb-lg-auto, + .my-lg-auto { + margin-bottom: auto !important; + } + .ml-lg-auto, + .mx-lg-auto { + margin-left: auto !important; + } +} + +@media (min-width: 1200px) { + .m-xl-0 { + margin: 0 !important; + } + .mt-xl-0, + .my-xl-0 { + margin-top: 0 !important; + } + .mr-xl-0, + .mx-xl-0 { + margin-right: 0 !important; + } + .mb-xl-0, + .my-xl-0 { + margin-bottom: 0 !important; + } + .ml-xl-0, + .mx-xl-0 { + margin-left: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .mt-xl-1, + .my-xl-1 { + margin-top: 0.25rem !important; + } + .mr-xl-1, + .mx-xl-1 { + margin-right: 0.25rem !important; + } + .mb-xl-1, + .my-xl-1 { + margin-bottom: 0.25rem !important; + } + .ml-xl-1, + .mx-xl-1 { + margin-left: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .mt-xl-2, + .my-xl-2 { + margin-top: 0.5rem !important; + } + .mr-xl-2, + .mx-xl-2 { + margin-right: 0.5rem !important; + } + .mb-xl-2, + .my-xl-2 { + margin-bottom: 0.5rem !important; + } + .ml-xl-2, + .mx-xl-2 { + margin-left: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .mt-xl-3, + .my-xl-3 { + margin-top: 1rem !important; + } + .mr-xl-3, + .mx-xl-3 { + margin-right: 1rem !important; + } + .mb-xl-3, + .my-xl-3 { + margin-bottom: 1rem !important; + } + .ml-xl-3, + .mx-xl-3 { + margin-left: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .mt-xl-4, + .my-xl-4 { + margin-top: 1.5rem !important; + } + .mr-xl-4, + .mx-xl-4 { + margin-right: 1.5rem !important; + } + .mb-xl-4, + .my-xl-4 { + margin-bottom: 1.5rem !important; + } + .ml-xl-4, + .mx-xl-4 { + margin-left: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .mt-xl-5, + .my-xl-5 { + margin-top: 3rem !important; + } + .mr-xl-5, + .mx-xl-5 { + margin-right: 3rem !important; + } + .mb-xl-5, + .my-xl-5 { + margin-bottom: 3rem !important; + } + .ml-xl-5, + .mx-xl-5 { + margin-left: 3rem !important; + } + .p-xl-0 { + padding: 0 !important; + } + .pt-xl-0, + .py-xl-0 { + padding-top: 0 !important; + } + .pr-xl-0, + .px-xl-0 { + padding-right: 0 !important; + } + .pb-xl-0, + .py-xl-0 { + padding-bottom: 0 !important; + } + .pl-xl-0, + .px-xl-0 { + padding-left: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .pt-xl-1, + .py-xl-1 { + padding-top: 0.25rem !important; + } + .pr-xl-1, + .px-xl-1 { + padding-right: 0.25rem !important; + } + .pb-xl-1, + .py-xl-1 { + padding-bottom: 0.25rem !important; + } + .pl-xl-1, + .px-xl-1 { + padding-left: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .pt-xl-2, + .py-xl-2 { + padding-top: 0.5rem !important; + } + .pr-xl-2, + .px-xl-2 { + padding-right: 0.5rem !important; + } + .pb-xl-2, + .py-xl-2 { + padding-bottom: 0.5rem !important; + } + .pl-xl-2, + .px-xl-2 { + padding-left: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .pt-xl-3, + .py-xl-3 { + padding-top: 1rem !important; + } + .pr-xl-3, + .px-xl-3 { + padding-right: 1rem !important; + } + .pb-xl-3, + .py-xl-3 { + padding-bottom: 1rem !important; + } + .pl-xl-3, + .px-xl-3 { + padding-left: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .pt-xl-4, + .py-xl-4 { + padding-top: 1.5rem !important; + } + .pr-xl-4, + .px-xl-4 { + padding-right: 1.5rem !important; + } + .pb-xl-4, + .py-xl-4 { + padding-bottom: 1.5rem !important; + } + .pl-xl-4, + .px-xl-4 { + padding-left: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .pt-xl-5, + .py-xl-5 { + padding-top: 3rem !important; + } + .pr-xl-5, + .px-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-5, + .py-xl-5 { + padding-bottom: 3rem !important; + } + .pl-xl-5, + .px-xl-5 { + padding-left: 3rem !important; + } + .m-xl-n1 { + margin: -0.25rem !important; + } + .mt-xl-n1, + .my-xl-n1 { + margin-top: -0.25rem !important; + } + .mr-xl-n1, + .mx-xl-n1 { + margin-right: -0.25rem !important; + } + .mb-xl-n1, + .my-xl-n1 { + margin-bottom: -0.25rem !important; + } + .ml-xl-n1, + .mx-xl-n1 { + margin-left: -0.25rem !important; + } + .m-xl-n2 { + margin: -0.5rem !important; + } + .mt-xl-n2, + .my-xl-n2 { + margin-top: -0.5rem !important; + } + .mr-xl-n2, + .mx-xl-n2 { + margin-right: -0.5rem !important; + } + .mb-xl-n2, + .my-xl-n2 { + margin-bottom: -0.5rem !important; + } + .ml-xl-n2, + .mx-xl-n2 { + margin-left: -0.5rem !important; + } + .m-xl-n3 { + margin: -1rem !important; + } + .mt-xl-n3, + .my-xl-n3 { + margin-top: -1rem !important; + } + .mr-xl-n3, + .mx-xl-n3 { + margin-right: -1rem !important; + } + .mb-xl-n3, + .my-xl-n3 { + margin-bottom: -1rem !important; + } + .ml-xl-n3, + .mx-xl-n3 { + margin-left: -1rem !important; + } + .m-xl-n4 { + margin: -1.5rem !important; + } + .mt-xl-n4, + .my-xl-n4 { + margin-top: -1.5rem !important; + } + .mr-xl-n4, + .mx-xl-n4 { + margin-right: -1.5rem !important; + } + .mb-xl-n4, + .my-xl-n4 { + margin-bottom: -1.5rem !important; + } + .ml-xl-n4, + .mx-xl-n4 { + margin-left: -1.5rem !important; + } + .m-xl-n5 { + margin: -3rem !important; + } + .mt-xl-n5, + .my-xl-n5 { + margin-top: -3rem !important; + } + .mr-xl-n5, + .mx-xl-n5 { + margin-right: -3rem !important; + } + .mb-xl-n5, + .my-xl-n5 { + margin-bottom: -3rem !important; + } + .ml-xl-n5, + .mx-xl-n5 { + margin-left: -3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mt-xl-auto, + .my-xl-auto { + margin-top: auto !important; + } + .mr-xl-auto, + .mx-xl-auto { + margin-right: auto !important; + } + .mb-xl-auto, + .my-xl-auto { + margin-bottom: auto !important; + } + .ml-xl-auto, + .mx-xl-auto { + margin-left: auto !important; + } +} + +.text-monospace { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; +} + +.text-justify { + text-align: justify !important; +} + +.text-wrap { + white-space: normal !important; +} + +.text-nowrap { + white-space: nowrap !important; +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.text-left { + text-align: left !important; +} + +.text-right { + text-align: right !important; +} + +.text-center { + text-align: center !important; +} + +@media (min-width: 576px) { + .text-sm-left { + text-align: left !important; + } + .text-sm-right { + text-align: right !important; + } + .text-sm-center { + text-align: center !important; + } +} + +@media (min-width: 768px) { + .text-md-left { + text-align: left !important; + } + .text-md-right { + text-align: right !important; + } + .text-md-center { + text-align: center !important; + } +} + +@media (min-width: 992px) { + .text-lg-left { + text-align: left !important; + } + .text-lg-right { + text-align: right !important; + } + .text-lg-center { + text-align: center !important; + } +} + +@media (min-width: 1200px) { + .text-xl-left { + text-align: left !important; + } + .text-xl-right { + text-align: right !important; + } + .text-xl-center { + text-align: center !important; + } +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.font-weight-light { + font-weight: 300 !important; +} + +.font-weight-lighter { + font-weight: lighter !important; +} + +.font-weight-normal { + font-weight: 400 !important; +} + +.font-weight-bold { + font-weight: 700 !important; +} + +.font-weight-bolder { + font-weight: bolder !important; +} + +.font-italic { + font-style: italic !important; +} + +.text-white { + color: #fff !important; +} + +.text-primary { + color: #007bff !important; +} + +a.text-primary:hover, a.text-primary:focus { + color: #0056b3 !important; +} + +.text-secondary { + color: #6c757d !important; +} + +a.text-secondary:hover, a.text-secondary:focus { + color: #494f54 !important; +} + +.text-success { + color: #28a745 !important; +} + +a.text-success:hover, a.text-success:focus { + color: #19692c !important; +} + +.text-info { + color: #17a2b8 !important; +} + +a.text-info:hover, a.text-info:focus { + color: #0f6674 !important; +} + +.text-warning { + color: #ffc107 !important; +} + +a.text-warning:hover, a.text-warning:focus { + color: #ba8b00 !important; +} + +.text-danger { + color: #dc3545 !important; +} + +a.text-danger:hover, a.text-danger:focus { + color: #a71d2a !important; +} + +.text-light { + color: #f8f9fa !important; +} + +a.text-light:hover, a.text-light:focus { + color: #cbd3da !important; +} + +.text-dark { + color: #343a40 !important; +} + +a.text-dark:hover, a.text-dark:focus { + color: #121416 !important; +} + +.text-body { + color: #212529 !important; +} + +.text-muted { + color: #6c757d !important; +} + +.text-black-50 { + color: rgba(0, 0, 0, 0.5) !important; +} + +.text-white-50 { + color: rgba(255, 255, 255, 0.5) !important; +} + +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +.text-decoration-none { + text-decoration: none !important; +} + +.text-break { + word-break: break-word !important; + overflow-wrap: break-word !important; +} + +.text-reset { + color: inherit !important; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +@media print { + *, + *::before, + *::after { + text-shadow: none !important; + box-shadow: none !important; + } + a:not(.btn) { + text-decoration: underline; + } + abbr[title]::after { + content: " (" attr(title) ")"; + } + pre { + white-space: pre-wrap !important; + } + pre, + blockquote { + border: 1px solid #adb5bd; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + @page { + size: a3; + } + body { + min-width: 992px !important; + } + .container { + min-width: 992px !important; + } + .navbar { + display: none; + } + .badge { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #dee2e6 !important; + } + .table-dark { + color: inherit; + } + .table-dark th, + .table-dark td, + .table-dark thead th, + .table-dark tbody + tbody { + border-color: #dee2e6; + } + .table .thead-dark th { + color: inherit; + border-color: #dee2e6; + } +} + +/*# sourceMappingURL=bootstrap.css.map */ \ No newline at end of file diff --git a/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/static/bootstrap/css/bootstrap.min.css b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/static/bootstrap/css/bootstrap.min.css new file mode 100644 index 00000000..86b6845b --- /dev/null +++ b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/static/bootstrap/css/bootstrap.min.css @@ -0,0 +1,7 @@ +/*! + * Bootstrap v4.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]){color:inherit;text-decoration:none}a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.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-lg-auto,.col-md,.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-md-auto,.col-sm,.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-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 0%;flex:1 1 0%;min-width:0;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img,.card-img-bottom,.card-img-top{-ms-flex-negative:0;flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{-ms-flex:1 0 0%;flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{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);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal .list-group-item.active{margin-top:0}.list-group-horizontal .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm .list-group-item.active{margin-top:0}.list-group-horizontal-sm .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md .list-group-item.active{margin-top:0}.list-group-horizontal-md .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg .list-group-item.active{margin-top:0}.list-group-horizontal-lg .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl .list-group-item.active{margin-top:0}.list-group-horizontal-xl .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush .list-group-item{border-right-width:0;border-left-width:0;border-radius:0}.list-group-flush .list-group-item:first-child{border-top-width:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.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-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{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 #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/static/bootstrap/css/dist/css/bootstrap.css b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/static/bootstrap/css/dist/css/bootstrap.css new file mode 100644 index 00000000..8eac957a --- /dev/null +++ b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/static/bootstrap/css/dist/css/bootstrap.css @@ -0,0 +1,10224 @@ +/*! + * Bootstrap v4.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +:root { + --blue: #007bff; + --indigo: #6610f2; + --purple: #6f42c1; + --pink: #e83e8c; + --red: #dc3545; + --orange: #fd7e14; + --yellow: #ffc107; + --green: #28a745; + --teal: #20c997; + --cyan: #17a2b8; + --white: #fff; + --gray: #6c757d; + --gray-dark: #343a40; + --primary: #007bff; + --secondary: #6c757d; + --success: #28a745; + --info: #17a2b8; + --warning: #ffc107; + --danger: #dc3545; + --light: #f8f9fa; + --dark: #343a40; + --breakpoint-xs: 0; + --breakpoint-sm: 576px; + --breakpoint-md: 768px; + --breakpoint-lg: 992px; + --breakpoint-xl: 1200px; + --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; +} + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; +} + +[tabindex="-1"]:focus:not(:focus-visible) { + outline: 0 !important; +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: .5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -.25em; +} + +sup { + top: -.5em; +} + +a { + color: #007bff; + text-decoration: none; + background-color: transparent; +} + +a:hover { + color: #0056b3; + text-decoration: underline; +} + +a:not([href]) { + color: inherit; + text-decoration: none; +} + +a:not([href]):hover { + color: inherit; + text-decoration: none; +} + +pre, +code, +kbd, +samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 1em; +} + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; +} + +figure { + margin: 0 0 1rem; +} + +img { + vertical-align: middle; + border-style: none; +} + +svg { + overflow: hidden; + vertical-align: middle; +} + +table { + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #6c757d; + text-align: left; + caption-side: bottom; +} + +th { + text-align: inherit; +} + +label { + display: inline-block; + margin-bottom: 0.5rem; +} + +button { + border-radius: 0; +} + +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +select { + word-wrap: normal; +} + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +button:not(:disabled), +[type="button"]:not(:disabled), +[type="reset"]:not(:disabled), +[type="submit"]:not(:disabled) { + cursor: pointer; +} + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + -webkit-appearance: listbox; +} + +textarea { + overflow: auto; + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +progress { + vertical-align: baseline; +} + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; +} + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +summary { + display: list-item; + cursor: pointer; +} + +template { + display: none; +} + +[hidden] { + display: none !important; +} + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; +} + +h1, .h1 { + font-size: 2.5rem; +} + +h2, .h2 { + font-size: 2rem; +} + +h3, .h3 { + font-size: 1.75rem; +} + +h4, .h4 { + font-size: 1.5rem; +} + +h5, .h5 { + font-size: 1.25rem; +} + +h6, .h6 { + font-size: 1rem; +} + +.lead { + font-size: 1.25rem; + font-weight: 300; +} + +.display-1 { + font-size: 6rem; + font-weight: 300; + line-height: 1.2; +} + +.display-2 { + font-size: 5.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-3 { + font-size: 4.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-4 { + font-size: 3.5rem; + font-weight: 300; + line-height: 1.2; +} + +hr { + margin-top: 1rem; + margin-bottom: 1rem; + border: 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); +} + +small, +.small { + font-size: 80%; + font-weight: 400; +} + +mark, +.mark { + padding: 0.2em; + background-color: #fcf8e3; +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline-item { + display: inline-block; +} + +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} + +.initialism { + font-size: 90%; + text-transform: uppercase; +} + +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} + +.blockquote-footer { + display: block; + font-size: 80%; + color: #6c757d; +} + +.blockquote-footer::before { + content: "\2014\00A0"; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #dee2e6; + border-radius: 0.25rem; + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: 90%; + color: #6c757d; +} + +code { + font-size: 87.5%; + color: #e83e8c; + word-wrap: break-word; +} + +a > code { + color: inherit; +} + +kbd { + padding: 0.2rem 0.4rem; + font-size: 87.5%; + color: #fff; + background-color: #212529; + border-radius: 0.2rem; +} + +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: 700; +} + +pre { + display: block; + font-size: 87.5%; + color: #212529; +} + +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +.container { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container { + max-width: 1140px; + } +} + +.container-fluid, .container-sm, .container-md, .container-lg, .container-xl { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container, .container-sm { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container, .container-sm, .container-md { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container, .container-sm, .container-md, .container-lg { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container, .container-sm, .container-md, .container-lg, .container-xl { + max-width: 1140px; + } +} + +.row { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; +} + +.no-gutters { + margin-right: 0; + margin-left: 0; +} + +.no-gutters > .col, +.no-gutters > [class*="col-"] { + padding-right: 0; + padding-left: 0; +} + +.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, +.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, +.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, +.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, +.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, +.col-xl-auto { + position: relative; + width: 100%; + padding-right: 15px; + padding-left: 15px; +} + +.col { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; +} + +.row-cols-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; +} + +.row-cols-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; +} + +.row-cols-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.row-cols-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; +} + +.row-cols-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; +} + +.row-cols-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; +} + +.col-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; +} + +.col-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; +} + +.col-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.col-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; +} + +.col-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; +} + +.col-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; +} + +.col-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; +} + +.col-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; +} + +.col-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; +} + +.col-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; +} + +.col-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; +} + +.order-first { + -ms-flex-order: -1; + order: -1; +} + +.order-last { + -ms-flex-order: 13; + order: 13; +} + +.order-0 { + -ms-flex-order: 0; + order: 0; +} + +.order-1 { + -ms-flex-order: 1; + order: 1; +} + +.order-2 { + -ms-flex-order: 2; + order: 2; +} + +.order-3 { + -ms-flex-order: 3; + order: 3; +} + +.order-4 { + -ms-flex-order: 4; + order: 4; +} + +.order-5 { + -ms-flex-order: 5; + order: 5; +} + +.order-6 { + -ms-flex-order: 6; + order: 6; +} + +.order-7 { + -ms-flex-order: 7; + order: 7; +} + +.order-8 { + -ms-flex-order: 8; + order: 8; +} + +.order-9 { + -ms-flex-order: 9; + order: 9; +} + +.order-10 { + -ms-flex-order: 10; + order: 10; +} + +.order-11 { + -ms-flex-order: 11; + order: 11; +} + +.order-12 { + -ms-flex-order: 12; + order: 12; +} + +.offset-1 { + margin-left: 8.333333%; +} + +.offset-2 { + margin-left: 16.666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.333333%; +} + +.offset-5 { + margin-left: 41.666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.333333%; +} + +.offset-8 { + margin-left: 66.666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.333333%; +} + +.offset-11 { + margin-left: 91.666667%; +} + +@media (min-width: 576px) { + .col-sm { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .row-cols-sm-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-sm-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-sm-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-sm-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-sm-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-sm-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-sm-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-sm-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-sm-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-sm-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-sm-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-sm-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-sm-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-sm-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-sm-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-sm-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-sm-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-sm-first { + -ms-flex-order: -1; + order: -1; + } + .order-sm-last { + -ms-flex-order: 13; + order: 13; + } + .order-sm-0 { + -ms-flex-order: 0; + order: 0; + } + .order-sm-1 { + -ms-flex-order: 1; + order: 1; + } + .order-sm-2 { + -ms-flex-order: 2; + order: 2; + } + .order-sm-3 { + -ms-flex-order: 3; + order: 3; + } + .order-sm-4 { + -ms-flex-order: 4; + order: 4; + } + .order-sm-5 { + -ms-flex-order: 5; + order: 5; + } + .order-sm-6 { + -ms-flex-order: 6; + order: 6; + } + .order-sm-7 { + -ms-flex-order: 7; + order: 7; + } + .order-sm-8 { + -ms-flex-order: 8; + order: 8; + } + .order-sm-9 { + -ms-flex-order: 9; + order: 9; + } + .order-sm-10 { + -ms-flex-order: 10; + order: 10; + } + .order-sm-11 { + -ms-flex-order: 11; + order: 11; + } + .order-sm-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.333333%; + } + .offset-sm-2 { + margin-left: 16.666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.333333%; + } + .offset-sm-5 { + margin-left: 41.666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.333333%; + } + .offset-sm-8 { + margin-left: 66.666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.333333%; + } + .offset-sm-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 768px) { + .col-md { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .row-cols-md-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-md-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-md-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-md-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-md-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-md-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-md-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-md-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-md-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-md-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-md-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-md-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-md-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-md-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-md-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-md-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-md-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-md-first { + -ms-flex-order: -1; + order: -1; + } + .order-md-last { + -ms-flex-order: 13; + order: 13; + } + .order-md-0 { + -ms-flex-order: 0; + order: 0; + } + .order-md-1 { + -ms-flex-order: 1; + order: 1; + } + .order-md-2 { + -ms-flex-order: 2; + order: 2; + } + .order-md-3 { + -ms-flex-order: 3; + order: 3; + } + .order-md-4 { + -ms-flex-order: 4; + order: 4; + } + .order-md-5 { + -ms-flex-order: 5; + order: 5; + } + .order-md-6 { + -ms-flex-order: 6; + order: 6; + } + .order-md-7 { + -ms-flex-order: 7; + order: 7; + } + .order-md-8 { + -ms-flex-order: 8; + order: 8; + } + .order-md-9 { + -ms-flex-order: 9; + order: 9; + } + .order-md-10 { + -ms-flex-order: 10; + order: 10; + } + .order-md-11 { + -ms-flex-order: 11; + order: 11; + } + .order-md-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.333333%; + } + .offset-md-2 { + margin-left: 16.666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.333333%; + } + .offset-md-5 { + margin-left: 41.666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.333333%; + } + .offset-md-8 { + margin-left: 66.666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.333333%; + } + .offset-md-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 992px) { + .col-lg { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .row-cols-lg-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-lg-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-lg-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-lg-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-lg-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-lg-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-lg-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-lg-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-lg-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-lg-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-lg-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-lg-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-lg-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-lg-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-lg-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-lg-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-lg-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-lg-first { + -ms-flex-order: -1; + order: -1; + } + .order-lg-last { + -ms-flex-order: 13; + order: 13; + } + .order-lg-0 { + -ms-flex-order: 0; + order: 0; + } + .order-lg-1 { + -ms-flex-order: 1; + order: 1; + } + .order-lg-2 { + -ms-flex-order: 2; + order: 2; + } + .order-lg-3 { + -ms-flex-order: 3; + order: 3; + } + .order-lg-4 { + -ms-flex-order: 4; + order: 4; + } + .order-lg-5 { + -ms-flex-order: 5; + order: 5; + } + .order-lg-6 { + -ms-flex-order: 6; + order: 6; + } + .order-lg-7 { + -ms-flex-order: 7; + order: 7; + } + .order-lg-8 { + -ms-flex-order: 8; + order: 8; + } + .order-lg-9 { + -ms-flex-order: 9; + order: 9; + } + .order-lg-10 { + -ms-flex-order: 10; + order: 10; + } + .order-lg-11 { + -ms-flex-order: 11; + order: 11; + } + .order-lg-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.333333%; + } + .offset-lg-2 { + margin-left: 16.666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.333333%; + } + .offset-lg-5 { + margin-left: 41.666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.333333%; + } + .offset-lg-8 { + margin-left: 66.666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.333333%; + } + .offset-lg-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 1200px) { + .col-xl { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .row-cols-xl-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-xl-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-xl-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-xl-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-xl-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-xl-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-xl-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-xl-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-xl-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-xl-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-xl-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-xl-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-xl-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-xl-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-xl-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-xl-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-xl-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-xl-first { + -ms-flex-order: -1; + order: -1; + } + .order-xl-last { + -ms-flex-order: 13; + order: 13; + } + .order-xl-0 { + -ms-flex-order: 0; + order: 0; + } + .order-xl-1 { + -ms-flex-order: 1; + order: 1; + } + .order-xl-2 { + -ms-flex-order: 2; + order: 2; + } + .order-xl-3 { + -ms-flex-order: 3; + order: 3; + } + .order-xl-4 { + -ms-flex-order: 4; + order: 4; + } + .order-xl-5 { + -ms-flex-order: 5; + order: 5; + } + .order-xl-6 { + -ms-flex-order: 6; + order: 6; + } + .order-xl-7 { + -ms-flex-order: 7; + order: 7; + } + .order-xl-8 { + -ms-flex-order: 8; + order: 8; + } + .order-xl-9 { + -ms-flex-order: 9; + order: 9; + } + .order-xl-10 { + -ms-flex-order: 10; + order: 10; + } + .order-xl-11 { + -ms-flex-order: 11; + order: 11; + } + .order-xl-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.333333%; + } + .offset-xl-2 { + margin-left: 16.666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.333333%; + } + .offset-xl-5 { + margin-left: 41.666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.333333%; + } + .offset-xl-8 { + margin-left: 66.666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.333333%; + } + .offset-xl-11 { + margin-left: 91.666667%; + } +} + +.table { + width: 100%; + margin-bottom: 1rem; + color: #212529; +} + +.table th, +.table td { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid #dee2e6; +} + +.table thead th { + vertical-align: bottom; + border-bottom: 2px solid #dee2e6; +} + +.table tbody + tbody { + border-top: 2px solid #dee2e6; +} + +.table-sm th, +.table-sm td { + padding: 0.3rem; +} + +.table-bordered { + border: 1px solid #dee2e6; +} + +.table-bordered th, +.table-bordered td { + border: 1px solid #dee2e6; +} + +.table-bordered thead th, +.table-bordered thead td { + border-bottom-width: 2px; +} + +.table-borderless th, +.table-borderless td, +.table-borderless thead th, +.table-borderless tbody + tbody { + border: 0; +} + +.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(0, 0, 0, 0.05); +} + +.table-hover tbody tr:hover { + color: #212529; + background-color: rgba(0, 0, 0, 0.075); +} + +.table-primary, +.table-primary > th, +.table-primary > td { + background-color: #b8daff; +} + +.table-primary th, +.table-primary td, +.table-primary thead th, +.table-primary tbody + tbody { + border-color: #7abaff; +} + +.table-hover .table-primary:hover { + background-color: #9fcdff; +} + +.table-hover .table-primary:hover > td, +.table-hover .table-primary:hover > th { + background-color: #9fcdff; +} + +.table-secondary, +.table-secondary > th, +.table-secondary > td { + background-color: #d6d8db; +} + +.table-secondary th, +.table-secondary td, +.table-secondary thead th, +.table-secondary tbody + tbody { + border-color: #b3b7bb; +} + +.table-hover .table-secondary:hover { + background-color: #c8cbcf; +} + +.table-hover .table-secondary:hover > td, +.table-hover .table-secondary:hover > th { + background-color: #c8cbcf; +} + +.table-success, +.table-success > th, +.table-success > td { + background-color: #c3e6cb; +} + +.table-success th, +.table-success td, +.table-success thead th, +.table-success tbody + tbody { + border-color: #8fd19e; +} + +.table-hover .table-success:hover { + background-color: #b1dfbb; +} + +.table-hover .table-success:hover > td, +.table-hover .table-success:hover > th { + background-color: #b1dfbb; +} + +.table-info, +.table-info > th, +.table-info > td { + background-color: #bee5eb; +} + +.table-info th, +.table-info td, +.table-info thead th, +.table-info tbody + tbody { + border-color: #86cfda; +} + +.table-hover .table-info:hover { + background-color: #abdde5; +} + +.table-hover .table-info:hover > td, +.table-hover .table-info:hover > th { + background-color: #abdde5; +} + +.table-warning, +.table-warning > th, +.table-warning > td { + background-color: #ffeeba; +} + +.table-warning th, +.table-warning td, +.table-warning thead th, +.table-warning tbody + tbody { + border-color: #ffdf7e; +} + +.table-hover .table-warning:hover { + background-color: #ffe8a1; +} + +.table-hover .table-warning:hover > td, +.table-hover .table-warning:hover > th { + background-color: #ffe8a1; +} + +.table-danger, +.table-danger > th, +.table-danger > td { + background-color: #f5c6cb; +} + +.table-danger th, +.table-danger td, +.table-danger thead th, +.table-danger tbody + tbody { + border-color: #ed969e; +} + +.table-hover .table-danger:hover { + background-color: #f1b0b7; +} + +.table-hover .table-danger:hover > td, +.table-hover .table-danger:hover > th { + background-color: #f1b0b7; +} + +.table-light, +.table-light > th, +.table-light > td { + background-color: #fdfdfe; +} + +.table-light th, +.table-light td, +.table-light thead th, +.table-light tbody + tbody { + border-color: #fbfcfc; +} + +.table-hover .table-light:hover { + background-color: #ececf6; +} + +.table-hover .table-light:hover > td, +.table-hover .table-light:hover > th { + background-color: #ececf6; +} + +.table-dark, +.table-dark > th, +.table-dark > td { + background-color: #c6c8ca; +} + +.table-dark th, +.table-dark td, +.table-dark thead th, +.table-dark tbody + tbody { + border-color: #95999c; +} + +.table-hover .table-dark:hover { + background-color: #b9bbbe; +} + +.table-hover .table-dark:hover > td, +.table-hover .table-dark:hover > th { + background-color: #b9bbbe; +} + +.table-active, +.table-active > th, +.table-active > td { + background-color: rgba(0, 0, 0, 0.075); +} + +.table-hover .table-active:hover { + background-color: rgba(0, 0, 0, 0.075); +} + +.table-hover .table-active:hover > td, +.table-hover .table-active:hover > th { + background-color: rgba(0, 0, 0, 0.075); +} + +.table .thead-dark th { + color: #fff; + background-color: #343a40; + border-color: #454d55; +} + +.table .thead-light th { + color: #495057; + background-color: #e9ecef; + border-color: #dee2e6; +} + +.table-dark { + color: #fff; + background-color: #343a40; +} + +.table-dark th, +.table-dark td, +.table-dark thead th { + border-color: #454d55; +} + +.table-dark.table-bordered { + border: 0; +} + +.table-dark.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(255, 255, 255, 0.05); +} + +.table-dark.table-hover tbody tr:hover { + color: #fff; + background-color: rgba(255, 255, 255, 0.075); +} + +@media (max-width: 575.98px) { + .table-responsive-sm { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-sm > .table-bordered { + border: 0; + } +} + +@media (max-width: 767.98px) { + .table-responsive-md { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-md > .table-bordered { + border: 0; + } +} + +@media (max-width: 991.98px) { + .table-responsive-lg { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-lg > .table-bordered { + border: 0; + } +} + +@media (max-width: 1199.98px) { + .table-responsive-xl { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-xl > .table-bordered { + border: 0; + } +} + +.table-responsive { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} + +.table-responsive > .table-bordered { + border: 0; +} + +.form-control { + display: block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da; + border-radius: 0.25rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} + +.form-control::-ms-expand { + background-color: transparent; + border: 0; +} + +.form-control:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #495057; +} + +.form-control:focus { + color: #495057; + background-color: #fff; + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.form-control::-webkit-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::-moz-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control:-ms-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::-ms-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control:disabled, .form-control[readonly] { + background-color: #e9ecef; + opacity: 1; +} + +select.form-control:focus::-ms-value { + color: #495057; + background-color: #fff; +} + +.form-control-file, +.form-control-range { + display: block; + width: 100%; +} + +.col-form-label { + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; +} + +.col-form-label-lg { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.25rem; + line-height: 1.5; +} + +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.875rem; + line-height: 1.5; +} + +.form-control-plaintext { + display: block; + width: 100%; + padding: 0.375rem 0; + margin-bottom: 0; + font-size: 1rem; + line-height: 1.5; + color: #212529; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; +} + +.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; +} + +.form-control-sm { + height: calc(1.5em + 0.5rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.form-control-lg { + height: calc(1.5em + 1rem + 2px); + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +select.form-control[size], select.form-control[multiple] { + height: auto; +} + +textarea.form-control { + height: auto; +} + +.form-group { + margin-bottom: 1rem; +} + +.form-text { + display: block; + margin-top: 0.25rem; +} + +.form-row { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -5px; + margin-left: -5px; +} + +.form-row > .col, +.form-row > [class*="col-"] { + padding-right: 5px; + padding-left: 5px; +} + +.form-check { + position: relative; + display: block; + padding-left: 1.25rem; +} + +.form-check-input { + position: absolute; + margin-top: 0.3rem; + margin-left: -1.25rem; +} + +.form-check-input[disabled] ~ .form-check-label, +.form-check-input:disabled ~ .form-check-label { + color: #6c757d; +} + +.form-check-label { + margin-bottom: 0; +} + +.form-check-inline { + display: -ms-inline-flexbox; + display: inline-flex; + -ms-flex-align: center; + align-items: center; + padding-left: 0; + margin-right: 0.75rem; +} + +.form-check-inline .form-check-input { + position: static; + margin-top: 0; + margin-right: 0.3125rem; + margin-left: 0; +} + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #28a745; +} + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(40, 167, 69, 0.9); + border-radius: 0.25rem; +} + +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip, +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-control:valid, .form-control.is-valid { + border-color: #28a745; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .custom-select:valid, .custom-select.is-valid { + border-color: #28a745; + padding-right: calc(0.75em + 2.3125rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: #28a745; +} + +.was-validated .form-check-input:valid ~ .valid-feedback, +.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, +.form-check-input.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label { + color: #28a745; +} + +.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before { + border-color: #28a745; +} + +.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before { + border-color: #34ce57; + background-color: #34ce57; +} + +.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #28a745; +} + +.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { + border-color: #28a745; +} + +.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #dc3545; +} + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(220, 53, 69, 0.9); + border-radius: 0.25rem; +} + +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip, +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-control:invalid, .form-control.is-invalid { + border-color: #dc3545; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .custom-select:invalid, .custom-select.is-invalid { + border-color: #dc3545; + padding-right: calc(0.75em + 2.3125rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: #dc3545; +} + +.was-validated .form-check-input:invalid ~ .invalid-feedback, +.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, +.form-check-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label { + color: #dc3545; +} + +.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before { + border-color: #dc3545; +} + +.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before { + border-color: #e4606d; + background-color: #e4606d; +} + +.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #dc3545; +} + +.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { + border-color: #dc3545; +} + +.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.form-inline { + display: -ms-flexbox; + display: flex; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + -ms-flex-align: center; + align-items: center; +} + +.form-inline .form-check { + width: 100%; +} + +@media (min-width: 576px) { + .form-inline label { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + margin-bottom: 0; + } + .form-inline .form-group { + display: -ms-flexbox; + display: flex; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + -ms-flex-align: center; + align-items: center; + margin-bottom: 0; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-plaintext { + display: inline-block; + } + .form-inline .input-group, + .form-inline .custom-select { + width: auto; + } + .form-inline .form-check { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + width: auto; + padding-left: 0; + } + .form-inline .form-check-input { + position: relative; + -ms-flex-negative: 0; + flex-shrink: 0; + margin-top: 0; + margin-right: 0.25rem; + margin-left: 0; + } + .form-inline .custom-control { + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + } + .form-inline .custom-control-label { + margin-bottom: 0; + } +} + +.btn { + display: inline-block; + font-weight: 400; + color: #212529; + text-align: center; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: transparent; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} + +.btn:hover { + color: #212529; + text-decoration: none; +} + +.btn:focus, .btn.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.btn.disabled, .btn:disabled { + opacity: 0.65; +} + +a.btn.disabled, +fieldset:disabled a.btn { + pointer-events: none; +} + +.btn-primary { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-primary:hover { + color: #fff; + background-color: #0069d9; + border-color: #0062cc; +} + +.btn-primary:focus, .btn-primary.focus { + color: #fff; + background-color: #0069d9; + border-color: #0062cc; + box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); +} + +.btn-primary.disabled, .btn-primary:disabled { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, +.show > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #0062cc; + border-color: #005cbf; +} + +.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); +} + +.btn-secondary { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-secondary:hover { + color: #fff; + background-color: #5a6268; + border-color: #545b62; +} + +.btn-secondary:focus, .btn-secondary.focus { + color: #fff; + background-color: #5a6268; + border-color: #545b62; + box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); +} + +.btn-secondary.disabled, .btn-secondary:disabled { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, +.show > .btn-secondary.dropdown-toggle { + color: #fff; + background-color: #545b62; + border-color: #4e555b; +} + +.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, +.show > .btn-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); +} + +.btn-success { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-success:hover { + color: #fff; + background-color: #218838; + border-color: #1e7e34; +} + +.btn-success:focus, .btn-success.focus { + color: #fff; + background-color: #218838; + border-color: #1e7e34; + box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); +} + +.btn-success.disabled, .btn-success:disabled { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, +.show > .btn-success.dropdown-toggle { + color: #fff; + background-color: #1e7e34; + border-color: #1c7430; +} + +.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, +.show > .btn-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); +} + +.btn-info { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-info:hover { + color: #fff; + background-color: #138496; + border-color: #117a8b; +} + +.btn-info:focus, .btn-info.focus { + color: #fff; + background-color: #138496; + border-color: #117a8b; + box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); +} + +.btn-info.disabled, .btn-info:disabled { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, +.show > .btn-info.dropdown-toggle { + color: #fff; + background-color: #117a8b; + border-color: #10707f; +} + +.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, +.show > .btn-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); +} + +.btn-warning { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-warning:hover { + color: #212529; + background-color: #e0a800; + border-color: #d39e00; +} + +.btn-warning:focus, .btn-warning.focus { + color: #212529; + background-color: #e0a800; + border-color: #d39e00; + box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); +} + +.btn-warning.disabled, .btn-warning:disabled { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, +.show > .btn-warning.dropdown-toggle { + color: #212529; + background-color: #d39e00; + border-color: #c69500; +} + +.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, +.show > .btn-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); +} + +.btn-danger { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-danger:hover { + color: #fff; + background-color: #c82333; + border-color: #bd2130; +} + +.btn-danger:focus, .btn-danger.focus { + color: #fff; + background-color: #c82333; + border-color: #bd2130; + box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); +} + +.btn-danger.disabled, .btn-danger:disabled { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, +.show > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #bd2130; + border-color: #b21f2d; +} + +.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, +.show > .btn-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); +} + +.btn-light { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-light:hover { + color: #212529; + background-color: #e2e6ea; + border-color: #dae0e5; +} + +.btn-light:focus, .btn-light.focus { + color: #212529; + background-color: #e2e6ea; + border-color: #dae0e5; + box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); +} + +.btn-light.disabled, .btn-light:disabled { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, +.show > .btn-light.dropdown-toggle { + color: #212529; + background-color: #dae0e5; + border-color: #d3d9df; +} + +.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, +.show > .btn-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); +} + +.btn-dark { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-dark:hover { + color: #fff; + background-color: #23272b; + border-color: #1d2124; +} + +.btn-dark:focus, .btn-dark.focus { + color: #fff; + background-color: #23272b; + border-color: #1d2124; + box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); +} + +.btn-dark.disabled, .btn-dark:disabled { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, +.show > .btn-dark.dropdown-toggle { + color: #fff; + background-color: #1d2124; + border-color: #171a1d; +} + +.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, +.show > .btn-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); +} + +.btn-outline-primary { + color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:hover { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:focus, .btn-outline-primary.focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-outline-primary.disabled, .btn-outline-primary:disabled { + color: #007bff; + background-color: transparent; +} + +.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, +.show > .btn-outline-primary.dropdown-toggle { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-outline-secondary { + color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:hover { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:focus, .btn-outline-secondary.focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.btn-outline-secondary.disabled, .btn-outline-secondary:disabled { + color: #6c757d; + background-color: transparent; +} + +.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, +.show > .btn-outline-secondary.dropdown-toggle { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.btn-outline-success { + color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:hover { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:focus, .btn-outline-success.focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-outline-success.disabled, .btn-outline-success:disabled { + color: #28a745; + background-color: transparent; +} + +.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, +.show > .btn-outline-success.dropdown-toggle { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-outline-info { + color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:hover { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:focus, .btn-outline-info.focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-outline-info.disabled, .btn-outline-info:disabled { + color: #17a2b8; + background-color: transparent; +} + +.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, +.show > .btn-outline-info.dropdown-toggle { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-outline-warning { + color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:hover { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:focus, .btn-outline-warning.focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-outline-warning.disabled, .btn-outline-warning:disabled { + color: #ffc107; + background-color: transparent; +} + +.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, +.show > .btn-outline-warning.dropdown-toggle { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-outline-danger { + color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:hover { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:focus, .btn-outline-danger.focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-outline-danger.disabled, .btn-outline-danger:disabled { + color: #dc3545; + background-color: transparent; +} + +.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, +.show > .btn-outline-danger.dropdown-toggle { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-outline-light { + color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:hover { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:focus, .btn-outline-light.focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-outline-light.disabled, .btn-outline-light:disabled { + color: #f8f9fa; + background-color: transparent; +} + +.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, +.show > .btn-outline-light.dropdown-toggle { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-outline-dark { + color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:hover { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:focus, .btn-outline-dark.focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-outline-dark.disabled, .btn-outline-dark:disabled { + color: #343a40; + background-color: transparent; +} + +.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, +.show > .btn-outline-dark.dropdown-toggle { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-link { + font-weight: 400; + color: #007bff; + text-decoration: none; +} + +.btn-link:hover { + color: #0056b3; + text-decoration: underline; +} + +.btn-link:focus, .btn-link.focus { + text-decoration: underline; + box-shadow: none; +} + +.btn-link:disabled, .btn-link.disabled { + color: #6c757d; + pointer-events: none; +} + +.btn-lg, .btn-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +.btn-sm, .btn-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.btn-block { + display: block; + width: 100%; +} + +.btn-block + .btn-block { + margin-top: 0.5rem; +} + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} + +.fade { + transition: opacity 0.15s linear; +} + +@media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} + +.fade:not(.show) { + opacity: 0; +} + +.collapse:not(.show) { + display: none; +} + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} + +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} + +.dropup, +.dropright, +.dropdown, +.dropleft { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; +} + +.dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} + +.dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0.125rem 0 0; + font-size: 1rem; + color: #212529; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; +} + +.dropdown-menu-left { + right: auto; + left: 0; +} + +.dropdown-menu-right { + right: 0; + left: auto; +} + +@media (min-width: 576px) { + .dropdown-menu-sm-left { + right: auto; + left: 0; + } + .dropdown-menu-sm-right { + right: 0; + left: auto; + } +} + +@media (min-width: 768px) { + .dropdown-menu-md-left { + right: auto; + left: 0; + } + .dropdown-menu-md-right { + right: 0; + left: auto; + } +} + +@media (min-width: 992px) { + .dropdown-menu-lg-left { + right: auto; + left: 0; + } + .dropdown-menu-lg-right { + right: 0; + left: auto; + } +} + +@media (min-width: 1200px) { + .dropdown-menu-xl-left { + right: auto; + left: 0; + } + .dropdown-menu-xl-right { + right: 0; + left: auto; + } +} + +.dropup .dropdown-menu { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: 0.125rem; +} + +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} + +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropright .dropdown-menu { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: 0.125rem; +} + +.dropright .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} + +.dropright .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropright .dropdown-toggle::after { + vertical-align: 0; +} + +.dropleft .dropdown-menu { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: 0.125rem; +} + +.dropleft .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; +} + +.dropleft .dropdown-toggle::after { + display: none; +} + +.dropleft .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} + +.dropleft .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropleft .dropdown-toggle::before { + vertical-align: 0; +} + +.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] { + right: auto; + bottom: auto; +} + +.dropdown-divider { + height: 0; + margin: 0.5rem 0; + overflow: hidden; + border-top: 1px solid #e9ecef; +} + +.dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1.5rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0; +} + +.dropdown-item:hover, .dropdown-item:focus { + color: #16181b; + text-decoration: none; + background-color: #f8f9fa; +} + +.dropdown-item.active, .dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: #007bff; +} + +.dropdown-item.disabled, .dropdown-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: 0.5rem 1.5rem; + margin-bottom: 0; + font-size: 0.875rem; + color: #6c757d; + white-space: nowrap; +} + +.dropdown-item-text { + display: block; + padding: 0.25rem 1.5rem; + color: #212529; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: -ms-inline-flexbox; + display: inline-flex; + vertical-align: middle; +} + +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + -ms-flex: 1 1 auto; + flex: 1 1 auto; +} + +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover { + z-index: 1; +} + +.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 1; +} + +.btn-toolbar { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-pack: start; + justify-content: flex-start; +} + +.btn-toolbar .input-group { + width: auto; +} + +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) { + margin-left: -1px; +} + +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} + +.dropdown-toggle-split::after, +.dropup .dropdown-toggle-split::after, +.dropright .dropdown-toggle-split::after { + margin-left: 0; +} + +.dropleft .dropdown-toggle-split::before { + margin-right: 0; +} + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} + +.btn-group-vertical { + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-align: start; + align-items: flex-start; + -ms-flex-pack: center; + justify-content: center; +} + +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} + +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) { + margin-top: -1px; +} + +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.btn-group-toggle > .btn, +.btn-group-toggle > .btn-group > .btn { + margin-bottom: 0; +} + +.btn-group-toggle > .btn input[type="radio"], +.btn-group-toggle > .btn input[type="checkbox"], +.btn-group-toggle > .btn-group > .btn input[type="radio"], +.btn-group-toggle > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} + +.input-group { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: stretch; + align-items: stretch; + width: 100%; +} + +.input-group > .form-control, +.input-group > .form-control-plaintext, +.input-group > .custom-select, +.input-group > .custom-file { + position: relative; + -ms-flex: 1 1 0%; + flex: 1 1 0%; + min-width: 0; + margin-bottom: 0; +} + +.input-group > .form-control + .form-control, +.input-group > .form-control + .custom-select, +.input-group > .form-control + .custom-file, +.input-group > .form-control-plaintext + .form-control, +.input-group > .form-control-plaintext + .custom-select, +.input-group > .form-control-plaintext + .custom-file, +.input-group > .custom-select + .form-control, +.input-group > .custom-select + .custom-select, +.input-group > .custom-select + .custom-file, +.input-group > .custom-file + .form-control, +.input-group > .custom-file + .custom-select, +.input-group > .custom-file + .custom-file { + margin-left: -1px; +} + +.input-group > .form-control:focus, +.input-group > .custom-select:focus, +.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label { + z-index: 3; +} + +.input-group > .custom-file .custom-file-input:focus { + z-index: 4; +} + +.input-group > .form-control:not(:last-child), +.input-group > .custom-select:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .form-control:not(:first-child), +.input-group > .custom-select:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group > .custom-file { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; +} + +.input-group > .custom-file:not(:last-child) .custom-file-label, +.input-group > .custom-file:not(:last-child) .custom-file-label::after { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .custom-file:not(:first-child) .custom-file-label { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group-prepend, +.input-group-append { + display: -ms-flexbox; + display: flex; +} + +.input-group-prepend .btn, +.input-group-append .btn { + position: relative; + z-index: 2; +} + +.input-group-prepend .btn:focus, +.input-group-append .btn:focus { + z-index: 3; +} + +.input-group-prepend .btn + .btn, +.input-group-prepend .btn + .input-group-text, +.input-group-prepend .input-group-text + .input-group-text, +.input-group-prepend .input-group-text + .btn, +.input-group-append .btn + .btn, +.input-group-append .btn + .input-group-text, +.input-group-append .input-group-text + .input-group-text, +.input-group-append .input-group-text + .btn { + margin-left: -1px; +} + +.input-group-prepend { + margin-right: -1px; +} + +.input-group-append { + margin-left: -1px; +} + +.input-group-text { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + padding: 0.375rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + text-align: center; + white-space: nowrap; + background-color: #e9ecef; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +.input-group-text input[type="radio"], +.input-group-text input[type="checkbox"] { + margin-top: 0; +} + +.input-group-lg > .form-control:not(textarea), +.input-group-lg > .custom-select { + height: calc(1.5em + 1rem + 2px); +} + +.input-group-lg > .form-control, +.input-group-lg > .custom-select, +.input-group-lg > .input-group-prepend > .input-group-text, +.input-group-lg > .input-group-append > .input-group-text, +.input-group-lg > .input-group-prepend > .btn, +.input-group-lg > .input-group-append > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +.input-group-sm > .form-control:not(textarea), +.input-group-sm > .custom-select { + height: calc(1.5em + 0.5rem + 2px); +} + +.input-group-sm > .form-control, +.input-group-sm > .custom-select, +.input-group-sm > .input-group-prepend > .input-group-text, +.input-group-sm > .input-group-append > .input-group-text, +.input-group-sm > .input-group-prepend > .btn, +.input-group-sm > .input-group-append > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.input-group-lg > .custom-select, +.input-group-sm > .custom-select { + padding-right: 1.75rem; +} + +.input-group > .input-group-prepend > .btn, +.input-group > .input-group-prepend > .input-group-text, +.input-group > .input-group-append:not(:last-child) > .btn, +.input-group > .input-group-append:not(:last-child) > .input-group-text, +.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .input-group-append > .btn, +.input-group > .input-group-append > .input-group-text, +.input-group > .input-group-prepend:not(:first-child) > .btn, +.input-group > .input-group-prepend:not(:first-child) > .input-group-text, +.input-group > .input-group-prepend:first-child > .btn:not(:first-child), +.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-control { + position: relative; + display: block; + min-height: 1.5rem; + padding-left: 1.5rem; +} + +.custom-control-inline { + display: -ms-inline-flexbox; + display: inline-flex; + margin-right: 1rem; +} + +.custom-control-input { + position: absolute; + left: 0; + z-index: -1; + width: 1rem; + height: 1.25rem; + opacity: 0; +} + +.custom-control-input:checked ~ .custom-control-label::before { + color: #fff; + border-color: #007bff; + background-color: #007bff; +} + +.custom-control-input:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-control-input:focus:not(:checked) ~ .custom-control-label::before { + border-color: #80bdff; +} + +.custom-control-input:not(:disabled):active ~ .custom-control-label::before { + color: #fff; + background-color: #b3d7ff; + border-color: #b3d7ff; +} + +.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label { + color: #6c757d; +} + +.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before { + background-color: #e9ecef; +} + +.custom-control-label { + position: relative; + margin-bottom: 0; + vertical-align: top; +} + +.custom-control-label::before { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + pointer-events: none; + content: ""; + background-color: #fff; + border: #adb5bd solid 1px; +} + +.custom-control-label::after { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + content: ""; + background: no-repeat 50% / 50% 50%; +} + +.custom-checkbox .custom-control-label::before { + border-radius: 0.25rem; +} + +.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e"); +} + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { + border-color: #007bff; + background-color: #007bff; +} + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); +} + +.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-radio .custom-control-label::before { + border-radius: 50%; +} + +.custom-radio .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); +} + +.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-switch { + padding-left: 2.25rem; +} + +.custom-switch .custom-control-label::before { + left: -2.25rem; + width: 1.75rem; + pointer-events: all; + border-radius: 0.5rem; +} + +.custom-switch .custom-control-label::after { + top: calc(0.25rem + 2px); + left: calc(-2.25rem + 2px); + width: calc(1rem - 4px); + height: calc(1rem - 4px); + background-color: #adb5bd; + border-radius: 0.5rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .custom-switch .custom-control-label::after { + transition: none; + } +} + +.custom-switch .custom-control-input:checked ~ .custom-control-label::after { + background-color: #fff; + -webkit-transform: translateX(0.75rem); + transform: translateX(0.75rem); +} + +.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-select { + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 1.75rem 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + vertical-align: middle; + background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px; + border: 1px solid #ced4da; + border-radius: 0.25rem; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.custom-select:focus { + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-select:focus::-ms-value { + color: #495057; + background-color: #fff; +} + +.custom-select[multiple], .custom-select[size]:not([size="1"]) { + height: auto; + padding-right: 0.75rem; + background-image: none; +} + +.custom-select:disabled { + color: #6c757d; + background-color: #e9ecef; +} + +.custom-select::-ms-expand { + display: none; +} + +.custom-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #495057; +} + +.custom-select-sm { + height: calc(1.5em + 0.5rem + 2px); + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.875rem; +} + +.custom-select-lg { + height: calc(1.5em + 1rem + 2px); + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.25rem; +} + +.custom-file { + position: relative; + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin-bottom: 0; +} + +.custom-file-input { + position: relative; + z-index: 2; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin: 0; + opacity: 0; +} + +.custom-file-input:focus ~ .custom-file-label { + border-color: #80bdff; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-file-input[disabled] ~ .custom-file-label, +.custom-file-input:disabled ~ .custom-file-label { + background-color: #e9ecef; +} + +.custom-file-input:lang(en) ~ .custom-file-label::after { + content: "Browse"; +} + +.custom-file-input ~ .custom-file-label[data-browse]::after { + content: attr(data-browse); +} + +.custom-file-label { + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 1; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +.custom-file-label::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + z-index: 3; + display: block; + height: calc(1.5em + 0.75rem); + padding: 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; + content: "Browse"; + background-color: #e9ecef; + border-left: inherit; + border-radius: 0 0.25rem 0.25rem 0; +} + +.custom-range { + width: 100%; + height: 1.4rem; + padding: 0; + background-color: transparent; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.custom-range:focus { + outline: none; +} + +.custom-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range:focus::-ms-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range::-moz-focus-outer { + border: 0; +} + +.custom-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-webkit-slider-thumb { + -webkit-transition: none; + transition: none; + } +} + +.custom-range::-webkit-slider-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} + +.custom-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -moz-appearance: none; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-moz-range-thumb { + -moz-transition: none; + transition: none; + } +} + +.custom-range::-moz-range-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} + +.custom-range::-ms-thumb { + width: 1rem; + height: 1rem; + margin-top: 0; + margin-right: 0.2rem; + margin-left: 0.2rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + -ms-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-ms-thumb { + -ms-transition: none; + transition: none; + } +} + +.custom-range::-ms-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-ms-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: transparent; + border-color: transparent; + border-width: 0.5rem; +} + +.custom-range::-ms-fill-lower { + background-color: #dee2e6; + border-radius: 1rem; +} + +.custom-range::-ms-fill-upper { + margin-right: 15px; + background-color: #dee2e6; + border-radius: 1rem; +} + +.custom-range:disabled::-webkit-slider-thumb { + background-color: #adb5bd; +} + +.custom-range:disabled::-webkit-slider-runnable-track { + cursor: default; +} + +.custom-range:disabled::-moz-range-thumb { + background-color: #adb5bd; +} + +.custom-range:disabled::-moz-range-track { + cursor: default; +} + +.custom-range:disabled::-ms-thumb { + background-color: #adb5bd; +} + +.custom-control-label::before, +.custom-file-label, +.custom-select { + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .custom-control-label::before, + .custom-file-label, + .custom-select { + transition: none; + } +} + +.nav { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: 0.5rem 1rem; +} + +.nav-link:hover, .nav-link:focus { + text-decoration: none; +} + +.nav-link.disabled { + color: #6c757d; + pointer-events: none; + cursor: default; +} + +.nav-tabs { + border-bottom: 1px solid #dee2e6; +} + +.nav-tabs .nav-item { + margin-bottom: -1px; +} + +.nav-tabs .nav-link { + border: 1px solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + border-color: #e9ecef #e9ecef #dee2e6; +} + +.nav-tabs .nav-link.disabled { + color: #6c757d; + background-color: transparent; + border-color: transparent; +} + +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: #495057; + background-color: #fff; + border-color: #dee2e6 #dee2e6 #fff; +} + +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav-pills .nav-link { + border-radius: 0.25rem; +} + +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #fff; + background-color: #007bff; +} + +.nav-fill .nav-item { + -ms-flex: 1 1 auto; + flex: 1 1 auto; + text-align: center; +} + +.nav-justified .nav-item { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + text-align: center; +} + +.tab-content > .tab-pane { + display: none; +} + +.tab-content > .active { + display: block; +} + +.navbar { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 0.5rem 1rem; +} + +.navbar .container, +.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.navbar-brand { + display: inline-block; + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + line-height: inherit; + white-space: nowrap; +} + +.navbar-brand:hover, .navbar-brand:focus { + text-decoration: none; +} + +.navbar-nav { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; +} + +.navbar-nav .dropdown-menu { + position: static; + float: none; +} + +.navbar-text { + display: inline-block; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.navbar-collapse { + -ms-flex-preferred-size: 100%; + flex-basis: 100%; + -ms-flex-positive: 1; + flex-grow: 1; + -ms-flex-align: center; + align-items: center; +} + +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.navbar-toggler:hover, .navbar-toggler:focus { + text-decoration: none; +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + content: ""; + background: no-repeat center center; + background-size: 100% 100%; +} + +@media (max-width: 575.98px) { + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 576px) { + .navbar-expand-sm { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-sm .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } +} + +@media (max-width: 767.98px) { + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 768px) { + .navbar-expand-md { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-md .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } +} + +@media (max-width: 991.98px) { + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 992px) { + .navbar-expand-lg { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-lg .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } +} + +@media (max-width: 1199.98px) { + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 1200px) { + .navbar-expand-xl { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-xl .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } +} + +.navbar-expand { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; +} + +.navbar-expand > .container, +.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl { + padding-right: 0; + padding-left: 0; +} + +.navbar-expand .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; +} + +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} + +.navbar-expand .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; +} + +.navbar-expand > .container, +.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; +} + +.navbar-expand .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; +} + +.navbar-expand .navbar-toggler { + display: none; +} + +.navbar-light .navbar-brand { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.5); +} + +.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { + color: rgba(0, 0, 0, 0.7); +} + +.navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); +} + +.navbar-light .navbar-nav .show > .nav-link, +.navbar-light .navbar-nav .active > .nav-link, +.navbar-light .navbar-nav .nav-link.show, +.navbar-light .navbar-nav .nav-link.active { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.5); + border-color: rgba(0, 0, 0, 0.1); +} + +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.navbar-light .navbar-text { + color: rgba(0, 0, 0, 0.5); +} + +.navbar-light .navbar-text a { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-dark .navbar-brand { + color: #fff; +} + +.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { + color: #fff; +} + +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { + color: rgba(255, 255, 255, 0.75); +} + +.navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); +} + +.navbar-dark .navbar-nav .show > .nav-link, +.navbar-dark .navbar-nav .active > .nav-link, +.navbar-dark .navbar-nav .nav-link.show, +.navbar-dark .navbar-nav .nav-link.active { + color: #fff; +} + +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.5); + border-color: rgba(255, 255, 255, 0.1); +} + +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.navbar-dark .navbar-text { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-text a { + color: #fff; +} + +.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { + color: #fff; +} + +.card { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0, 0, 0, 0.125); + border-radius: 0.25rem; +} + +.card > hr { + margin-right: 0; + margin-left: 0; +} + +.card > .list-group:first-child .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.card > .list-group:last-child .list-group-item:last-child { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.card-body { + -ms-flex: 1 1 auto; + flex: 1 1 auto; + min-height: 1px; + padding: 1.25rem; +} + +.card-title { + margin-bottom: 0.75rem; +} + +.card-subtitle { + margin-top: -0.375rem; + margin-bottom: 0; +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link:hover { + text-decoration: none; +} + +.card-link + .card-link { + margin-left: 1.25rem; +} + +.card-header { + padding: 0.75rem 1.25rem; + margin-bottom: 0; + background-color: rgba(0, 0, 0, 0.03); + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-header:first-child { + border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; +} + +.card-header + .list-group .list-group-item:first-child { + border-top: 0; +} + +.card-footer { + padding: 0.75rem 1.25rem; + background-color: rgba(0, 0, 0, 0.03); + border-top: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-footer:last-child { + border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); +} + +.card-header-tabs { + margin-right: -0.625rem; + margin-bottom: -0.75rem; + margin-left: -0.625rem; + border-bottom: 0; +} + +.card-header-pills { + margin-right: -0.625rem; + margin-left: -0.625rem; +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1.25rem; +} + +.card-img, +.card-img-top, +.card-img-bottom { + -ms-flex-negative: 0; + flex-shrink: 0; + width: 100%; +} + +.card-img, +.card-img-top { + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} + +.card-img, +.card-img-bottom { + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} + +.card-deck .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-deck { + display: -ms-flexbox; + display: flex; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + margin-right: -15px; + margin-left: -15px; + } + .card-deck .card { + -ms-flex: 1 0 0%; + flex: 1 0 0%; + margin-right: 15px; + margin-bottom: 0; + margin-left: 15px; + } +} + +.card-group > .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-group { + display: -ms-flexbox; + display: flex; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + } + .card-group > .card { + -ms-flex: 1 0 0%; + flex: 1 0 0%; + margin-bottom: 0; + } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-top, + .card-group > .card:not(:last-child) .card-header { + border-top-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-bottom, + .card-group > .card:not(:last-child) .card-footer { + border-bottom-right-radius: 0; + } + .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-top, + .card-group > .card:not(:first-child) .card-header { + border-top-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-bottom, + .card-group > .card:not(:first-child) .card-footer { + border-bottom-left-radius: 0; + } +} + +.card-columns .card { + margin-bottom: 0.75rem; +} + +@media (min-width: 576px) { + .card-columns { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + -webkit-column-gap: 1.25rem; + -moz-column-gap: 1.25rem; + column-gap: 1.25rem; + orphans: 1; + widows: 1; + } + .card-columns .card { + display: inline-block; + width: 100%; + } +} + +.accordion > .card { + overflow: hidden; +} + +.accordion > .card:not(:last-of-type) { + border-bottom: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.accordion > .card:not(:first-of-type) { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.accordion > .card > .card-header { + border-radius: 0; + margin-bottom: -1px; +} + +.breadcrumb { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding: 0.75rem 1rem; + margin-bottom: 1rem; + list-style: none; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +.breadcrumb-item + .breadcrumb-item { + padding-left: 0.5rem; +} + +.breadcrumb-item + .breadcrumb-item::before { + display: inline-block; + padding-right: 0.5rem; + color: #6c757d; + content: "/"; +} + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: underline; +} + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: none; +} + +.breadcrumb-item.active { + color: #6c757d; +} + +.pagination { + display: -ms-flexbox; + display: flex; + padding-left: 0; + list-style: none; + border-radius: 0.25rem; +} + +.page-link { + position: relative; + display: block; + padding: 0.5rem 0.75rem; + margin-left: -1px; + line-height: 1.25; + color: #007bff; + background-color: #fff; + border: 1px solid #dee2e6; +} + +.page-link:hover { + z-index: 2; + color: #0056b3; + text-decoration: none; + background-color: #e9ecef; + border-color: #dee2e6; +} + +.page-link:focus { + z-index: 3; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.page-item:first-child .page-link { + margin-left: 0; + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.page-item:last-child .page-link { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} + +.page-item.active .page-link { + z-index: 3; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.page-item.disabled .page-link { + color: #6c757d; + pointer-events: none; + cursor: auto; + background-color: #fff; + border-color: #dee2e6; +} + +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; + line-height: 1.5; +} + +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; +} + +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 0.3rem; + border-bottom-right-radius: 0.3rem; +} + +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; +} + +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; +} + +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; +} + +.badge { + display: inline-block; + padding: 0.25em 0.4em; + font-size: 75%; + font-weight: 700; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .badge { + transition: none; + } +} + +a.badge:hover, a.badge:focus { + text-decoration: none; +} + +.badge:empty { + display: none; +} + +.btn .badge { + position: relative; + top: -1px; +} + +.badge-pill { + padding-right: 0.6em; + padding-left: 0.6em; + border-radius: 10rem; +} + +.badge-primary { + color: #fff; + background-color: #007bff; +} + +a.badge-primary:hover, a.badge-primary:focus { + color: #fff; + background-color: #0062cc; +} + +a.badge-primary:focus, a.badge-primary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.badge-secondary { + color: #fff; + background-color: #6c757d; +} + +a.badge-secondary:hover, a.badge-secondary:focus { + color: #fff; + background-color: #545b62; +} + +a.badge-secondary:focus, a.badge-secondary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.badge-success { + color: #fff; + background-color: #28a745; +} + +a.badge-success:hover, a.badge-success:focus { + color: #fff; + background-color: #1e7e34; +} + +a.badge-success:focus, a.badge-success.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.badge-info { + color: #fff; + background-color: #17a2b8; +} + +a.badge-info:hover, a.badge-info:focus { + color: #fff; + background-color: #117a8b; +} + +a.badge-info:focus, a.badge-info.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.badge-warning { + color: #212529; + background-color: #ffc107; +} + +a.badge-warning:hover, a.badge-warning:focus { + color: #212529; + background-color: #d39e00; +} + +a.badge-warning:focus, a.badge-warning.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.badge-danger { + color: #fff; + background-color: #dc3545; +} + +a.badge-danger:hover, a.badge-danger:focus { + color: #fff; + background-color: #bd2130; +} + +a.badge-danger:focus, a.badge-danger.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.badge-light { + color: #212529; + background-color: #f8f9fa; +} + +a.badge-light:hover, a.badge-light:focus { + color: #212529; + background-color: #dae0e5; +} + +a.badge-light:focus, a.badge-light.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.badge-dark { + color: #fff; + background-color: #343a40; +} + +a.badge-dark:hover, a.badge-dark:focus { + color: #fff; + background-color: #1d2124; +} + +a.badge-dark:focus, a.badge-dark.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.jumbotron { + padding: 2rem 1rem; + margin-bottom: 2rem; + background-color: #e9ecef; + border-radius: 0.3rem; +} + +@media (min-width: 576px) { + .jumbotron { + padding: 4rem 2rem; + } +} + +.jumbotron-fluid { + padding-right: 0; + padding-left: 0; + border-radius: 0; +} + +.alert { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: 700; +} + +.alert-dismissible { + padding-right: 4rem; +} + +.alert-dismissible .close { + position: absolute; + top: 0; + right: 0; + padding: 0.75rem 1.25rem; + color: inherit; +} + +.alert-primary { + color: #004085; + background-color: #cce5ff; + border-color: #b8daff; +} + +.alert-primary hr { + border-top-color: #9fcdff; +} + +.alert-primary .alert-link { + color: #002752; +} + +.alert-secondary { + color: #383d41; + background-color: #e2e3e5; + border-color: #d6d8db; +} + +.alert-secondary hr { + border-top-color: #c8cbcf; +} + +.alert-secondary .alert-link { + color: #202326; +} + +.alert-success { + color: #155724; + background-color: #d4edda; + border-color: #c3e6cb; +} + +.alert-success hr { + border-top-color: #b1dfbb; +} + +.alert-success .alert-link { + color: #0b2e13; +} + +.alert-info { + color: #0c5460; + background-color: #d1ecf1; + border-color: #bee5eb; +} + +.alert-info hr { + border-top-color: #abdde5; +} + +.alert-info .alert-link { + color: #062c33; +} + +.alert-warning { + color: #856404; + background-color: #fff3cd; + border-color: #ffeeba; +} + +.alert-warning hr { + border-top-color: #ffe8a1; +} + +.alert-warning .alert-link { + color: #533f03; +} + +.alert-danger { + color: #721c24; + background-color: #f8d7da; + border-color: #f5c6cb; +} + +.alert-danger hr { + border-top-color: #f1b0b7; +} + +.alert-danger .alert-link { + color: #491217; +} + +.alert-light { + color: #818182; + background-color: #fefefe; + border-color: #fdfdfe; +} + +.alert-light hr { + border-top-color: #ececf6; +} + +.alert-light .alert-link { + color: #686868; +} + +.alert-dark { + color: #1b1e21; + background-color: #d6d8d9; + border-color: #c6c8ca; +} + +.alert-dark hr { + border-top-color: #b9bbbe; +} + +.alert-dark .alert-link { + color: #040505; +} + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +@keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +.progress { + display: -ms-flexbox; + display: flex; + height: 1rem; + overflow: hidden; + font-size: 0.75rem; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +.progress-bar { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-pack: center; + justify-content: center; + overflow: hidden; + color: #fff; + text-align: center; + white-space: nowrap; + background-color: #007bff; + transition: width 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 1rem 1rem; +} + +.progress-bar-animated { + -webkit-animation: progress-bar-stripes 1s linear infinite; + animation: progress-bar-stripes 1s linear infinite; +} + +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + -webkit-animation: none; + animation: none; + } +} + +.media { + display: -ms-flexbox; + display: flex; + -ms-flex-align: start; + align-items: flex-start; +} + +.media-body { + -ms-flex: 1; + flex: 1; +} + +.list-group { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; +} + +.list-group-item-action { + width: 100%; + color: #495057; + text-align: inherit; +} + +.list-group-item-action:hover, .list-group-item-action:focus { + z-index: 1; + color: #495057; + text-decoration: none; + background-color: #f8f9fa; +} + +.list-group-item-action:active { + color: #212529; + background-color: #e9ecef; +} + +.list-group-item { + position: relative; + display: block; + padding: 0.75rem 1.25rem; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} + +.list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.list-group-item:last-child { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.list-group-item.disabled, .list-group-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: #fff; +} + +.list-group-item.active { + z-index: 2; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.list-group-item + .list-group-item { + border-top-width: 0; +} + +.list-group-item + .list-group-item.active { + margin-top: -1px; + border-top-width: 1px; +} + +.list-group-horizontal { + -ms-flex-direction: row; + flex-direction: row; +} + +.list-group-horizontal .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; +} + +.list-group-horizontal .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; +} + +.list-group-horizontal .list-group-item.active { + margin-top: 0; +} + +.list-group-horizontal .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; +} + +.list-group-horizontal .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; +} + +@media (min-width: 576px) { + .list-group-horizontal-sm { + -ms-flex-direction: row; + flex-direction: row; + } + .list-group-horizontal-sm .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-sm .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-sm .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-sm .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-sm .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +@media (min-width: 768px) { + .list-group-horizontal-md { + -ms-flex-direction: row; + flex-direction: row; + } + .list-group-horizontal-md .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-md .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-md .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-md .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-md .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +@media (min-width: 992px) { + .list-group-horizontal-lg { + -ms-flex-direction: row; + flex-direction: row; + } + .list-group-horizontal-lg .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-lg .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-lg .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-lg .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-lg .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +@media (min-width: 1200px) { + .list-group-horizontal-xl { + -ms-flex-direction: row; + flex-direction: row; + } + .list-group-horizontal-xl .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-xl .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-xl .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xl .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-xl .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +.list-group-flush .list-group-item { + border-right-width: 0; + border-left-width: 0; + border-radius: 0; +} + +.list-group-flush .list-group-item:first-child { + border-top-width: 0; +} + +.list-group-flush:last-child .list-group-item:last-child { + border-bottom-width: 0; +} + +.list-group-item-primary { + color: #004085; + background-color: #b8daff; +} + +.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { + color: #004085; + background-color: #9fcdff; +} + +.list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #004085; + border-color: #004085; +} + +.list-group-item-secondary { + color: #383d41; + background-color: #d6d8db; +} + +.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { + color: #383d41; + background-color: #c8cbcf; +} + +.list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #383d41; + border-color: #383d41; +} + +.list-group-item-success { + color: #155724; + background-color: #c3e6cb; +} + +.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { + color: #155724; + background-color: #b1dfbb; +} + +.list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #155724; + border-color: #155724; +} + +.list-group-item-info { + color: #0c5460; + background-color: #bee5eb; +} + +.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { + color: #0c5460; + background-color: #abdde5; +} + +.list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #0c5460; + border-color: #0c5460; +} + +.list-group-item-warning { + color: #856404; + background-color: #ffeeba; +} + +.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { + color: #856404; + background-color: #ffe8a1; +} + +.list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #856404; + border-color: #856404; +} + +.list-group-item-danger { + color: #721c24; + background-color: #f5c6cb; +} + +.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { + color: #721c24; + background-color: #f1b0b7; +} + +.list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #721c24; + border-color: #721c24; +} + +.list-group-item-light { + color: #818182; + background-color: #fdfdfe; +} + +.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { + color: #818182; + background-color: #ececf6; +} + +.list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #818182; + border-color: #818182; +} + +.list-group-item-dark { + color: #1b1e21; + background-color: #c6c8ca; +} + +.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { + color: #1b1e21; + background-color: #b9bbbe; +} + +.list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #1b1e21; + border-color: #1b1e21; +} + +.close { + float: right; + font-size: 1.5rem; + font-weight: 700; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: .5; +} + +.close:hover { + color: #000; + text-decoration: none; +} + +.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { + opacity: .75; +} + +button.close { + padding: 0; + background-color: transparent; + border: 0; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +a.close.disabled { + pointer-events: none; +} + +.toast { + max-width: 350px; + overflow: hidden; + font-size: 0.875rem; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.1); + box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1); + -webkit-backdrop-filter: blur(10px); + backdrop-filter: blur(10px); + opacity: 0; + border-radius: 0.25rem; +} + +.toast:not(:last-child) { + margin-bottom: 0.75rem; +} + +.toast.showing { + opacity: 1; +} + +.toast.show { + display: block; + opacity: 1; +} + +.toast.hide { + display: none; +} + +.toast-header { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + padding: 0.25rem 0.75rem; + color: #6c757d; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border-bottom: 1px solid rgba(0, 0, 0, 0.05); +} + +.toast-body { + padding: 0.75rem; +} + +.modal-open { + overflow: hidden; +} + +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} + +.modal { + position: fixed; + top: 0; + left: 0; + z-index: 1050; + display: none; + width: 100%; + height: 100%; + overflow: hidden; + outline: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; +} + +.modal.fade .modal-dialog { + transition: -webkit-transform 0.3s ease-out; + transition: transform 0.3s ease-out; + transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out; + -webkit-transform: translate(0, -50px); + transform: translate(0, -50px); +} + +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} + +.modal.show .modal-dialog { + -webkit-transform: none; + transform: none; +} + +.modal.modal-static .modal-dialog { + -webkit-transform: scale(1.02); + transform: scale(1.02); +} + +.modal-dialog-scrollable { + display: -ms-flexbox; + display: flex; + max-height: calc(100% - 1rem); +} + +.modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 1rem); + overflow: hidden; +} + +.modal-dialog-scrollable .modal-header, +.modal-dialog-scrollable .modal-footer { + -ms-flex-negative: 0; + flex-shrink: 0; +} + +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} + +.modal-dialog-centered { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + min-height: calc(100% - 1rem); +} + +.modal-dialog-centered::before { + display: block; + height: calc(100vh - 1rem); + content: ""; +} + +.modal-dialog-centered.modal-dialog-scrollable { + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-pack: center; + justify-content: center; + height: 100%; +} + +.modal-dialog-centered.modal-dialog-scrollable .modal-content { + max-height: none; +} + +.modal-dialog-centered.modal-dialog-scrollable::before { + content: none; +} + +.modal-content { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + outline: 0; +} + +.modal-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; +} + +.modal-backdrop.fade { + opacity: 0; +} + +.modal-backdrop.show { + opacity: 0.5; +} + +.modal-header { + display: -ms-flexbox; + display: flex; + -ms-flex-align: start; + align-items: flex-start; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 1rem 1rem; + border-bottom: 1px solid #dee2e6; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} + +.modal-header .close { + padding: 1rem 1rem; + margin: -1rem -1rem -1rem auto; +} + +.modal-title { + margin-bottom: 0; + line-height: 1.5; +} + +.modal-body { + position: relative; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + padding: 1rem; +} + +.modal-footer { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: end; + justify-content: flex-end; + padding: 0.75rem; + border-top: 1px solid #dee2e6; + border-bottom-right-radius: calc(0.3rem - 1px); + border-bottom-left-radius: calc(0.3rem - 1px); +} + +.modal-footer > * { + margin: 0.25rem; +} + +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} + +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; + } + .modal-dialog-scrollable { + max-height: calc(100% - 3.5rem); + } + .modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 3.5rem); + } + .modal-dialog-centered { + min-height: calc(100% - 3.5rem); + } + .modal-dialog-centered::before { + height: calc(100vh - 3.5rem); + } + .modal-sm { + max-width: 300px; + } +} + +@media (min-width: 992px) { + .modal-lg, + .modal-xl { + max-width: 800px; + } +} + +@media (min-width: 1200px) { + .modal-xl { + max-width: 1140px; + } +} + +.tooltip { + position: absolute; + z-index: 1070; + display: block; + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + opacity: 0; +} + +.tooltip.show { + opacity: 0.9; +} + +.tooltip .arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; +} + +.tooltip .arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] { + padding: 0.4rem 0; +} + +.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow { + bottom: 0; +} + +.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before { + top: 0; + border-width: 0.4rem 0.4rem 0; + border-top-color: #000; +} + +.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] { + padding: 0 0.4rem; +} + +.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before { + right: 0; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: #000; +} + +.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] { + padding: 0.4rem 0; +} + +.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow { + top: 0; +} + +.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before { + bottom: 0; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: #000; +} + +.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] { + padding: 0 0.4rem; +} + +.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before { + left: 0; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: #000; +} + +.tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.25rem; +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: block; + max-width: 276px; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; +} + +.popover .arrow { + position: absolute; + display: block; + width: 1rem; + height: 0.5rem; + margin: 0 0.3rem; +} + +.popover .arrow::before, .popover .arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-popover-top, .bs-popover-auto[x-placement^="top"] { + margin-bottom: 0.5rem; +} + +.bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow { + bottom: calc(-0.5rem - 1px); +} + +.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before { + bottom: 0; + border-width: 0.5rem 0.5rem 0; + border-top-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after { + bottom: 1px; + border-width: 0.5rem 0.5rem 0; + border-top-color: #fff; +} + +.bs-popover-right, .bs-popover-auto[x-placement^="right"] { + margin-left: 0.5rem; +} + +.bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow { + left: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before { + left: 0; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after { + left: 1px; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: #fff; +} + +.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] { + margin-top: 0.5rem; +} + +.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow { + top: calc(-0.5rem - 1px); +} + +.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before { + top: 0; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after { + top: 1px; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: #fff; +} + +.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 1rem; + margin-left: -0.5rem; + content: ""; + border-bottom: 1px solid #f7f7f7; +} + +.bs-popover-left, .bs-popover-auto[x-placement^="left"] { + margin-right: 0.5rem; +} + +.bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow { + right: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before { + right: 0; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after { + right: 1px; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: #fff; +} + +.popover-header { + padding: 0.5rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} + +.popover-header:empty { + display: none; +} + +.popover-body { + padding: 0.5rem 0.75rem; + color: #212529; +} + +.carousel { + position: relative; +} + +.carousel.pointer-event { + -ms-touch-action: pan-y; + touch-action: pan-y; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} + +.carousel-inner::after { + display: block; + clear: both; + content: ""; +} + +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transition: -webkit-transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +.carousel-item-next:not(.carousel-item-left), +.active.carousel-item-right { + -webkit-transform: translateX(100%); + transform: translateX(100%); +} + +.carousel-item-prev:not(.carousel-item-right), +.active.carousel-item-left { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); +} + +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + -webkit-transform: none; + transform: none; +} + +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-left, +.carousel-fade .carousel-item-prev.carousel-item-right { + z-index: 1; + opacity: 1; +} + +.carousel-fade .active.carousel-item-left, +.carousel-fade .active.carousel-item-right { + z-index: 0; + opacity: 0; + transition: opacity 0s 0.6s; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-left, + .carousel-fade .active.carousel-item-right { + transition: none; + } +} + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + width: 15%; + color: #fff; + text-align: center; + opacity: 0.5; + transition: opacity 0.15s ease; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-control-prev, + .carousel-control-next { + transition: none; + } +} + +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} + +.carousel-control-prev { + left: 0; +} + +.carousel-control-next { + right: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 20px; + height: 20px; + background: no-repeat 50% / 100% 100%; +} + +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e"); +} + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e"); +} + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 15; + display: -ms-flexbox; + display: flex; + -ms-flex-pack: center; + justify-content: center; + padding-left: 0; + margin-right: 15%; + margin-left: 15%; + list-style: none; +} + +.carousel-indicators li { + box-sizing: content-box; + -ms-flex: 0 1 auto; + flex: 0 1 auto; + width: 30px; + height: 3px; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #fff; + background-clip: padding-box; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: .5; + transition: opacity 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-indicators li { + transition: none; + } +} + +.carousel-indicators .active { + opacity: 1; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; +} + +@-webkit-keyframes spinner-border { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes spinner-border { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +.spinner-border { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + border: 0.25em solid currentColor; + border-right-color: transparent; + border-radius: 50%; + -webkit-animation: spinner-border .75s linear infinite; + animation: spinner-border .75s linear infinite; +} + +.spinner-border-sm { + width: 1rem; + height: 1rem; + border-width: 0.2em; +} + +@-webkit-keyframes spinner-grow { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + } + 50% { + opacity: 1; + } +} + +@keyframes spinner-grow { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + } + 50% { + opacity: 1; + } +} + +.spinner-grow { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + background-color: currentColor; + border-radius: 50%; + opacity: 0; + -webkit-animation: spinner-grow .75s linear infinite; + animation: spinner-grow .75s linear infinite; +} + +.spinner-grow-sm { + width: 1rem; + height: 1rem; +} + +.align-baseline { + vertical-align: baseline !important; +} + +.align-top { + vertical-align: top !important; +} + +.align-middle { + vertical-align: middle !important; +} + +.align-bottom { + vertical-align: bottom !important; +} + +.align-text-bottom { + vertical-align: text-bottom !important; +} + +.align-text-top { + vertical-align: text-top !important; +} + +.bg-primary { + background-color: #007bff !important; +} + +a.bg-primary:hover, a.bg-primary:focus, +button.bg-primary:hover, +button.bg-primary:focus { + background-color: #0062cc !important; +} + +.bg-secondary { + background-color: #6c757d !important; +} + +a.bg-secondary:hover, a.bg-secondary:focus, +button.bg-secondary:hover, +button.bg-secondary:focus { + background-color: #545b62 !important; +} + +.bg-success { + background-color: #28a745 !important; +} + +a.bg-success:hover, a.bg-success:focus, +button.bg-success:hover, +button.bg-success:focus { + background-color: #1e7e34 !important; +} + +.bg-info { + background-color: #17a2b8 !important; +} + +a.bg-info:hover, a.bg-info:focus, +button.bg-info:hover, +button.bg-info:focus { + background-color: #117a8b !important; +} + +.bg-warning { + background-color: #ffc107 !important; +} + +a.bg-warning:hover, a.bg-warning:focus, +button.bg-warning:hover, +button.bg-warning:focus { + background-color: #d39e00 !important; +} + +.bg-danger { + background-color: #dc3545 !important; +} + +a.bg-danger:hover, a.bg-danger:focus, +button.bg-danger:hover, +button.bg-danger:focus { + background-color: #bd2130 !important; +} + +.bg-light { + background-color: #f8f9fa !important; +} + +a.bg-light:hover, a.bg-light:focus, +button.bg-light:hover, +button.bg-light:focus { + background-color: #dae0e5 !important; +} + +.bg-dark { + background-color: #343a40 !important; +} + +a.bg-dark:hover, a.bg-dark:focus, +button.bg-dark:hover, +button.bg-dark:focus { + background-color: #1d2124 !important; +} + +.bg-white { + background-color: #fff !important; +} + +.bg-transparent { + background-color: transparent !important; +} + +.border { + border: 1px solid #dee2e6 !important; +} + +.border-top { + border-top: 1px solid #dee2e6 !important; +} + +.border-right { + border-right: 1px solid #dee2e6 !important; +} + +.border-bottom { + border-bottom: 1px solid #dee2e6 !important; +} + +.border-left { + border-left: 1px solid #dee2e6 !important; +} + +.border-0 { + border: 0 !important; +} + +.border-top-0 { + border-top: 0 !important; +} + +.border-right-0 { + border-right: 0 !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border-left-0 { + border-left: 0 !important; +} + +.border-primary { + border-color: #007bff !important; +} + +.border-secondary { + border-color: #6c757d !important; +} + +.border-success { + border-color: #28a745 !important; +} + +.border-info { + border-color: #17a2b8 !important; +} + +.border-warning { + border-color: #ffc107 !important; +} + +.border-danger { + border-color: #dc3545 !important; +} + +.border-light { + border-color: #f8f9fa !important; +} + +.border-dark { + border-color: #343a40 !important; +} + +.border-white { + border-color: #fff !important; +} + +.rounded-sm { + border-radius: 0.2rem !important; +} + +.rounded { + border-radius: 0.25rem !important; +} + +.rounded-top { + border-top-left-radius: 0.25rem !important; + border-top-right-radius: 0.25rem !important; +} + +.rounded-right { + border-top-right-radius: 0.25rem !important; + border-bottom-right-radius: 0.25rem !important; +} + +.rounded-bottom { + border-bottom-right-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-left { + border-top-left-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-lg { + border-radius: 0.3rem !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: 50rem !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.d-none { + display: none !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: -ms-flexbox !important; + display: flex !important; +} + +.d-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; +} + +@media (min-width: 576px) { + .d-sm-none { + display: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-sm-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 768px) { + .d-md-none { + display: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-md-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 992px) { + .d-lg-none { + display: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-lg-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 1200px) { + .d-xl-none { + display: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-xl-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media print { + .d-print-none { + display: none !important; + } + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-print-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +.embed-responsive { + position: relative; + display: block; + width: 100%; + padding: 0; + overflow: hidden; +} + +.embed-responsive::before { + display: block; + content: ""; +} + +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} + +.embed-responsive-21by9::before { + padding-top: 42.857143%; +} + +.embed-responsive-16by9::before { + padding-top: 56.25%; +} + +.embed-responsive-4by3::before { + padding-top: 75%; +} + +.embed-responsive-1by1::before { + padding-top: 100%; +} + +.flex-row { + -ms-flex-direction: row !important; + flex-direction: row !important; +} + +.flex-column { + -ms-flex-direction: column !important; + flex-direction: column !important; +} + +.flex-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; +} + +.flex-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; +} + +.flex-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; +} + +.flex-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; +} + +.flex-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; +} + +.flex-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; +} + +.flex-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; +} + +.justify-content-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; +} + +.justify-content-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; +} + +.justify-content-center { + -ms-flex-pack: center !important; + justify-content: center !important; +} + +.justify-content-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; +} + +.justify-content-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; +} + +.align-items-start { + -ms-flex-align: start !important; + align-items: flex-start !important; +} + +.align-items-end { + -ms-flex-align: end !important; + align-items: flex-end !important; +} + +.align-items-center { + -ms-flex-align: center !important; + align-items: center !important; +} + +.align-items-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; +} + +.align-items-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; +} + +.align-content-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; +} + +.align-content-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; +} + +.align-content-center { + -ms-flex-line-pack: center !important; + align-content: center !important; +} + +.align-content-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; +} + +.align-content-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; +} + +.align-content-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; +} + +.align-self-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; +} + +.align-self-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; +} + +.align-self-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; +} + +.align-self-center { + -ms-flex-item-align: center !important; + align-self: center !important; +} + +.align-self-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; +} + +.align-self-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; +} + +@media (min-width: 576px) { + .flex-sm-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-sm-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-sm-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-sm-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-sm-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-sm-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-sm-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-sm-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-sm-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-sm-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-sm-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-sm-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-sm-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-sm-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-sm-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-sm-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-sm-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-sm-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-sm-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-sm-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-sm-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-sm-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-sm-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-sm-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-sm-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-sm-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-sm-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-sm-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 768px) { + .flex-md-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-md-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-md-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-md-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-md-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-md-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-md-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-md-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-md-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-md-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-md-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-md-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-md-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-md-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-md-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-md-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-md-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-md-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-md-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-md-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-md-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-md-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-md-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-md-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-md-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-md-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-md-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-md-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-md-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-md-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 992px) { + .flex-lg-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-lg-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-lg-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-lg-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-lg-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-lg-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-lg-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-lg-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-lg-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-lg-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-lg-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-lg-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-lg-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-lg-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-lg-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-lg-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-lg-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-lg-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-lg-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-lg-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-lg-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-lg-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-lg-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-lg-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-lg-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-lg-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-lg-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-lg-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 1200px) { + .flex-xl-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-xl-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-xl-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-xl-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-xl-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-xl-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-xl-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-xl-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-xl-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-xl-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-xl-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-xl-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-xl-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-xl-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-xl-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-xl-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-xl-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-xl-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-xl-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-xl-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-xl-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-xl-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-xl-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-xl-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-xl-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-xl-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-xl-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-xl-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +.float-left { + float: left !important; +} + +.float-right { + float: right !important; +} + +.float-none { + float: none !important; +} + +@media (min-width: 576px) { + .float-sm-left { + float: left !important; + } + .float-sm-right { + float: right !important; + } + .float-sm-none { + float: none !important; + } +} + +@media (min-width: 768px) { + .float-md-left { + float: left !important; + } + .float-md-right { + float: right !important; + } + .float-md-none { + float: none !important; + } +} + +@media (min-width: 992px) { + .float-lg-left { + float: left !important; + } + .float-lg-right { + float: right !important; + } + .float-lg-none { + float: none !important; + } +} + +@media (min-width: 1200px) { + .float-xl-left { + float: left !important; + } + .float-xl-right { + float: right !important; + } + .float-xl-none { + float: none !important; + } +} + +.overflow-auto { + overflow: auto !important; +} + +.overflow-hidden { + overflow: hidden !important; +} + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; +} + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +@supports ((position: -webkit-sticky) or (position: sticky)) { + .sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +.sr-only-focusable:active, .sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + overflow: visible; + clip: auto; + white-space: normal; +} + +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; +} + +.shadow { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; +} + +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; +} + +.shadow-none { + box-shadow: none !important; +} + +.w-25 { + width: 25% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.w-auto { + width: auto !important; +} + +.h-25 { + height: 25% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.h-auto { + height: auto !important; +} + +.mw-100 { + max-width: 100% !important; +} + +.mh-100 { + max-height: 100% !important; +} + +.min-vw-100 { + min-width: 100vw !important; +} + +.min-vh-100 { + min-height: 100vh !important; +} + +.vw-100 { + width: 100vw !important; +} + +.vh-100 { + height: 100vh !important; +} + +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + pointer-events: auto; + content: ""; + background-color: rgba(0, 0, 0, 0); +} + +.m-0 { + margin: 0 !important; +} + +.mt-0, +.my-0 { + margin-top: 0 !important; +} + +.mr-0, +.mx-0 { + margin-right: 0 !important; +} + +.mb-0, +.my-0 { + margin-bottom: 0 !important; +} + +.ml-0, +.mx-0 { + margin-left: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.mt-1, +.my-1 { + margin-top: 0.25rem !important; +} + +.mr-1, +.mx-1 { + margin-right: 0.25rem !important; +} + +.mb-1, +.my-1 { + margin-bottom: 0.25rem !important; +} + +.ml-1, +.mx-1 { + margin-left: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.mt-2, +.my-2 { + margin-top: 0.5rem !important; +} + +.mr-2, +.mx-2 { + margin-right: 0.5rem !important; +} + +.mb-2, +.my-2 { + margin-bottom: 0.5rem !important; +} + +.ml-2, +.mx-2 { + margin-left: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.mt-3, +.my-3 { + margin-top: 1rem !important; +} + +.mr-3, +.mx-3 { + margin-right: 1rem !important; +} + +.mb-3, +.my-3 { + margin-bottom: 1rem !important; +} + +.ml-3, +.mx-3 { + margin-left: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.mt-4, +.my-4 { + margin-top: 1.5rem !important; +} + +.mr-4, +.mx-4 { + margin-right: 1.5rem !important; +} + +.mb-4, +.my-4 { + margin-bottom: 1.5rem !important; +} + +.ml-4, +.mx-4 { + margin-left: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.mt-5, +.my-5 { + margin-top: 3rem !important; +} + +.mr-5, +.mx-5 { + margin-right: 3rem !important; +} + +.mb-5, +.my-5 { + margin-bottom: 3rem !important; +} + +.ml-5, +.mx-5 { + margin-left: 3rem !important; +} + +.p-0 { + padding: 0 !important; +} + +.pt-0, +.py-0 { + padding-top: 0 !important; +} + +.pr-0, +.px-0 { + padding-right: 0 !important; +} + +.pb-0, +.py-0 { + padding-bottom: 0 !important; +} + +.pl-0, +.px-0 { + padding-left: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.pt-1, +.py-1 { + padding-top: 0.25rem !important; +} + +.pr-1, +.px-1 { + padding-right: 0.25rem !important; +} + +.pb-1, +.py-1 { + padding-bottom: 0.25rem !important; +} + +.pl-1, +.px-1 { + padding-left: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.pt-2, +.py-2 { + padding-top: 0.5rem !important; +} + +.pr-2, +.px-2 { + padding-right: 0.5rem !important; +} + +.pb-2, +.py-2 { + padding-bottom: 0.5rem !important; +} + +.pl-2, +.px-2 { + padding-left: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.pt-3, +.py-3 { + padding-top: 1rem !important; +} + +.pr-3, +.px-3 { + padding-right: 1rem !important; +} + +.pb-3, +.py-3 { + padding-bottom: 1rem !important; +} + +.pl-3, +.px-3 { + padding-left: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.pt-4, +.py-4 { + padding-top: 1.5rem !important; +} + +.pr-4, +.px-4 { + padding-right: 1.5rem !important; +} + +.pb-4, +.py-4 { + padding-bottom: 1.5rem !important; +} + +.pl-4, +.px-4 { + padding-left: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.pt-5, +.py-5 { + padding-top: 3rem !important; +} + +.pr-5, +.px-5 { + padding-right: 3rem !important; +} + +.pb-5, +.py-5 { + padding-bottom: 3rem !important; +} + +.pl-5, +.px-5 { + padding-left: 3rem !important; +} + +.m-n1 { + margin: -0.25rem !important; +} + +.mt-n1, +.my-n1 { + margin-top: -0.25rem !important; +} + +.mr-n1, +.mx-n1 { + margin-right: -0.25rem !important; +} + +.mb-n1, +.my-n1 { + margin-bottom: -0.25rem !important; +} + +.ml-n1, +.mx-n1 { + margin-left: -0.25rem !important; +} + +.m-n2 { + margin: -0.5rem !important; +} + +.mt-n2, +.my-n2 { + margin-top: -0.5rem !important; +} + +.mr-n2, +.mx-n2 { + margin-right: -0.5rem !important; +} + +.mb-n2, +.my-n2 { + margin-bottom: -0.5rem !important; +} + +.ml-n2, +.mx-n2 { + margin-left: -0.5rem !important; +} + +.m-n3 { + margin: -1rem !important; +} + +.mt-n3, +.my-n3 { + margin-top: -1rem !important; +} + +.mr-n3, +.mx-n3 { + margin-right: -1rem !important; +} + +.mb-n3, +.my-n3 { + margin-bottom: -1rem !important; +} + +.ml-n3, +.mx-n3 { + margin-left: -1rem !important; +} + +.m-n4 { + margin: -1.5rem !important; +} + +.mt-n4, +.my-n4 { + margin-top: -1.5rem !important; +} + +.mr-n4, +.mx-n4 { + margin-right: -1.5rem !important; +} + +.mb-n4, +.my-n4 { + margin-bottom: -1.5rem !important; +} + +.ml-n4, +.mx-n4 { + margin-left: -1.5rem !important; +} + +.m-n5 { + margin: -3rem !important; +} + +.mt-n5, +.my-n5 { + margin-top: -3rem !important; +} + +.mr-n5, +.mx-n5 { + margin-right: -3rem !important; +} + +.mb-n5, +.my-n5 { + margin-bottom: -3rem !important; +} + +.ml-n5, +.mx-n5 { + margin-left: -3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mt-auto, +.my-auto { + margin-top: auto !important; +} + +.mr-auto, +.mx-auto { + margin-right: auto !important; +} + +.mb-auto, +.my-auto { + margin-bottom: auto !important; +} + +.ml-auto, +.mx-auto { + margin-left: auto !important; +} + +@media (min-width: 576px) { + .m-sm-0 { + margin: 0 !important; + } + .mt-sm-0, + .my-sm-0 { + margin-top: 0 !important; + } + .mr-sm-0, + .mx-sm-0 { + margin-right: 0 !important; + } + .mb-sm-0, + .my-sm-0 { + margin-bottom: 0 !important; + } + .ml-sm-0, + .mx-sm-0 { + margin-left: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .mt-sm-1, + .my-sm-1 { + margin-top: 0.25rem !important; + } + .mr-sm-1, + .mx-sm-1 { + margin-right: 0.25rem !important; + } + .mb-sm-1, + .my-sm-1 { + margin-bottom: 0.25rem !important; + } + .ml-sm-1, + .mx-sm-1 { + margin-left: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .mt-sm-2, + .my-sm-2 { + margin-top: 0.5rem !important; + } + .mr-sm-2, + .mx-sm-2 { + margin-right: 0.5rem !important; + } + .mb-sm-2, + .my-sm-2 { + margin-bottom: 0.5rem !important; + } + .ml-sm-2, + .mx-sm-2 { + margin-left: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .mt-sm-3, + .my-sm-3 { + margin-top: 1rem !important; + } + .mr-sm-3, + .mx-sm-3 { + margin-right: 1rem !important; + } + .mb-sm-3, + .my-sm-3 { + margin-bottom: 1rem !important; + } + .ml-sm-3, + .mx-sm-3 { + margin-left: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .mt-sm-4, + .my-sm-4 { + margin-top: 1.5rem !important; + } + .mr-sm-4, + .mx-sm-4 { + margin-right: 1.5rem !important; + } + .mb-sm-4, + .my-sm-4 { + margin-bottom: 1.5rem !important; + } + .ml-sm-4, + .mx-sm-4 { + margin-left: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .mt-sm-5, + .my-sm-5 { + margin-top: 3rem !important; + } + .mr-sm-5, + .mx-sm-5 { + margin-right: 3rem !important; + } + .mb-sm-5, + .my-sm-5 { + margin-bottom: 3rem !important; + } + .ml-sm-5, + .mx-sm-5 { + margin-left: 3rem !important; + } + .p-sm-0 { + padding: 0 !important; + } + .pt-sm-0, + .py-sm-0 { + padding-top: 0 !important; + } + .pr-sm-0, + .px-sm-0 { + padding-right: 0 !important; + } + .pb-sm-0, + .py-sm-0 { + padding-bottom: 0 !important; + } + .pl-sm-0, + .px-sm-0 { + padding-left: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .pt-sm-1, + .py-sm-1 { + padding-top: 0.25rem !important; + } + .pr-sm-1, + .px-sm-1 { + padding-right: 0.25rem !important; + } + .pb-sm-1, + .py-sm-1 { + padding-bottom: 0.25rem !important; + } + .pl-sm-1, + .px-sm-1 { + padding-left: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .pt-sm-2, + .py-sm-2 { + padding-top: 0.5rem !important; + } + .pr-sm-2, + .px-sm-2 { + padding-right: 0.5rem !important; + } + .pb-sm-2, + .py-sm-2 { + padding-bottom: 0.5rem !important; + } + .pl-sm-2, + .px-sm-2 { + padding-left: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .pt-sm-3, + .py-sm-3 { + padding-top: 1rem !important; + } + .pr-sm-3, + .px-sm-3 { + padding-right: 1rem !important; + } + .pb-sm-3, + .py-sm-3 { + padding-bottom: 1rem !important; + } + .pl-sm-3, + .px-sm-3 { + padding-left: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .pt-sm-4, + .py-sm-4 { + padding-top: 1.5rem !important; + } + .pr-sm-4, + .px-sm-4 { + padding-right: 1.5rem !important; + } + .pb-sm-4, + .py-sm-4 { + padding-bottom: 1.5rem !important; + } + .pl-sm-4, + .px-sm-4 { + padding-left: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .pt-sm-5, + .py-sm-5 { + padding-top: 3rem !important; + } + .pr-sm-5, + .px-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-5, + .py-sm-5 { + padding-bottom: 3rem !important; + } + .pl-sm-5, + .px-sm-5 { + padding-left: 3rem !important; + } + .m-sm-n1 { + margin: -0.25rem !important; + } + .mt-sm-n1, + .my-sm-n1 { + margin-top: -0.25rem !important; + } + .mr-sm-n1, + .mx-sm-n1 { + margin-right: -0.25rem !important; + } + .mb-sm-n1, + .my-sm-n1 { + margin-bottom: -0.25rem !important; + } + .ml-sm-n1, + .mx-sm-n1 { + margin-left: -0.25rem !important; + } + .m-sm-n2 { + margin: -0.5rem !important; + } + .mt-sm-n2, + .my-sm-n2 { + margin-top: -0.5rem !important; + } + .mr-sm-n2, + .mx-sm-n2 { + margin-right: -0.5rem !important; + } + .mb-sm-n2, + .my-sm-n2 { + margin-bottom: -0.5rem !important; + } + .ml-sm-n2, + .mx-sm-n2 { + margin-left: -0.5rem !important; + } + .m-sm-n3 { + margin: -1rem !important; + } + .mt-sm-n3, + .my-sm-n3 { + margin-top: -1rem !important; + } + .mr-sm-n3, + .mx-sm-n3 { + margin-right: -1rem !important; + } + .mb-sm-n3, + .my-sm-n3 { + margin-bottom: -1rem !important; + } + .ml-sm-n3, + .mx-sm-n3 { + margin-left: -1rem !important; + } + .m-sm-n4 { + margin: -1.5rem !important; + } + .mt-sm-n4, + .my-sm-n4 { + margin-top: -1.5rem !important; + } + .mr-sm-n4, + .mx-sm-n4 { + margin-right: -1.5rem !important; + } + .mb-sm-n4, + .my-sm-n4 { + margin-bottom: -1.5rem !important; + } + .ml-sm-n4, + .mx-sm-n4 { + margin-left: -1.5rem !important; + } + .m-sm-n5 { + margin: -3rem !important; + } + .mt-sm-n5, + .my-sm-n5 { + margin-top: -3rem !important; + } + .mr-sm-n5, + .mx-sm-n5 { + margin-right: -3rem !important; + } + .mb-sm-n5, + .my-sm-n5 { + margin-bottom: -3rem !important; + } + .ml-sm-n5, + .mx-sm-n5 { + margin-left: -3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mt-sm-auto, + .my-sm-auto { + margin-top: auto !important; + } + .mr-sm-auto, + .mx-sm-auto { + margin-right: auto !important; + } + .mb-sm-auto, + .my-sm-auto { + margin-bottom: auto !important; + } + .ml-sm-auto, + .mx-sm-auto { + margin-left: auto !important; + } +} + +@media (min-width: 768px) { + .m-md-0 { + margin: 0 !important; + } + .mt-md-0, + .my-md-0 { + margin-top: 0 !important; + } + .mr-md-0, + .mx-md-0 { + margin-right: 0 !important; + } + .mb-md-0, + .my-md-0 { + margin-bottom: 0 !important; + } + .ml-md-0, + .mx-md-0 { + margin-left: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .mt-md-1, + .my-md-1 { + margin-top: 0.25rem !important; + } + .mr-md-1, + .mx-md-1 { + margin-right: 0.25rem !important; + } + .mb-md-1, + .my-md-1 { + margin-bottom: 0.25rem !important; + } + .ml-md-1, + .mx-md-1 { + margin-left: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .mt-md-2, + .my-md-2 { + margin-top: 0.5rem !important; + } + .mr-md-2, + .mx-md-2 { + margin-right: 0.5rem !important; + } + .mb-md-2, + .my-md-2 { + margin-bottom: 0.5rem !important; + } + .ml-md-2, + .mx-md-2 { + margin-left: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .mt-md-3, + .my-md-3 { + margin-top: 1rem !important; + } + .mr-md-3, + .mx-md-3 { + margin-right: 1rem !important; + } + .mb-md-3, + .my-md-3 { + margin-bottom: 1rem !important; + } + .ml-md-3, + .mx-md-3 { + margin-left: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .mt-md-4, + .my-md-4 { + margin-top: 1.5rem !important; + } + .mr-md-4, + .mx-md-4 { + margin-right: 1.5rem !important; + } + .mb-md-4, + .my-md-4 { + margin-bottom: 1.5rem !important; + } + .ml-md-4, + .mx-md-4 { + margin-left: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .mt-md-5, + .my-md-5 { + margin-top: 3rem !important; + } + .mr-md-5, + .mx-md-5 { + margin-right: 3rem !important; + } + .mb-md-5, + .my-md-5 { + margin-bottom: 3rem !important; + } + .ml-md-5, + .mx-md-5 { + margin-left: 3rem !important; + } + .p-md-0 { + padding: 0 !important; + } + .pt-md-0, + .py-md-0 { + padding-top: 0 !important; + } + .pr-md-0, + .px-md-0 { + padding-right: 0 !important; + } + .pb-md-0, + .py-md-0 { + padding-bottom: 0 !important; + } + .pl-md-0, + .px-md-0 { + padding-left: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .pt-md-1, + .py-md-1 { + padding-top: 0.25rem !important; + } + .pr-md-1, + .px-md-1 { + padding-right: 0.25rem !important; + } + .pb-md-1, + .py-md-1 { + padding-bottom: 0.25rem !important; + } + .pl-md-1, + .px-md-1 { + padding-left: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .pt-md-2, + .py-md-2 { + padding-top: 0.5rem !important; + } + .pr-md-2, + .px-md-2 { + padding-right: 0.5rem !important; + } + .pb-md-2, + .py-md-2 { + padding-bottom: 0.5rem !important; + } + .pl-md-2, + .px-md-2 { + padding-left: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .pt-md-3, + .py-md-3 { + padding-top: 1rem !important; + } + .pr-md-3, + .px-md-3 { + padding-right: 1rem !important; + } + .pb-md-3, + .py-md-3 { + padding-bottom: 1rem !important; + } + .pl-md-3, + .px-md-3 { + padding-left: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .pt-md-4, + .py-md-4 { + padding-top: 1.5rem !important; + } + .pr-md-4, + .px-md-4 { + padding-right: 1.5rem !important; + } + .pb-md-4, + .py-md-4 { + padding-bottom: 1.5rem !important; + } + .pl-md-4, + .px-md-4 { + padding-left: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .pt-md-5, + .py-md-5 { + padding-top: 3rem !important; + } + .pr-md-5, + .px-md-5 { + padding-right: 3rem !important; + } + .pb-md-5, + .py-md-5 { + padding-bottom: 3rem !important; + } + .pl-md-5, + .px-md-5 { + padding-left: 3rem !important; + } + .m-md-n1 { + margin: -0.25rem !important; + } + .mt-md-n1, + .my-md-n1 { + margin-top: -0.25rem !important; + } + .mr-md-n1, + .mx-md-n1 { + margin-right: -0.25rem !important; + } + .mb-md-n1, + .my-md-n1 { + margin-bottom: -0.25rem !important; + } + .ml-md-n1, + .mx-md-n1 { + margin-left: -0.25rem !important; + } + .m-md-n2 { + margin: -0.5rem !important; + } + .mt-md-n2, + .my-md-n2 { + margin-top: -0.5rem !important; + } + .mr-md-n2, + .mx-md-n2 { + margin-right: -0.5rem !important; + } + .mb-md-n2, + .my-md-n2 { + margin-bottom: -0.5rem !important; + } + .ml-md-n2, + .mx-md-n2 { + margin-left: -0.5rem !important; + } + .m-md-n3 { + margin: -1rem !important; + } + .mt-md-n3, + .my-md-n3 { + margin-top: -1rem !important; + } + .mr-md-n3, + .mx-md-n3 { + margin-right: -1rem !important; + } + .mb-md-n3, + .my-md-n3 { + margin-bottom: -1rem !important; + } + .ml-md-n3, + .mx-md-n3 { + margin-left: -1rem !important; + } + .m-md-n4 { + margin: -1.5rem !important; + } + .mt-md-n4, + .my-md-n4 { + margin-top: -1.5rem !important; + } + .mr-md-n4, + .mx-md-n4 { + margin-right: -1.5rem !important; + } + .mb-md-n4, + .my-md-n4 { + margin-bottom: -1.5rem !important; + } + .ml-md-n4, + .mx-md-n4 { + margin-left: -1.5rem !important; + } + .m-md-n5 { + margin: -3rem !important; + } + .mt-md-n5, + .my-md-n5 { + margin-top: -3rem !important; + } + .mr-md-n5, + .mx-md-n5 { + margin-right: -3rem !important; + } + .mb-md-n5, + .my-md-n5 { + margin-bottom: -3rem !important; + } + .ml-md-n5, + .mx-md-n5 { + margin-left: -3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mt-md-auto, + .my-md-auto { + margin-top: auto !important; + } + .mr-md-auto, + .mx-md-auto { + margin-right: auto !important; + } + .mb-md-auto, + .my-md-auto { + margin-bottom: auto !important; + } + .ml-md-auto, + .mx-md-auto { + margin-left: auto !important; + } +} + +@media (min-width: 992px) { + .m-lg-0 { + margin: 0 !important; + } + .mt-lg-0, + .my-lg-0 { + margin-top: 0 !important; + } + .mr-lg-0, + .mx-lg-0 { + margin-right: 0 !important; + } + .mb-lg-0, + .my-lg-0 { + margin-bottom: 0 !important; + } + .ml-lg-0, + .mx-lg-0 { + margin-left: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .mt-lg-1, + .my-lg-1 { + margin-top: 0.25rem !important; + } + .mr-lg-1, + .mx-lg-1 { + margin-right: 0.25rem !important; + } + .mb-lg-1, + .my-lg-1 { + margin-bottom: 0.25rem !important; + } + .ml-lg-1, + .mx-lg-1 { + margin-left: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .mt-lg-2, + .my-lg-2 { + margin-top: 0.5rem !important; + } + .mr-lg-2, + .mx-lg-2 { + margin-right: 0.5rem !important; + } + .mb-lg-2, + .my-lg-2 { + margin-bottom: 0.5rem !important; + } + .ml-lg-2, + .mx-lg-2 { + margin-left: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .mt-lg-3, + .my-lg-3 { + margin-top: 1rem !important; + } + .mr-lg-3, + .mx-lg-3 { + margin-right: 1rem !important; + } + .mb-lg-3, + .my-lg-3 { + margin-bottom: 1rem !important; + } + .ml-lg-3, + .mx-lg-3 { + margin-left: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .mt-lg-4, + .my-lg-4 { + margin-top: 1.5rem !important; + } + .mr-lg-4, + .mx-lg-4 { + margin-right: 1.5rem !important; + } + .mb-lg-4, + .my-lg-4 { + margin-bottom: 1.5rem !important; + } + .ml-lg-4, + .mx-lg-4 { + margin-left: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .mt-lg-5, + .my-lg-5 { + margin-top: 3rem !important; + } + .mr-lg-5, + .mx-lg-5 { + margin-right: 3rem !important; + } + .mb-lg-5, + .my-lg-5 { + margin-bottom: 3rem !important; + } + .ml-lg-5, + .mx-lg-5 { + margin-left: 3rem !important; + } + .p-lg-0 { + padding: 0 !important; + } + .pt-lg-0, + .py-lg-0 { + padding-top: 0 !important; + } + .pr-lg-0, + .px-lg-0 { + padding-right: 0 !important; + } + .pb-lg-0, + .py-lg-0 { + padding-bottom: 0 !important; + } + .pl-lg-0, + .px-lg-0 { + padding-left: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .pt-lg-1, + .py-lg-1 { + padding-top: 0.25rem !important; + } + .pr-lg-1, + .px-lg-1 { + padding-right: 0.25rem !important; + } + .pb-lg-1, + .py-lg-1 { + padding-bottom: 0.25rem !important; + } + .pl-lg-1, + .px-lg-1 { + padding-left: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .pt-lg-2, + .py-lg-2 { + padding-top: 0.5rem !important; + } + .pr-lg-2, + .px-lg-2 { + padding-right: 0.5rem !important; + } + .pb-lg-2, + .py-lg-2 { + padding-bottom: 0.5rem !important; + } + .pl-lg-2, + .px-lg-2 { + padding-left: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .pt-lg-3, + .py-lg-3 { + padding-top: 1rem !important; + } + .pr-lg-3, + .px-lg-3 { + padding-right: 1rem !important; + } + .pb-lg-3, + .py-lg-3 { + padding-bottom: 1rem !important; + } + .pl-lg-3, + .px-lg-3 { + padding-left: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .pt-lg-4, + .py-lg-4 { + padding-top: 1.5rem !important; + } + .pr-lg-4, + .px-lg-4 { + padding-right: 1.5rem !important; + } + .pb-lg-4, + .py-lg-4 { + padding-bottom: 1.5rem !important; + } + .pl-lg-4, + .px-lg-4 { + padding-left: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .pt-lg-5, + .py-lg-5 { + padding-top: 3rem !important; + } + .pr-lg-5, + .px-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-5, + .py-lg-5 { + padding-bottom: 3rem !important; + } + .pl-lg-5, + .px-lg-5 { + padding-left: 3rem !important; + } + .m-lg-n1 { + margin: -0.25rem !important; + } + .mt-lg-n1, + .my-lg-n1 { + margin-top: -0.25rem !important; + } + .mr-lg-n1, + .mx-lg-n1 { + margin-right: -0.25rem !important; + } + .mb-lg-n1, + .my-lg-n1 { + margin-bottom: -0.25rem !important; + } + .ml-lg-n1, + .mx-lg-n1 { + margin-left: -0.25rem !important; + } + .m-lg-n2 { + margin: -0.5rem !important; + } + .mt-lg-n2, + .my-lg-n2 { + margin-top: -0.5rem !important; + } + .mr-lg-n2, + .mx-lg-n2 { + margin-right: -0.5rem !important; + } + .mb-lg-n2, + .my-lg-n2 { + margin-bottom: -0.5rem !important; + } + .ml-lg-n2, + .mx-lg-n2 { + margin-left: -0.5rem !important; + } + .m-lg-n3 { + margin: -1rem !important; + } + .mt-lg-n3, + .my-lg-n3 { + margin-top: -1rem !important; + } + .mr-lg-n3, + .mx-lg-n3 { + margin-right: -1rem !important; + } + .mb-lg-n3, + .my-lg-n3 { + margin-bottom: -1rem !important; + } + .ml-lg-n3, + .mx-lg-n3 { + margin-left: -1rem !important; + } + .m-lg-n4 { + margin: -1.5rem !important; + } + .mt-lg-n4, + .my-lg-n4 { + margin-top: -1.5rem !important; + } + .mr-lg-n4, + .mx-lg-n4 { + margin-right: -1.5rem !important; + } + .mb-lg-n4, + .my-lg-n4 { + margin-bottom: -1.5rem !important; + } + .ml-lg-n4, + .mx-lg-n4 { + margin-left: -1.5rem !important; + } + .m-lg-n5 { + margin: -3rem !important; + } + .mt-lg-n5, + .my-lg-n5 { + margin-top: -3rem !important; + } + .mr-lg-n5, + .mx-lg-n5 { + margin-right: -3rem !important; + } + .mb-lg-n5, + .my-lg-n5 { + margin-bottom: -3rem !important; + } + .ml-lg-n5, + .mx-lg-n5 { + margin-left: -3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mt-lg-auto, + .my-lg-auto { + margin-top: auto !important; + } + .mr-lg-auto, + .mx-lg-auto { + margin-right: auto !important; + } + .mb-lg-auto, + .my-lg-auto { + margin-bottom: auto !important; + } + .ml-lg-auto, + .mx-lg-auto { + margin-left: auto !important; + } +} + +@media (min-width: 1200px) { + .m-xl-0 { + margin: 0 !important; + } + .mt-xl-0, + .my-xl-0 { + margin-top: 0 !important; + } + .mr-xl-0, + .mx-xl-0 { + margin-right: 0 !important; + } + .mb-xl-0, + .my-xl-0 { + margin-bottom: 0 !important; + } + .ml-xl-0, + .mx-xl-0 { + margin-left: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .mt-xl-1, + .my-xl-1 { + margin-top: 0.25rem !important; + } + .mr-xl-1, + .mx-xl-1 { + margin-right: 0.25rem !important; + } + .mb-xl-1, + .my-xl-1 { + margin-bottom: 0.25rem !important; + } + .ml-xl-1, + .mx-xl-1 { + margin-left: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .mt-xl-2, + .my-xl-2 { + margin-top: 0.5rem !important; + } + .mr-xl-2, + .mx-xl-2 { + margin-right: 0.5rem !important; + } + .mb-xl-2, + .my-xl-2 { + margin-bottom: 0.5rem !important; + } + .ml-xl-2, + .mx-xl-2 { + margin-left: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .mt-xl-3, + .my-xl-3 { + margin-top: 1rem !important; + } + .mr-xl-3, + .mx-xl-3 { + margin-right: 1rem !important; + } + .mb-xl-3, + .my-xl-3 { + margin-bottom: 1rem !important; + } + .ml-xl-3, + .mx-xl-3 { + margin-left: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .mt-xl-4, + .my-xl-4 { + margin-top: 1.5rem !important; + } + .mr-xl-4, + .mx-xl-4 { + margin-right: 1.5rem !important; + } + .mb-xl-4, + .my-xl-4 { + margin-bottom: 1.5rem !important; + } + .ml-xl-4, + .mx-xl-4 { + margin-left: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .mt-xl-5, + .my-xl-5 { + margin-top: 3rem !important; + } + .mr-xl-5, + .mx-xl-5 { + margin-right: 3rem !important; + } + .mb-xl-5, + .my-xl-5 { + margin-bottom: 3rem !important; + } + .ml-xl-5, + .mx-xl-5 { + margin-left: 3rem !important; + } + .p-xl-0 { + padding: 0 !important; + } + .pt-xl-0, + .py-xl-0 { + padding-top: 0 !important; + } + .pr-xl-0, + .px-xl-0 { + padding-right: 0 !important; + } + .pb-xl-0, + .py-xl-0 { + padding-bottom: 0 !important; + } + .pl-xl-0, + .px-xl-0 { + padding-left: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .pt-xl-1, + .py-xl-1 { + padding-top: 0.25rem !important; + } + .pr-xl-1, + .px-xl-1 { + padding-right: 0.25rem !important; + } + .pb-xl-1, + .py-xl-1 { + padding-bottom: 0.25rem !important; + } + .pl-xl-1, + .px-xl-1 { + padding-left: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .pt-xl-2, + .py-xl-2 { + padding-top: 0.5rem !important; + } + .pr-xl-2, + .px-xl-2 { + padding-right: 0.5rem !important; + } + .pb-xl-2, + .py-xl-2 { + padding-bottom: 0.5rem !important; + } + .pl-xl-2, + .px-xl-2 { + padding-left: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .pt-xl-3, + .py-xl-3 { + padding-top: 1rem !important; + } + .pr-xl-3, + .px-xl-3 { + padding-right: 1rem !important; + } + .pb-xl-3, + .py-xl-3 { + padding-bottom: 1rem !important; + } + .pl-xl-3, + .px-xl-3 { + padding-left: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .pt-xl-4, + .py-xl-4 { + padding-top: 1.5rem !important; + } + .pr-xl-4, + .px-xl-4 { + padding-right: 1.5rem !important; + } + .pb-xl-4, + .py-xl-4 { + padding-bottom: 1.5rem !important; + } + .pl-xl-4, + .px-xl-4 { + padding-left: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .pt-xl-5, + .py-xl-5 { + padding-top: 3rem !important; + } + .pr-xl-5, + .px-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-5, + .py-xl-5 { + padding-bottom: 3rem !important; + } + .pl-xl-5, + .px-xl-5 { + padding-left: 3rem !important; + } + .m-xl-n1 { + margin: -0.25rem !important; + } + .mt-xl-n1, + .my-xl-n1 { + margin-top: -0.25rem !important; + } + .mr-xl-n1, + .mx-xl-n1 { + margin-right: -0.25rem !important; + } + .mb-xl-n1, + .my-xl-n1 { + margin-bottom: -0.25rem !important; + } + .ml-xl-n1, + .mx-xl-n1 { + margin-left: -0.25rem !important; + } + .m-xl-n2 { + margin: -0.5rem !important; + } + .mt-xl-n2, + .my-xl-n2 { + margin-top: -0.5rem !important; + } + .mr-xl-n2, + .mx-xl-n2 { + margin-right: -0.5rem !important; + } + .mb-xl-n2, + .my-xl-n2 { + margin-bottom: -0.5rem !important; + } + .ml-xl-n2, + .mx-xl-n2 { + margin-left: -0.5rem !important; + } + .m-xl-n3 { + margin: -1rem !important; + } + .mt-xl-n3, + .my-xl-n3 { + margin-top: -1rem !important; + } + .mr-xl-n3, + .mx-xl-n3 { + margin-right: -1rem !important; + } + .mb-xl-n3, + .my-xl-n3 { + margin-bottom: -1rem !important; + } + .ml-xl-n3, + .mx-xl-n3 { + margin-left: -1rem !important; + } + .m-xl-n4 { + margin: -1.5rem !important; + } + .mt-xl-n4, + .my-xl-n4 { + margin-top: -1.5rem !important; + } + .mr-xl-n4, + .mx-xl-n4 { + margin-right: -1.5rem !important; + } + .mb-xl-n4, + .my-xl-n4 { + margin-bottom: -1.5rem !important; + } + .ml-xl-n4, + .mx-xl-n4 { + margin-left: -1.5rem !important; + } + .m-xl-n5 { + margin: -3rem !important; + } + .mt-xl-n5, + .my-xl-n5 { + margin-top: -3rem !important; + } + .mr-xl-n5, + .mx-xl-n5 { + margin-right: -3rem !important; + } + .mb-xl-n5, + .my-xl-n5 { + margin-bottom: -3rem !important; + } + .ml-xl-n5, + .mx-xl-n5 { + margin-left: -3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mt-xl-auto, + .my-xl-auto { + margin-top: auto !important; + } + .mr-xl-auto, + .mx-xl-auto { + margin-right: auto !important; + } + .mb-xl-auto, + .my-xl-auto { + margin-bottom: auto !important; + } + .ml-xl-auto, + .mx-xl-auto { + margin-left: auto !important; + } +} + +.text-monospace { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; +} + +.text-justify { + text-align: justify !important; +} + +.text-wrap { + white-space: normal !important; +} + +.text-nowrap { + white-space: nowrap !important; +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.text-left { + text-align: left !important; +} + +.text-right { + text-align: right !important; +} + +.text-center { + text-align: center !important; +} + +@media (min-width: 576px) { + .text-sm-left { + text-align: left !important; + } + .text-sm-right { + text-align: right !important; + } + .text-sm-center { + text-align: center !important; + } +} + +@media (min-width: 768px) { + .text-md-left { + text-align: left !important; + } + .text-md-right { + text-align: right !important; + } + .text-md-center { + text-align: center !important; + } +} + +@media (min-width: 992px) { + .text-lg-left { + text-align: left !important; + } + .text-lg-right { + text-align: right !important; + } + .text-lg-center { + text-align: center !important; + } +} + +@media (min-width: 1200px) { + .text-xl-left { + text-align: left !important; + } + .text-xl-right { + text-align: right !important; + } + .text-xl-center { + text-align: center !important; + } +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.font-weight-light { + font-weight: 300 !important; +} + +.font-weight-lighter { + font-weight: lighter !important; +} + +.font-weight-normal { + font-weight: 400 !important; +} + +.font-weight-bold { + font-weight: 700 !important; +} + +.font-weight-bolder { + font-weight: bolder !important; +} + +.font-italic { + font-style: italic !important; +} + +.text-white { + color: #fff !important; +} + +.text-primary { + color: #007bff !important; +} + +a.text-primary:hover, a.text-primary:focus { + color: #0056b3 !important; +} + +.text-secondary { + color: #6c757d !important; +} + +a.text-secondary:hover, a.text-secondary:focus { + color: #494f54 !important; +} + +.text-success { + color: #28a745 !important; +} + +a.text-success:hover, a.text-success:focus { + color: #19692c !important; +} + +.text-info { + color: #17a2b8 !important; +} + +a.text-info:hover, a.text-info:focus { + color: #0f6674 !important; +} + +.text-warning { + color: #ffc107 !important; +} + +a.text-warning:hover, a.text-warning:focus { + color: #ba8b00 !important; +} + +.text-danger { + color: #dc3545 !important; +} + +a.text-danger:hover, a.text-danger:focus { + color: #a71d2a !important; +} + +.text-light { + color: #f8f9fa !important; +} + +a.text-light:hover, a.text-light:focus { + color: #cbd3da !important; +} + +.text-dark { + color: #343a40 !important; +} + +a.text-dark:hover, a.text-dark:focus { + color: #121416 !important; +} + +.text-body { + color: #212529 !important; +} + +.text-muted { + color: #6c757d !important; +} + +.text-black-50 { + color: rgba(0, 0, 0, 0.5) !important; +} + +.text-white-50 { + color: rgba(255, 255, 255, 0.5) !important; +} + +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +.text-decoration-none { + text-decoration: none !important; +} + +.text-break { + word-break: break-word !important; + overflow-wrap: break-word !important; +} + +.text-reset { + color: inherit !important; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +@media print { + *, + *::before, + *::after { + text-shadow: none !important; + box-shadow: none !important; + } + a:not(.btn) { + text-decoration: underline; + } + abbr[title]::after { + content: " (" attr(title) ")"; + } + pre { + white-space: pre-wrap !important; + } + pre, + blockquote { + border: 1px solid #adb5bd; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + @page { + size: a3; + } + body { + min-width: 992px !important; + } + .container { + min-width: 992px !important; + } + .navbar { + display: none; + } + .badge { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #dee2e6 !important; + } + .table-dark { + color: inherit; + } + .table-dark th, + .table-dark td, + .table-dark thead th, + .table-dark tbody + tbody { + border-color: #dee2e6; + } + .table .thead-dark th { + color: inherit; + border-color: #dee2e6; + } +} +/*# sourceMappingURL=bootstrap.css.map */ \ No newline at end of file diff --git a/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/static/bootstrap/js/bootstrap.bundle.js b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/static/bootstrap/js/bootstrap.bundle.js new file mode 100644 index 00000000..53445221 --- /dev/null +++ b/ssm_1905_weizhongwen/src/main/webapp/weizhongwen/static/bootstrap/js/bootstrap.bundle.js @@ -0,0 +1,7134 @@ +/*! + * Bootstrap v4.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery')) : + typeof define === 'function' && define.amd ? define(['exports', 'jquery'], factory) : + (global = global || self, factory(global.bootstrap = {}, global.jQuery)); +}(this, (function (exports, $) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; + } + + function ownKeys(object, enumerableOnly) { + var keys = Object.keys(object); + + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + if (enumerableOnly) symbols = symbols.filter(function (sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + }); + keys.push.apply(keys, symbols); + } + + return keys; + } + + function _objectSpread2(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + + if (i % 2) { + ownKeys(Object(source), true).forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } else if (Object.getOwnPropertyDescriptors) { + Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); + } else { + ownKeys(Object(source)).forEach(function (key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + } + + return target; + } + + function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + subClass.__proto__ = superClass; + } + + /** + * -------------------------------------------------------------------------- + * Bootstrap (v4.4.1): util.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + /** + * ------------------------------------------------------------------------ + * Private TransitionEnd Helpers + * ------------------------------------------------------------------------ + */ + + var TRANSITION_END = 'transitionend'; + var MAX_UID = 1000000; + var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp) + + function toType(obj) { + return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase(); + } + + function getSpecialTransitionEndEvent() { + return { + bindType: TRANSITION_END, + delegateType: TRANSITION_END, + handle: function handle(event) { + if ($(event.target).is(this)) { + return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params + } + + return undefined; // eslint-disable-line no-undefined + } + }; + } + + function transitionEndEmulator(duration) { + var _this = this; + + var called = false; + $(this).one(Util.TRANSITION_END, function () { + called = true; + }); + setTimeout(function () { + if (!called) { + Util.triggerTransitionEnd(_this); + } + }, duration); + return this; + } + + function setTransitionEndSupport() { + $.fn.emulateTransitionEnd = transitionEndEmulator; + $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent(); + } + /** + * -------------------------------------------------------------------------- + * Public Util Api + * -------------------------------------------------------------------------- + */ + + + var Util = { + TRANSITION_END: 'bsTransitionEnd', + getUID: function getUID(prefix) { + do { + // eslint-disable-next-line no-bitwise + prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here + } while (document.getElementById(prefix)); + + return prefix; + }, + getSelectorFromElement: function getSelectorFromElement(element) { + var selector = element.getAttribute('data-target'); + + if (!selector || selector === '#') { + var hrefAttr = element.getAttribute('href'); + selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''; + } + + try { + return document.querySelector(selector) ? selector : null; + } catch (err) { + return null; + } + }, + getTransitionDurationFromElement: function getTransitionDurationFromElement(element) { + if (!element) { + return 0; + } // Get transition-duration of the element + + + var transitionDuration = $(element).css('transition-duration'); + var transitionDelay = $(element).css('transition-delay'); + var floatTransitionDuration = parseFloat(transitionDuration); + var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found + + if (!floatTransitionDuration && !floatTransitionDelay) { + return 0; + } // If multiple durations are defined, take the first + + + transitionDuration = transitionDuration.split(',')[0]; + transitionDelay = transitionDelay.split(',')[0]; + return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; + }, + reflow: function reflow(element) { + return element.offsetHeight; + }, + triggerTransitionEnd: function triggerTransitionEnd(element) { + $(element).trigger(TRANSITION_END); + }, + // TODO: Remove in v5 + supportsTransitionEnd: function supportsTransitionEnd() { + return Boolean(TRANSITION_END); + }, + isElement: function isElement(obj) { + return (obj[0] || obj).nodeType; + }, + typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) { + for (var property in configTypes) { + if (Object.prototype.hasOwnProperty.call(configTypes, property)) { + var expectedTypes = configTypes[property]; + var value = config[property]; + var valueType = value && Util.isElement(value) ? 'element' : toType(value); + + if (!new RegExp(expectedTypes).test(valueType)) { + throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\".")); + } + } + } + }, + findShadowRoot: function findShadowRoot(element) { + if (!document.documentElement.attachShadow) { + return null; + } // Can find the shadow root otherwise it'll return the document + + + if (typeof element.getRootNode === 'function') { + var root = element.getRootNode(); + return root instanceof ShadowRoot ? root : null; + } + + if (element instanceof ShadowRoot) { + return element; + } // when we don't find a shadow root + + + if (!element.parentNode) { + return null; + } + + return Util.findShadowRoot(element.parentNode); + }, + jQueryDetection: function jQueryDetection() { + if (typeof $ === 'undefined') { + throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.'); + } + + var version = $.fn.jquery.split(' ')[0].split('.'); + var minMajor = 1; + var ltMajor = 2; + var minMinor = 9; + var minPatch = 1; + var maxMajor = 4; + + if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) { + throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0'); + } + } + }; + Util.jQueryDetection(); + setTransitionEndSupport(); + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME = 'alert'; + var VERSION = '4.4.1'; + var DATA_KEY = 'bs.alert'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var Selector = { + DISMISS: '[data-dismiss="alert"]' + }; + var Event = { + CLOSE: "close" + EVENT_KEY, + CLOSED: "closed" + EVENT_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + ALERT: 'alert', + FADE: 'fade', + SHOW: 'show' + }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var Alert = + /*#__PURE__*/ + function () { + function Alert(element) { + this._element = element; + } // Getters + + + var _proto = Alert.prototype; + + // Public + _proto.close = function close(element) { + var rootElement = this._element; + + if (element) { + rootElement = this._getRootElement(element); + } + + var customEvent = this._triggerCloseEvent(rootElement); + + if (customEvent.isDefaultPrevented()) { + return; + } + + this._removeElement(rootElement); + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY); + this._element = null; + } // Private + ; + + _proto._getRootElement = function _getRootElement(element) { + var selector = Util.getSelectorFromElement(element); + var parent = false; + + if (selector) { + parent = document.querySelector(selector); + } + + if (!parent) { + parent = $(element).closest("." + ClassName.ALERT)[0]; + } + + return parent; + }; + + _proto._triggerCloseEvent = function _triggerCloseEvent(element) { + var closeEvent = $.Event(Event.CLOSE); + $(element).trigger(closeEvent); + return closeEvent; + }; + + _proto._removeElement = function _removeElement(element) { + var _this = this; + + $(element).removeClass(ClassName.SHOW); + + if (!$(element).hasClass(ClassName.FADE)) { + this._destroyElement(element); + + return; + } + + var transitionDuration = Util.getTransitionDurationFromElement(element); + $(element).one(Util.TRANSITION_END, function (event) { + return _this._destroyElement(element, event); + }).emulateTransitionEnd(transitionDuration); + }; + + _proto._destroyElement = function _destroyElement(element) { + $(element).detach().trigger(Event.CLOSED).remove(); + } // Static + ; + + Alert._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var $element = $(this); + var data = $element.data(DATA_KEY); + + if (!data) { + data = new Alert(this); + $element.data(DATA_KEY, data); + } + + if (config === 'close') { + data[config](this); + } + }); + }; + + Alert._handleDismiss = function _handleDismiss(alertInstance) { + return function (event) { + if (event) { + event.preventDefault(); + } + + alertInstance.close(this); + }; + }; + + _createClass(Alert, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }]); + + return Alert; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert())); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Alert._jQueryInterface; + $.fn[NAME].Constructor = Alert; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Alert._jQueryInterface; + }; + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME$1 = 'button'; + var VERSION$1 = '4.4.1'; + var DATA_KEY$1 = 'bs.button'; + var EVENT_KEY$1 = "." + DATA_KEY$1; + var DATA_API_KEY$1 = '.data-api'; + var JQUERY_NO_CONFLICT$1 = $.fn[NAME$1]; + var ClassName$1 = { + ACTIVE: 'active', + BUTTON: 'btn', + FOCUS: 'focus' + }; + var Selector$1 = { + DATA_TOGGLE_CARROT: '[data-toggle^="button"]', + DATA_TOGGLES: '[data-toggle="buttons"]', + DATA_TOGGLE: '[data-toggle="button"]', + DATA_TOGGLES_BUTTONS: '[data-toggle="buttons"] .btn', + INPUT: 'input:not([type="hidden"])', + ACTIVE: '.active', + BUTTON: '.btn' + }; + var Event$1 = { + CLICK_DATA_API: "click" + EVENT_KEY$1 + DATA_API_KEY$1, + FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY$1 + DATA_API_KEY$1 + " " + ("blur" + EVENT_KEY$1 + DATA_API_KEY$1), + LOAD_DATA_API: "load" + EVENT_KEY$1 + DATA_API_KEY$1 + }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var Button = + /*#__PURE__*/ + function () { + function Button(element) { + this._element = element; + } // Getters + + + var _proto = Button.prototype; + + // Public + _proto.toggle = function toggle() { + var triggerChangeEvent = true; + var addAriaPressed = true; + var rootElement = $(this._element).closest(Selector$1.DATA_TOGGLES)[0]; + + if (rootElement) { + var input = this._element.querySelector(Selector$1.INPUT); + + if (input) { + if (input.type === 'radio') { + if (input.checked && this._element.classList.contains(ClassName$1.ACTIVE)) { + triggerChangeEvent = false; + } else { + var activeElement = rootElement.querySelector(Selector$1.ACTIVE); + + if (activeElement) { + $(activeElement).removeClass(ClassName$1.ACTIVE); + } + } + } else if (input.type === 'checkbox') { + if (this._element.tagName === 'LABEL' && input.checked === this._element.classList.contains(ClassName$1.ACTIVE)) { + triggerChangeEvent = false; + } + } else { + // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input + triggerChangeEvent = false; + } + + if (triggerChangeEvent) { + input.checked = !this._element.classList.contains(ClassName$1.ACTIVE); + $(input).trigger('change'); + } + + input.focus(); + addAriaPressed = false; + } + } + + if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) { + if (addAriaPressed) { + this._element.setAttribute('aria-pressed', !this._element.classList.contains(ClassName$1.ACTIVE)); + } + + if (triggerChangeEvent) { + $(this._element).toggleClass(ClassName$1.ACTIVE); + } + } + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY$1); + this._element = null; + } // Static + ; + + Button._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY$1); + + if (!data) { + data = new Button(this); + $(this).data(DATA_KEY$1, data); + } + + if (config === 'toggle') { + data[config](); + } + }); + }; + + _createClass(Button, null, [{ + key: "VERSION", + get: function get() { + return VERSION$1; + } + }]); + + return Button; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event$1.CLICK_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) { + var button = event.target; + + if (!$(button).hasClass(ClassName$1.BUTTON)) { + button = $(button).closest(Selector$1.BUTTON)[0]; + } + + if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) { + event.preventDefault(); // work around Firefox bug #1540995 + } else { + var inputBtn = button.querySelector(Selector$1.INPUT); + + if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) { + event.preventDefault(); // work around Firefox bug #1540995 + + return; + } + + Button._jQueryInterface.call($(button), 'toggle'); + } + }).on(Event$1.FOCUS_BLUR_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) { + var button = $(event.target).closest(Selector$1.BUTTON)[0]; + $(button).toggleClass(ClassName$1.FOCUS, /^focus(in)?$/.test(event.type)); + }); + $(window).on(Event$1.LOAD_DATA_API, function () { + // ensure correct active class is set to match the controls' actual values/states + // find all checkboxes/readio buttons inside data-toggle groups + var buttons = [].slice.call(document.querySelectorAll(Selector$1.DATA_TOGGLES_BUTTONS)); + + for (var i = 0, len = buttons.length; i < len; i++) { + var button = buttons[i]; + var input = button.querySelector(Selector$1.INPUT); + + if (input.checked || input.hasAttribute('checked')) { + button.classList.add(ClassName$1.ACTIVE); + } else { + button.classList.remove(ClassName$1.ACTIVE); + } + } // find all button toggles + + + buttons = [].slice.call(document.querySelectorAll(Selector$1.DATA_TOGGLE)); + + for (var _i = 0, _len = buttons.length; _i < _len; _i++) { + var _button = buttons[_i]; + + if (_button.getAttribute('aria-pressed') === 'true') { + _button.classList.add(ClassName$1.ACTIVE); + } else { + _button.classList.remove(ClassName$1.ACTIVE); + } + } + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME$1] = Button._jQueryInterface; + $.fn[NAME$1].Constructor = Button; + + $.fn[NAME$1].noConflict = function () { + $.fn[NAME$1] = JQUERY_NO_CONFLICT$1; + return Button._jQueryInterface; + }; + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME$2 = 'carousel'; + var VERSION$2 = '4.4.1'; + var DATA_KEY$2 = 'bs.carousel'; + var EVENT_KEY$2 = "." + DATA_KEY$2; + var DATA_API_KEY$2 = '.data-api'; + var JQUERY_NO_CONFLICT$2 = $.fn[NAME$2]; + var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key + + var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key + + var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch + + var SWIPE_THRESHOLD = 40; + var Default = { + interval: 5000, + keyboard: true, + slide: false, + pause: 'hover', + wrap: true, + touch: true + }; + var DefaultType = { + interval: '(number|boolean)', + keyboard: 'boolean', + slide: '(boolean|string)', + pause: '(string|boolean)', + wrap: 'boolean', + touch: 'boolean' + }; + var Direction = { + NEXT: 'next', + PREV: 'prev', + LEFT: 'left', + RIGHT: 'right' + }; + var Event$2 = { + SLIDE: "slide" + EVENT_KEY$2, + SLID: "slid" + EVENT_KEY$2, + KEYDOWN: "keydown" + EVENT_KEY$2, + MOUSEENTER: "mouseenter" + EVENT_KEY$2, + MOUSELEAVE: "mouseleave" + EVENT_KEY$2, + TOUCHSTART: "touchstart" + EVENT_KEY$2, + TOUCHMOVE: "touchmove" + EVENT_KEY$2, + TOUCHEND: "touchend" + EVENT_KEY$2, + POINTERDOWN: "pointerdown" + EVENT_KEY$2, + POINTERUP: "pointerup" + EVENT_KEY$2, + DRAG_START: "dragstart" + EVENT_KEY$2, + LOAD_DATA_API: "load" + EVENT_KEY$2 + DATA_API_KEY$2, + CLICK_DATA_API: "click" + EVENT_KEY$2 + DATA_API_KEY$2 + }; + var ClassName$2 = { + CAROUSEL: 'carousel', + ACTIVE: 'active', + SLIDE: 'slide', + RIGHT: 'carousel-item-right', + LEFT: 'carousel-item-left', + NEXT: 'carousel-item-next', + PREV: 'carousel-item-prev', + ITEM: 'carousel-item', + POINTER_EVENT: 'pointer-event' + }; + var Selector$2 = { + ACTIVE: '.active', + ACTIVE_ITEM: '.active.carousel-item', + ITEM: '.carousel-item', + ITEM_IMG: '.carousel-item img', + NEXT_PREV: '.carousel-item-next, .carousel-item-prev', + INDICATORS: '.carousel-indicators', + DATA_SLIDE: '[data-slide], [data-slide-to]', + DATA_RIDE: '[data-ride="carousel"]' + }; + var PointerType = { + TOUCH: 'touch', + PEN: 'pen' + }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var Carousel = + /*#__PURE__*/ + function () { + function Carousel(element, config) { + this._items = null; + this._interval = null; + this._activeElement = null; + this._isPaused = false; + this._isSliding = false; + this.touchTimeout = null; + this.touchStartX = 0; + this.touchDeltaX = 0; + this._config = this._getConfig(config); + this._element = element; + this._indicatorsElement = this._element.querySelector(Selector$2.INDICATORS); + this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0; + this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent); + + this._addEventListeners(); + } // Getters + + + var _proto = Carousel.prototype; + + // Public + _proto.next = function next() { + if (!this._isSliding) { + this._slide(Direction.NEXT); + } + }; + + _proto.nextWhenVisible = function nextWhenVisible() { + // Don't call next when the page isn't visible + // or the carousel or its parent isn't visible + if (!document.hidden && $(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden') { + this.next(); + } + }; + + _proto.prev = function prev() { + if (!this._isSliding) { + this._slide(Direction.PREV); + } + }; + + _proto.pause = function pause(event) { + if (!event) { + this._isPaused = true; + } + + if (this._element.querySelector(Selector$2.NEXT_PREV)) { + Util.triggerTransitionEnd(this._element); + this.cycle(true); + } + + clearInterval(this._interval); + this._interval = null; + }; + + _proto.cycle = function cycle(event) { + if (!event) { + this._isPaused = false; + } + + if (this._interval) { + clearInterval(this._interval); + this._interval = null; + } + + if (this._config.interval && !this._isPaused) { + this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval); + } + }; + + _proto.to = function to(index) { + var _this = this; + + this._activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM); + + var activeIndex = this._getItemIndex(this._activeElement); + + if (index > this._items.length - 1 || index < 0) { + return; + } + + if (this._isSliding) { + $(this._element).one(Event$2.SLID, function () { + return _this.to(index); + }); + return; + } + + if (activeIndex === index) { + this.pause(); + this.cycle(); + return; + } + + var direction = index > activeIndex ? Direction.NEXT : Direction.PREV; + + this._slide(direction, this._items[index]); + }; + + _proto.dispose = function dispose() { + $(this._element).off(EVENT_KEY$2); + $.removeData(this._element, DATA_KEY$2); + this._items = null; + this._config = null; + this._element = null; + this._interval = null; + this._isPaused = null; + this._isSliding = null; + this._activeElement = null; + this._indicatorsElement = null; + } // Private + ; + + _proto._getConfig = function _getConfig(config) { + config = _objectSpread2({}, Default, {}, config); + Util.typeCheckConfig(NAME$2, config, DefaultType); + return config; + }; + + _proto._handleSwipe = function _handleSwipe() { + var absDeltax = Math.abs(this.touchDeltaX); + + if (absDeltax <= SWIPE_THRESHOLD) { + return; + } + + var direction = absDeltax / this.touchDeltaX; + this.touchDeltaX = 0; // swipe left + + if (direction > 0) { + this.prev(); + } // swipe right + + + if (direction < 0) { + this.next(); + } + }; + + _proto._addEventListeners = function _addEventListeners() { + var _this2 = this; + + if (this._config.keyboard) { + $(this._element).on(Event$2.KEYDOWN, function (event) { + return _this2._keydown(event); + }); + } + + if (this._config.pause === 'hover') { + $(this._element).on(Event$2.MOUSEENTER, function (event) { + return _this2.pause(event); + }).on(Event$2.MOUSELEAVE, function (event) { + return _this2.cycle(event); + }); + } + + if (this._config.touch) { + this._addTouchEventListeners(); + } + }; + + _proto._addTouchEventListeners = function _addTouchEventListeners() { + var _this3 = this; + + if (!this._touchSupported) { + return; + } + + var start = function start(event) { + if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) { + _this3.touchStartX = event.originalEvent.clientX; + } else if (!_this3._pointerEvent) { + _this3.touchStartX = event.originalEvent.touches[0].clientX; + } + }; + + var move = function move(event) { + // ensure swiping with one touch and not pinching + if (event.originalEvent.touches && event.originalEvent.touches.length > 1) { + _this3.touchDeltaX = 0; + } else { + _this3.touchDeltaX = event.originalEvent.touches[0].clientX - _this3.touchStartX; + } + }; + + var end = function end(event) { + if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) { + _this3.touchDeltaX = event.originalEvent.clientX - _this3.touchStartX; + } + + _this3._handleSwipe(); + + if (_this3._config.pause === 'hover') { + // If it's a touch-enabled device, mouseenter/leave are fired as + // part of the mouse compatibility events on first tap - the carousel + // would stop cycling until user tapped out of it; + // here, we listen for touchend, explicitly pause the carousel + // (as if it's the second time we tap on it, mouseenter compat event + // is NOT fired) and after a timeout (to allow for mouse compatibility + // events to fire) we explicitly restart cycling + _this3.pause(); + + if (_this3.touchTimeout) { + clearTimeout(_this3.touchTimeout); + } + + _this3.touchTimeout = setTimeout(function (event) { + return _this3.cycle(event); + }, TOUCHEVENT_COMPAT_WAIT + _this3._config.interval); + } + }; + + $(this._element.querySelectorAll(Selector$2.ITEM_IMG)).on(Event$2.DRAG_START, function (e) { + return e.preventDefault(); + }); + + if (this._pointerEvent) { + $(this._element).on(Event$2.POINTERDOWN, function (event) { + return start(event); + }); + $(this._element).on(Event$2.POINTERUP, function (event) { + return end(event); + }); + + this._element.classList.add(ClassName$2.POINTER_EVENT); + } else { + $(this._element).on(Event$2.TOUCHSTART, function (event) { + return start(event); + }); + $(this._element).on(Event$2.TOUCHMOVE, function (event) { + return move(event); + }); + $(this._element).on(Event$2.TOUCHEND, function (event) { + return end(event); + }); + } + }; + + _proto._keydown = function _keydown(event) { + if (/input|textarea/i.test(event.target.tagName)) { + return; + } + + switch (event.which) { + case ARROW_LEFT_KEYCODE: + event.preventDefault(); + this.prev(); + break; + + case ARROW_RIGHT_KEYCODE: + event.preventDefault(); + this.next(); + break; + } + }; + + _proto._getItemIndex = function _getItemIndex(element) { + this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(Selector$2.ITEM)) : []; + return this._items.indexOf(element); + }; + + _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) { + var isNextDirection = direction === Direction.NEXT; + var isPrevDirection = direction === Direction.PREV; + + var activeIndex = this._getItemIndex(activeElement); + + var lastItemIndex = this._items.length - 1; + var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex; + + if (isGoingToWrap && !this._config.wrap) { + return activeElement; + } + + var delta = direction === Direction.PREV ? -1 : 1; + var itemIndex = (activeIndex + delta) % this._items.length; + return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex]; + }; + + _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) { + var targetIndex = this._getItemIndex(relatedTarget); + + var fromIndex = this._getItemIndex(this._element.querySelector(Selector$2.ACTIVE_ITEM)); + + var slideEvent = $.Event(Event$2.SLIDE, { + relatedTarget: relatedTarget, + direction: eventDirectionName, + from: fromIndex, + to: targetIndex + }); + $(this._element).trigger(slideEvent); + return slideEvent; + }; + + _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) { + if (this._indicatorsElement) { + var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector$2.ACTIVE)); + $(indicators).removeClass(ClassName$2.ACTIVE); + + var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)]; + + if (nextIndicator) { + $(nextIndicator).addClass(ClassName$2.ACTIVE); + } + } + }; + + _proto._slide = function _slide(direction, element) { + var _this4 = this; + + var activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM); + + var activeElementIndex = this._getItemIndex(activeElement); + + var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement); + + var nextElementIndex = this._getItemIndex(nextElement); + + var isCycling = Boolean(this._interval); + var directionalClassName; + var orderClassName; + var eventDirectionName; + + if (direction === Direction.NEXT) { + directionalClassName = ClassName$2.LEFT; + orderClassName = ClassName$2.NEXT; + eventDirectionName = Direction.LEFT; + } else { + directionalClassName = ClassName$2.RIGHT; + orderClassName = ClassName$2.PREV; + eventDirectionName = Direction.RIGHT; + } + + if (nextElement && $(nextElement).hasClass(ClassName$2.ACTIVE)) { + this._isSliding = false; + return; + } + + var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName); + + if (slideEvent.isDefaultPrevented()) { + return; + } + + if (!activeElement || !nextElement) { + // Some weirdness is happening, so we bail + return; + } + + this._isSliding = true; + + if (isCycling) { + this.pause(); + } + + this._setActiveIndicatorElement(nextElement); + + var slidEvent = $.Event(Event$2.SLID, { + relatedTarget: nextElement, + direction: eventDirectionName, + from: activeElementIndex, + to: nextElementIndex + }); + + if ($(this._element).hasClass(ClassName$2.SLIDE)) { + $(nextElement).addClass(orderClassName); + Util.reflow(nextElement); + $(activeElement).addClass(directionalClassName); + $(nextElement).addClass(directionalClassName); + var nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10); + + if (nextElementInterval) { + this._config.defaultInterval = this._config.defaultInterval || this._config.interval; + this._config.interval = nextElementInterval; + } else { + this._config.interval = this._config.defaultInterval || this._config.interval; + } + + var transitionDuration = Util.getTransitionDurationFromElement(activeElement); + $(activeElement).one(Util.TRANSITION_END, function () { + $(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName$2.ACTIVE); + $(activeElement).removeClass(ClassName$2.ACTIVE + " " + orderClassName + " " + directionalClassName); + _this4._isSliding = false; + setTimeout(function () { + return $(_this4._element).trigger(slidEvent); + }, 0); + }).emulateTransitionEnd(transitionDuration); + } else { + $(activeElement).removeClass(ClassName$2.ACTIVE); + $(nextElement).addClass(ClassName$2.ACTIVE); + this._isSliding = false; + $(this._element).trigger(slidEvent); + } + + if (isCycling) { + this.cycle(); + } + } // Static + ; + + Carousel._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY$2); + + var _config = _objectSpread2({}, Default, {}, $(this).data()); + + if (typeof config === 'object') { + _config = _objectSpread2({}, _config, {}, config); + } + + var action = typeof config === 'string' ? config : _config.slide; + + if (!data) { + data = new Carousel(this, _config); + $(this).data(DATA_KEY$2, data); + } + + if (typeof config === 'number') { + data.to(config); + } else if (typeof action === 'string') { + if (typeof data[action] === 'undefined') { + throw new TypeError("No method named \"" + action + "\""); + } + + data[action](); + } else if (_config.interval && _config.ride) { + data.pause(); + data.cycle(); + } + }); + }; + + Carousel._dataApiClickHandler = function _dataApiClickHandler(event) { + var selector = Util.getSelectorFromElement(this); + + if (!selector) { + return; + } + + var target = $(selector)[0]; + + if (!target || !$(target).hasClass(ClassName$2.CAROUSEL)) { + return; + } + + var config = _objectSpread2({}, $(target).data(), {}, $(this).data()); + + var slideIndex = this.getAttribute('data-slide-to'); + + if (slideIndex) { + config.interval = false; + } + + Carousel._jQueryInterface.call($(target), config); + + if (slideIndex) { + $(target).data(DATA_KEY$2).to(slideIndex); + } + + event.preventDefault(); + }; + + _createClass(Carousel, null, [{ + key: "VERSION", + get: function get() { + return VERSION$2; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }]); + + return Carousel; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event$2.CLICK_DATA_API, Selector$2.DATA_SLIDE, Carousel._dataApiClickHandler); + $(window).on(Event$2.LOAD_DATA_API, function () { + var carousels = [].slice.call(document.querySelectorAll(Selector$2.DATA_RIDE)); + + for (var i = 0, len = carousels.length; i < len; i++) { + var $carousel = $(carousels[i]); + + Carousel._jQueryInterface.call($carousel, $carousel.data()); + } + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME$2] = Carousel._jQueryInterface; + $.fn[NAME$2].Constructor = Carousel; + + $.fn[NAME$2].noConflict = function () { + $.fn[NAME$2] = JQUERY_NO_CONFLICT$2; + return Carousel._jQueryInterface; + }; + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME$3 = 'collapse'; + var VERSION$3 = '4.4.1'; + var DATA_KEY$3 = 'bs.collapse'; + var EVENT_KEY$3 = "." + DATA_KEY$3; + var DATA_API_KEY$3 = '.data-api'; + var JQUERY_NO_CONFLICT$3 = $.fn[NAME$3]; + var Default$1 = { + toggle: true, + parent: '' + }; + var DefaultType$1 = { + toggle: 'boolean', + parent: '(string|element)' + }; + var Event$3 = { + SHOW: "show" + EVENT_KEY$3, + SHOWN: "shown" + EVENT_KEY$3, + HIDE: "hide" + EVENT_KEY$3, + HIDDEN: "hidden" + EVENT_KEY$3, + CLICK_DATA_API: "click" + EVENT_KEY$3 + DATA_API_KEY$3 + }; + var ClassName$3 = { + SHOW: 'show', + COLLAPSE: 'collapse', + COLLAPSING: 'collapsing', + COLLAPSED: 'collapsed' + }; + var Dimension = { + WIDTH: 'width', + HEIGHT: 'height' + }; + var Selector$3 = { + ACTIVES: '.show, .collapsing', + DATA_TOGGLE: '[data-toggle="collapse"]' + }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var Collapse = + /*#__PURE__*/ + function () { + function Collapse(element, config) { + this._isTransitioning = false; + this._element = element; + this._config = this._getConfig(config); + this._triggerArray = [].slice.call(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]"))); + var toggleList = [].slice.call(document.querySelectorAll(Selector$3.DATA_TOGGLE)); + + for (var i = 0, len = toggleList.length; i < len; i++) { + var elem = toggleList[i]; + var selector = Util.getSelectorFromElement(elem); + var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) { + return foundElem === element; + }); + + if (selector !== null && filterElement.length > 0) { + this._selector = selector; + + this._triggerArray.push(elem); + } + } + + this._parent = this._config.parent ? this._getParent() : null; + + if (!this._config.parent) { + this._addAriaAndCollapsedClass(this._element, this._triggerArray); + } + + if (this._config.toggle) { + this.toggle(); + } + } // Getters + + + var _proto = Collapse.prototype; + + // Public + _proto.toggle = function toggle() { + if ($(this._element).hasClass(ClassName$3.SHOW)) { + this.hide(); + } else { + this.show(); + } + }; + + _proto.show = function show() { + var _this = this; + + if (this._isTransitioning || $(this._element).hasClass(ClassName$3.SHOW)) { + return; + } + + var actives; + var activesData; + + if (this._parent) { + actives = [].slice.call(this._parent.querySelectorAll(Selector$3.ACTIVES)).filter(function (elem) { + if (typeof _this._config.parent === 'string') { + return elem.getAttribute('data-parent') === _this._config.parent; + } + + return elem.classList.contains(ClassName$3.COLLAPSE); + }); + + if (actives.length === 0) { + actives = null; + } + } + + if (actives) { + activesData = $(actives).not(this._selector).data(DATA_KEY$3); + + if (activesData && activesData._isTransitioning) { + return; + } + } + + var startEvent = $.Event(Event$3.SHOW); + $(this._element).trigger(startEvent); + + if (startEvent.isDefaultPrevented()) { + return; + } + + if (actives) { + Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide'); + + if (!activesData) { + $(actives).data(DATA_KEY$3, null); + } + } + + var dimension = this._getDimension(); + + $(this._element).removeClass(ClassName$3.COLLAPSE).addClass(ClassName$3.COLLAPSING); + this._element.style[dimension] = 0; + + if (this._triggerArray.length) { + $(this._triggerArray).removeClass(ClassName$3.COLLAPSED).attr('aria-expanded', true); + } + + this.setTransitioning(true); + + var complete = function complete() { + $(_this._element).removeClass(ClassName$3.COLLAPSING).addClass(ClassName$3.COLLAPSE).addClass(ClassName$3.SHOW); + _this._element.style[dimension] = ''; + + _this.setTransitioning(false); + + $(_this._element).trigger(Event$3.SHOWN); + }; + + var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); + var scrollSize = "scroll" + capitalizedDimension; + var transitionDuration = Util.getTransitionDurationFromElement(this._element); + $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + this._element.style[dimension] = this._element[scrollSize] + "px"; + }; + + _proto.hide = function hide() { + var _this2 = this; + + if (this._isTransitioning || !$(this._element).hasClass(ClassName$3.SHOW)) { + return; + } + + var startEvent = $.Event(Event$3.HIDE); + $(this._element).trigger(startEvent); + + if (startEvent.isDefaultPrevented()) { + return; + } + + var dimension = this._getDimension(); + + this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px"; + Util.reflow(this._element); + $(this._element).addClass(ClassName$3.COLLAPSING).removeClass(ClassName$3.COLLAPSE).removeClass(ClassName$3.SHOW); + var triggerArrayLength = this._triggerArray.length; + + if (triggerArrayLength > 0) { + for (var i = 0; i < triggerArrayLength; i++) { + var trigger = this._triggerArray[i]; + var selector = Util.getSelectorFromElement(trigger); + + if (selector !== null) { + var $elem = $([].slice.call(document.querySelectorAll(selector))); + + if (!$elem.hasClass(ClassName$3.SHOW)) { + $(trigger).addClass(ClassName$3.COLLAPSED).attr('aria-expanded', false); + } + } + } + } + + this.setTransitioning(true); + + var complete = function complete() { + _this2.setTransitioning(false); + + $(_this2._element).removeClass(ClassName$3.COLLAPSING).addClass(ClassName$3.COLLAPSE).trigger(Event$3.HIDDEN); + }; + + this._element.style[dimension] = ''; + var transitionDuration = Util.getTransitionDurationFromElement(this._element); + $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + }; + + _proto.setTransitioning = function setTransitioning(isTransitioning) { + this._isTransitioning = isTransitioning; + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY$3); + this._config = null; + this._parent = null; + this._element = null; + this._triggerArray = null; + this._isTransitioning = null; + } // Private + ; + + _proto._getConfig = function _getConfig(config) { + config = _objectSpread2({}, Default$1, {}, config); + config.toggle = Boolean(config.toggle); // Coerce string values + + Util.typeCheckConfig(NAME$3, config, DefaultType$1); + return config; + }; + + _proto._getDimension = function _getDimension() { + var hasWidth = $(this._element).hasClass(Dimension.WIDTH); + return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT; + }; + + _proto._getParent = function _getParent() { + var _this3 = this; + + var parent; + + if (Util.isElement(this._config.parent)) { + parent = this._config.parent; // It's a jQuery object + + if (typeof this._config.parent.jquery !== 'undefined') { + parent = this._config.parent[0]; + } + } else { + parent = document.querySelector(this._config.parent); + } + + var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]"; + var children = [].slice.call(parent.querySelectorAll(selector)); + $(children).each(function (i, element) { + _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]); + }); + return parent; + }; + + _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) { + var isOpen = $(element).hasClass(ClassName$3.SHOW); + + if (triggerArray.length) { + $(triggerArray).toggleClass(ClassName$3.COLLAPSED, !isOpen).attr('aria-expanded', isOpen); + } + } // Static + ; + + Collapse._getTargetFromElement = function _getTargetFromElement(element) { + var selector = Util.getSelectorFromElement(element); + return selector ? document.querySelector(selector) : null; + }; + + Collapse._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var $this = $(this); + var data = $this.data(DATA_KEY$3); + + var _config = _objectSpread2({}, Default$1, {}, $this.data(), {}, typeof config === 'object' && config ? config : {}); + + if (!data && _config.toggle && /show|hide/.test(config)) { + _config.toggle = false; + } + + if (!data) { + data = new Collapse(this, _config); + $this.data(DATA_KEY$3, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + _createClass(Collapse, null, [{ + key: "VERSION", + get: function get() { + return VERSION$3; + } + }, { + key: "Default", + get: function get() { + return Default$1; + } + }]); + + return Collapse; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event$3.CLICK_DATA_API, Selector$3.DATA_TOGGLE, function (event) { + // preventDefault only for elements (which change the URL) not inside the collapsible element + if (event.currentTarget.tagName === 'A') { + event.preventDefault(); + } + + var $trigger = $(this); + var selector = Util.getSelectorFromElement(this); + var selectors = [].slice.call(document.querySelectorAll(selector)); + $(selectors).each(function () { + var $target = $(this); + var data = $target.data(DATA_KEY$3); + var config = data ? 'toggle' : $trigger.data(); + + Collapse._jQueryInterface.call($target, config); + }); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME$3] = Collapse._jQueryInterface; + $.fn[NAME$3].Constructor = Collapse; + + $.fn[NAME$3].noConflict = function () { + $.fn[NAME$3] = JQUERY_NO_CONFLICT$3; + return Collapse._jQueryInterface; + }; + + /**! + * @fileOverview Kickass library to create and place poppers near their reference elements. + * @version 1.16.0 + * @license + * Copyright (c) 2016 Federico Zivolo and contributors + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined'; + + var timeoutDuration = function () { + var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox']; + for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) { + if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) { + return 1; + } + } + return 0; + }(); + + function microtaskDebounce(fn) { + var called = false; + return function () { + if (called) { + return; + } + called = true; + window.Promise.resolve().then(function () { + called = false; + fn(); + }); + }; + } + + function taskDebounce(fn) { + var scheduled = false; + return function () { + if (!scheduled) { + scheduled = true; + setTimeout(function () { + scheduled = false; + fn(); + }, timeoutDuration); + } + }; + } + + var supportsMicroTasks = isBrowser && window.Promise; + + /** + * Create a debounced version of a method, that's asynchronously deferred + * but called in the minimum time possible. + * + * @method + * @memberof Popper.Utils + * @argument {Function} fn + * @returns {Function} + */ + var debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce; + + /** + * Check if the given variable is a function + * @method + * @memberof Popper.Utils + * @argument {Any} functionToCheck - variable to check + * @returns {Boolean} answer to: is a function? + */ + function isFunction(functionToCheck) { + var getType = {}; + return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]'; + } + + /** + * Get CSS computed property of the given element + * @method + * @memberof Popper.Utils + * @argument {Eement} element + * @argument {String} property + */ + function getStyleComputedProperty(element, property) { + if (element.nodeType !== 1) { + return []; + } + // NOTE: 1 DOM access here + var window = element.ownerDocument.defaultView; + var css = window.getComputedStyle(element, null); + return property ? css[property] : css; + } + + /** + * Returns the parentNode or the host of the element + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Element} parent + */ + function getParentNode(element) { + if (element.nodeName === 'HTML') { + return element; + } + return element.parentNode || element.host; + } + + /** + * Returns the scrolling parent of the given element + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Element} scroll parent + */ + function getScrollParent(element) { + // Return body, `getScroll` will take care to get the correct `scrollTop` from it + if (!element) { + return document.body; + } + + switch (element.nodeName) { + case 'HTML': + case 'BODY': + return element.ownerDocument.body; + case '#document': + return element.body; + } + + // Firefox want us to check `-x` and `-y` variations as well + + var _getStyleComputedProp = getStyleComputedProperty(element), + overflow = _getStyleComputedProp.overflow, + overflowX = _getStyleComputedProp.overflowX, + overflowY = _getStyleComputedProp.overflowY; + + if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) { + return element; + } + + return getScrollParent(getParentNode(element)); + } + + /** + * Returns the reference node of the reference object, or the reference object itself. + * @method + * @memberof Popper.Utils + * @param {Element|Object} reference - the reference element (the popper will be relative to this) + * @returns {Element} parent + */ + function getReferenceNode(reference) { + return reference && reference.referenceNode ? reference.referenceNode : reference; + } + + var isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode); + var isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent); + + /** + * Determines if the browser is Internet Explorer + * @method + * @memberof Popper.Utils + * @param {Number} version to check + * @returns {Boolean} isIE + */ + function isIE(version) { + if (version === 11) { + return isIE11; + } + if (version === 10) { + return isIE10; + } + return isIE11 || isIE10; + } + + /** + * Returns the offset parent of the given element + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Element} offset parent + */ + function getOffsetParent(element) { + if (!element) { + return document.documentElement; + } + + var noOffsetParent = isIE(10) ? document.body : null; + + // NOTE: 1 DOM access here + var offsetParent = element.offsetParent || null; + // Skip hidden elements which don't have an offsetParent + while (offsetParent === noOffsetParent && element.nextElementSibling) { + offsetParent = (element = element.nextElementSibling).offsetParent; + } + + var nodeName = offsetParent && offsetParent.nodeName; + + if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') { + return element ? element.ownerDocument.documentElement : document.documentElement; + } + + // .offsetParent will return the closest TH, TD or TABLE in case + // no offsetParent is present, I hate this job... + if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') { + return getOffsetParent(offsetParent); + } + + return offsetParent; + } + + function isOffsetContainer(element) { + var nodeName = element.nodeName; + + if (nodeName === 'BODY') { + return false; + } + return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element; + } + + /** + * Finds the root node (document, shadowDOM root) of the given element + * @method + * @memberof Popper.Utils + * @argument {Element} node + * @returns {Element} root node + */ + function getRoot(node) { + if (node.parentNode !== null) { + return getRoot(node.parentNode); + } + + return node; + } + + /** + * Finds the offset parent common to the two provided nodes + * @method + * @memberof Popper.Utils + * @argument {Element} element1 + * @argument {Element} element2 + * @returns {Element} common offset parent + */ + function findCommonOffsetParent(element1, element2) { + // This check is needed to avoid errors in case one of the elements isn't defined for any reason + if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) { + return document.documentElement; + } + + // Here we make sure to give as "start" the element that comes first in the DOM + var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING; + var start = order ? element1 : element2; + var end = order ? element2 : element1; + + // Get common ancestor container + var range = document.createRange(); + range.setStart(start, 0); + range.setEnd(end, 0); + var commonAncestorContainer = range.commonAncestorContainer; + + // Both nodes are inside #document + + if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) { + if (isOffsetContainer(commonAncestorContainer)) { + return commonAncestorContainer; + } + + return getOffsetParent(commonAncestorContainer); + } + + // one of the nodes is inside shadowDOM, find which one + var element1root = getRoot(element1); + if (element1root.host) { + return findCommonOffsetParent(element1root.host, element2); + } else { + return findCommonOffsetParent(element1, getRoot(element2).host); + } + } + + /** + * Gets the scroll value of the given element in the given side (top and left) + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @argument {String} side `top` or `left` + * @returns {number} amount of scrolled pixels + */ + function getScroll(element) { + var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top'; + + var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft'; + var nodeName = element.nodeName; + + if (nodeName === 'BODY' || nodeName === 'HTML') { + var html = element.ownerDocument.documentElement; + var scrollingElement = element.ownerDocument.scrollingElement || html; + return scrollingElement[upperSide]; + } + + return element[upperSide]; + } + + /* + * Sum or subtract the element scroll values (left and top) from a given rect object + * @method + * @memberof Popper.Utils + * @param {Object} rect - Rect object you want to change + * @param {HTMLElement} element - The element from the function reads the scroll values + * @param {Boolean} subtract - set to true if you want to subtract the scroll values + * @return {Object} rect - The modifier rect object + */ + function includeScroll(rect, element) { + var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + var scrollTop = getScroll(element, 'top'); + var scrollLeft = getScroll(element, 'left'); + var modifier = subtract ? -1 : 1; + rect.top += scrollTop * modifier; + rect.bottom += scrollTop * modifier; + rect.left += scrollLeft * modifier; + rect.right += scrollLeft * modifier; + return rect; + } + + /* + * Helper to detect borders of a given element + * @method + * @memberof Popper.Utils + * @param {CSSStyleDeclaration} styles + * Result of `getStyleComputedProperty` on the given element + * @param {String} axis - `x` or `y` + * @return {number} borders - The borders size of the given axis + */ + + function getBordersSize(styles, axis) { + var sideA = axis === 'x' ? 'Left' : 'Top'; + var sideB = sideA === 'Left' ? 'Right' : 'Bottom'; + + return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10); + } + + function getSize(axis, body, html, computedStyle) { + return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0); + } + + function getWindowSizes(document) { + var body = document.body; + var html = document.documentElement; + var computedStyle = isIE(10) && getComputedStyle(html); + + return { + height: getSize('Height', body, html, computedStyle), + width: getSize('Width', body, html, computedStyle) + }; + } + + var classCallCheck = function (instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + }; + + var createClass = function () { + function defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + return function (Constructor, protoProps, staticProps) { + if (protoProps) defineProperties(Constructor.prototype, protoProps); + if (staticProps) defineProperties(Constructor, staticProps); + return Constructor; + }; + }(); + + + + + + var defineProperty = function (obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; + }; + + var _extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; + }; + + /** + * Given element offsets, generate an output similar to getBoundingClientRect + * @method + * @memberof Popper.Utils + * @argument {Object} offsets + * @returns {Object} ClientRect like output + */ + function getClientRect(offsets) { + return _extends({}, offsets, { + right: offsets.left + offsets.width, + bottom: offsets.top + offsets.height + }); + } + + /** + * Get bounding client rect of given element + * @method + * @memberof Popper.Utils + * @param {HTMLElement} element + * @return {Object} client rect + */ + function getBoundingClientRect(element) { + var rect = {}; + + // IE10 10 FIX: Please, don't ask, the element isn't + // considered in DOM in some circumstances... + // This isn't reproducible in IE10 compatibility mode of IE11 + try { + if (isIE(10)) { + rect = element.getBoundingClientRect(); + var scrollTop = getScroll(element, 'top'); + var scrollLeft = getScroll(element, 'left'); + rect.top += scrollTop; + rect.left += scrollLeft; + rect.bottom += scrollTop; + rect.right += scrollLeft; + } else { + rect = element.getBoundingClientRect(); + } + } catch (e) {} + + var result = { + left: rect.left, + top: rect.top, + width: rect.right - rect.left, + height: rect.bottom - rect.top + }; + + // subtract scrollbar size from sizes + var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {}; + var width = sizes.width || element.clientWidth || result.width; + var height = sizes.height || element.clientHeight || result.height; + + var horizScrollbar = element.offsetWidth - width; + var vertScrollbar = element.offsetHeight - height; + + // if an hypothetical scrollbar is detected, we must be sure it's not a `border` + // we make this check conditional for performance reasons + if (horizScrollbar || vertScrollbar) { + var styles = getStyleComputedProperty(element); + horizScrollbar -= getBordersSize(styles, 'x'); + vertScrollbar -= getBordersSize(styles, 'y'); + + result.width -= horizScrollbar; + result.height -= vertScrollbar; + } + + return getClientRect(result); + } + + function getOffsetRectRelativeToArbitraryNode(children, parent) { + var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + var isIE10 = isIE(10); + var isHTML = parent.nodeName === 'HTML'; + var childrenRect = getBoundingClientRect(children); + var parentRect = getBoundingClientRect(parent); + var scrollParent = getScrollParent(children); + + var styles = getStyleComputedProperty(parent); + var borderTopWidth = parseFloat(styles.borderTopWidth, 10); + var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10); + + // In cases where the parent is fixed, we must ignore negative scroll in offset calc + if (fixedPosition && isHTML) { + parentRect.top = Math.max(parentRect.top, 0); + parentRect.left = Math.max(parentRect.left, 0); + } + var offsets = getClientRect({ + top: childrenRect.top - parentRect.top - borderTopWidth, + left: childrenRect.left - parentRect.left - borderLeftWidth, + width: childrenRect.width, + height: childrenRect.height + }); + offsets.marginTop = 0; + offsets.marginLeft = 0; + + // Subtract margins of documentElement in case it's being used as parent + // we do this only on HTML because it's the only element that behaves + // differently when margins are applied to it. The margins are included in + // the box of the documentElement, in the other cases not. + if (!isIE10 && isHTML) { + var marginTop = parseFloat(styles.marginTop, 10); + var marginLeft = parseFloat(styles.marginLeft, 10); + + offsets.top -= borderTopWidth - marginTop; + offsets.bottom -= borderTopWidth - marginTop; + offsets.left -= borderLeftWidth - marginLeft; + offsets.right -= borderLeftWidth - marginLeft; + + // Attach marginTop and marginLeft because in some circumstances we may need them + offsets.marginTop = marginTop; + offsets.marginLeft = marginLeft; + } + + if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') { + offsets = includeScroll(offsets, parent); + } + + return offsets; + } + + function getViewportOffsetRectRelativeToArtbitraryNode(element) { + var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + var html = element.ownerDocument.documentElement; + var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html); + var width = Math.max(html.clientWidth, window.innerWidth || 0); + var height = Math.max(html.clientHeight, window.innerHeight || 0); + + var scrollTop = !excludeScroll ? getScroll(html) : 0; + var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0; + + var offset = { + top: scrollTop - relativeOffset.top + relativeOffset.marginTop, + left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft, + width: width, + height: height + }; + + return getClientRect(offset); + } + + /** + * Check if the given element is fixed or is inside a fixed parent + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @argument {Element} customContainer + * @returns {Boolean} answer to "isFixed?" + */ + function isFixed(element) { + var nodeName = element.nodeName; + if (nodeName === 'BODY' || nodeName === 'HTML') { + return false; + } + if (getStyleComputedProperty(element, 'position') === 'fixed') { + return true; + } + var parentNode = getParentNode(element); + if (!parentNode) { + return false; + } + return isFixed(parentNode); + } + + /** + * Finds the first parent of an element that has a transformed property defined + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Element} first transformed parent or documentElement + */ + + function getFixedPositionOffsetParent(element) { + // This check is needed to avoid errors in case one of the elements isn't defined for any reason + if (!element || !element.parentElement || isIE()) { + return document.documentElement; + } + var el = element.parentElement; + while (el && getStyleComputedProperty(el, 'transform') === 'none') { + el = el.parentElement; + } + return el || document.documentElement; + } + + /** + * Computed the boundaries limits and return them + * @method + * @memberof Popper.Utils + * @param {HTMLElement} popper + * @param {HTMLElement} reference + * @param {number} padding + * @param {HTMLElement} boundariesElement - Element used to define the boundaries + * @param {Boolean} fixedPosition - Is in fixed position mode + * @returns {Object} Coordinates of the boundaries + */ + function getBoundaries(popper, reference, padding, boundariesElement) { + var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; + + // NOTE: 1 DOM access here + + var boundaries = { top: 0, left: 0 }; + var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference)); + + // Handle viewport case + if (boundariesElement === 'viewport') { + boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition); + } else { + // Handle other cases based on DOM element used as boundaries + var boundariesNode = void 0; + if (boundariesElement === 'scrollParent') { + boundariesNode = getScrollParent(getParentNode(reference)); + if (boundariesNode.nodeName === 'BODY') { + boundariesNode = popper.ownerDocument.documentElement; + } + } else if (boundariesElement === 'window') { + boundariesNode = popper.ownerDocument.documentElement; + } else { + boundariesNode = boundariesElement; + } + + var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition); + + // In case of HTML, we need a different computation + if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) { + var _getWindowSizes = getWindowSizes(popper.ownerDocument), + height = _getWindowSizes.height, + width = _getWindowSizes.width; + + boundaries.top += offsets.top - offsets.marginTop; + boundaries.bottom = height + offsets.top; + boundaries.left += offsets.left - offsets.marginLeft; + boundaries.right = width + offsets.left; + } else { + // for all the other DOM elements, this one is good + boundaries = offsets; + } + } + + // Add paddings + padding = padding || 0; + var isPaddingNumber = typeof padding === 'number'; + boundaries.left += isPaddingNumber ? padding : padding.left || 0; + boundaries.top += isPaddingNumber ? padding : padding.top || 0; + boundaries.right -= isPaddingNumber ? padding : padding.right || 0; + boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; + + return boundaries; + } + + function getArea(_ref) { + var width = _ref.width, + height = _ref.height; + + return width * height; + } + + /** + * Utility used to transform the `auto` placement to the placement with more + * available space. + * @method + * @memberof Popper.Utils + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) { + var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0; + + if (placement.indexOf('auto') === -1) { + return placement; + } + + var boundaries = getBoundaries(popper, reference, padding, boundariesElement); + + var rects = { + top: { + width: boundaries.width, + height: refRect.top - boundaries.top + }, + right: { + width: boundaries.right - refRect.right, + height: boundaries.height + }, + bottom: { + width: boundaries.width, + height: boundaries.bottom - refRect.bottom + }, + left: { + width: refRect.left - boundaries.left, + height: boundaries.height + } + }; + + var sortedAreas = Object.keys(rects).map(function (key) { + return _extends({ + key: key + }, rects[key], { + area: getArea(rects[key]) + }); + }).sort(function (a, b) { + return b.area - a.area; + }); + + var filteredAreas = sortedAreas.filter(function (_ref2) { + var width = _ref2.width, + height = _ref2.height; + return width >= popper.clientWidth && height >= popper.clientHeight; + }); + + var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key; + + var variation = placement.split('-')[1]; + + return computedPlacement + (variation ? '-' + variation : ''); + } + + /** + * Get offsets to the reference element + * @method + * @memberof Popper.Utils + * @param {Object} state + * @param {Element} popper - the popper element + * @param {Element} reference - the reference element (the popper will be relative to this) + * @param {Element} fixedPosition - is in fixed position mode + * @returns {Object} An object containing the offsets which will be applied to the popper + */ + function getReferenceOffsets(state, popper, reference) { + var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; + + var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference)); + return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition); + } + + /** + * Get the outer sizes of the given element (offset size + margins) + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Object} object containing width and height properties + */ + function getOuterSizes(element) { + var window = element.ownerDocument.defaultView; + var styles = window.getComputedStyle(element); + var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0); + var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0); + var result = { + width: element.offsetWidth + y, + height: element.offsetHeight + x + }; + return result; + } + + /** + * Get the opposite placement of the given one + * @method + * @memberof Popper.Utils + * @argument {String} placement + * @returns {String} flipped placement + */ + function getOppositePlacement(placement) { + var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' }; + return placement.replace(/left|right|bottom|top/g, function (matched) { + return hash[matched]; + }); + } + + /** + * Get offsets to the popper + * @method + * @memberof Popper.Utils + * @param {Object} position - CSS position the Popper will get applied + * @param {HTMLElement} popper - the popper element + * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this) + * @param {String} placement - one of the valid placement options + * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper + */ + function getPopperOffsets(popper, referenceOffsets, placement) { + placement = placement.split('-')[0]; + + // Get popper node sizes + var popperRect = getOuterSizes(popper); + + // Add position, width and height to our offsets object + var popperOffsets = { + width: popperRect.width, + height: popperRect.height + }; + + // depending by the popper placement we have to compute its offsets slightly differently + var isHoriz = ['right', 'left'].indexOf(placement) !== -1; + var mainSide = isHoriz ? 'top' : 'left'; + var secondarySide = isHoriz ? 'left' : 'top'; + var measurement = isHoriz ? 'height' : 'width'; + var secondaryMeasurement = !isHoriz ? 'height' : 'width'; + + popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2; + if (placement === secondarySide) { + popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement]; + } else { + popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)]; + } + + return popperOffsets; + } + + /** + * Mimics the `find` method of Array + * @method + * @memberof Popper.Utils + * @argument {Array} arr + * @argument prop + * @argument value + * @returns index or -1 + */ + function find(arr, check) { + // use native find if supported + if (Array.prototype.find) { + return arr.find(check); + } + + // use `filter` to obtain the same behavior of `find` + return arr.filter(check)[0]; + } + + /** + * Return the index of the matching object + * @method + * @memberof Popper.Utils + * @argument {Array} arr + * @argument prop + * @argument value + * @returns index or -1 + */ + function findIndex(arr, prop, value) { + // use native findIndex if supported + if (Array.prototype.findIndex) { + return arr.findIndex(function (cur) { + return cur[prop] === value; + }); + } + + // use `find` + `indexOf` if `findIndex` isn't supported + var match = find(arr, function (obj) { + return obj[prop] === value; + }); + return arr.indexOf(match); + } + + /** + * Loop trough the list of modifiers and run them in order, + * each of them will then edit the data object. + * @method + * @memberof Popper.Utils + * @param {dataObject} data + * @param {Array} modifiers + * @param {String} ends - Optional modifier name used as stopper + * @returns {dataObject} + */ + function runModifiers(modifiers, data, ends) { + var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends)); + + modifiersToRun.forEach(function (modifier) { + if (modifier['function']) { + // eslint-disable-line dot-notation + console.warn('`modifier.function` is deprecated, use `modifier.fn`!'); + } + var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation + if (modifier.enabled && isFunction(fn)) { + // Add properties to offsets to make them a complete clientRect object + // we do this before each modifier to make sure the previous one doesn't + // mess with these values + data.offsets.popper = getClientRect(data.offsets.popper); + data.offsets.reference = getClientRect(data.offsets.reference); + + data = fn(data, modifier); + } + }); + + return data; + } + + /** + * Updates the position of the popper, computing the new offsets and applying + * the new style.
      + * Prefer `scheduleUpdate` over `update` because of performance reasons. + * @method + * @memberof Popper + */ + function update() { + // if popper is destroyed, don't perform any further update + if (this.state.isDestroyed) { + return; + } + + var data = { + instance: this, + styles: {}, + arrowStyles: {}, + attributes: {}, + flipped: false, + offsets: {} + }; + + // compute reference element offsets + data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed); + + // compute auto placement, store placement inside the data object, + // modifiers will be able to edit `placement` if needed + // and refer to originalPlacement to know the original value + data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding); + + // store the computed placement inside `originalPlacement` + data.originalPlacement = data.placement; + + data.positionFixed = this.options.positionFixed; + + // compute the popper offsets + data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement); + + data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute'; + + // run the modifiers + data = runModifiers(this.modifiers, data); + + // the first `update` will call `onCreate` callback + // the other ones will call `onUpdate` callback + if (!this.state.isCreated) { + this.state.isCreated = true; + this.options.onCreate(data); + } else { + this.options.onUpdate(data); + } + } + + /** + * Helper used to know if the given modifier is enabled. + * @method + * @memberof Popper.Utils + * @returns {Boolean} + */ + function isModifierEnabled(modifiers, modifierName) { + return modifiers.some(function (_ref) { + var name = _ref.name, + enabled = _ref.enabled; + return enabled && name === modifierName; + }); + } + + /** + * Get the prefixed supported property name + * @method + * @memberof Popper.Utils + * @argument {String} property (camelCase) + * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix) + */ + function getSupportedPropertyName(property) { + var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O']; + var upperProp = property.charAt(0).toUpperCase() + property.slice(1); + + for (var i = 0; i < prefixes.length; i++) { + var prefix = prefixes[i]; + var toCheck = prefix ? '' + prefix + upperProp : property; + if (typeof document.body.style[toCheck] !== 'undefined') { + return toCheck; + } + } + return null; + } + + /** + * Destroys the popper. + * @method + * @memberof Popper + */ + function destroy() { + this.state.isDestroyed = true; + + // touch DOM only if `applyStyle` modifier is enabled + if (isModifierEnabled(this.modifiers, 'applyStyle')) { + this.popper.removeAttribute('x-placement'); + this.popper.style.position = ''; + this.popper.style.top = ''; + this.popper.style.left = ''; + this.popper.style.right = ''; + this.popper.style.bottom = ''; + this.popper.style.willChange = ''; + this.popper.style[getSupportedPropertyName('transform')] = ''; + } + + this.disableEventListeners(); + + // remove the popper if user explicitly asked for the deletion on destroy + // do not use `remove` because IE11 doesn't support it + if (this.options.removeOnDestroy) { + this.popper.parentNode.removeChild(this.popper); + } + return this; + } + + /** + * Get the window associated with the element + * @argument {Element} element + * @returns {Window} + */ + function getWindow(element) { + var ownerDocument = element.ownerDocument; + return ownerDocument ? ownerDocument.defaultView : window; + } + + function attachToScrollParents(scrollParent, event, callback, scrollParents) { + var isBody = scrollParent.nodeName === 'BODY'; + var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent; + target.addEventListener(event, callback, { passive: true }); + + if (!isBody) { + attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents); + } + scrollParents.push(target); + } + + /** + * Setup needed event listeners used to update the popper position + * @method + * @memberof Popper.Utils + * @private + */ + function setupEventListeners(reference, options, state, updateBound) { + // Resize event listener on window + state.updateBound = updateBound; + getWindow(reference).addEventListener('resize', state.updateBound, { passive: true }); + + // Scroll event listener on scroll parents + var scrollElement = getScrollParent(reference); + attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents); + state.scrollElement = scrollElement; + state.eventsEnabled = true; + + return state; + } + + /** + * It will add resize/scroll events and start recalculating + * position of the popper element when they are triggered. + * @method + * @memberof Popper + */ + function enableEventListeners() { + if (!this.state.eventsEnabled) { + this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate); + } + } + + /** + * Remove event listeners used to update the popper position + * @method + * @memberof Popper.Utils + * @private + */ + function removeEventListeners(reference, state) { + // Remove resize event listener on window + getWindow(reference).removeEventListener('resize', state.updateBound); + + // Remove scroll event listener on scroll parents + state.scrollParents.forEach(function (target) { + target.removeEventListener('scroll', state.updateBound); + }); + + // Reset state + state.updateBound = null; + state.scrollParents = []; + state.scrollElement = null; + state.eventsEnabled = false; + return state; + } + + /** + * It will remove resize/scroll events and won't recalculate popper position + * when they are triggered. It also won't trigger `onUpdate` callback anymore, + * unless you call `update` method manually. + * @method + * @memberof Popper + */ + function disableEventListeners() { + if (this.state.eventsEnabled) { + cancelAnimationFrame(this.scheduleUpdate); + this.state = removeEventListeners(this.reference, this.state); + } + } + + /** + * Tells if a given input is a number + * @method + * @memberof Popper.Utils + * @param {*} input to check + * @return {Boolean} + */ + function isNumeric(n) { + return n !== '' && !isNaN(parseFloat(n)) && isFinite(n); + } + + /** + * Set the style to the given popper + * @method + * @memberof Popper.Utils + * @argument {Element} element - Element to apply the style to + * @argument {Object} styles + * Object with a list of properties and values which will be applied to the element + */ + function setStyles(element, styles) { + Object.keys(styles).forEach(function (prop) { + var unit = ''; + // add unit if the value is numeric and is one of the following + if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) { + unit = 'px'; + } + element.style[prop] = styles[prop] + unit; + }); + } + + /** + * Set the attributes to the given popper + * @method + * @memberof Popper.Utils + * @argument {Element} element - Element to apply the attributes to + * @argument {Object} styles + * Object with a list of properties and values which will be applied to the element + */ + function setAttributes(element, attributes) { + Object.keys(attributes).forEach(function (prop) { + var value = attributes[prop]; + if (value !== false) { + element.setAttribute(prop, attributes[prop]); + } else { + element.removeAttribute(prop); + } + }); + } + + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} data.styles - List of style properties - values to apply to popper element + * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The same data object + */ + function applyStyle(data) { + // any property present in `data.styles` will be applied to the popper, + // in this way we can make the 3rd party modifiers add custom styles to it + // Be aware, modifiers could override the properties defined in the previous + // lines of this modifier! + setStyles(data.instance.popper, data.styles); + + // any property present in `data.attributes` will be applied to the popper, + // they will be set as HTML attributes of the element + setAttributes(data.instance.popper, data.attributes); + + // if arrowElement is defined and arrowStyles has some properties + if (data.arrowElement && Object.keys(data.arrowStyles).length) { + setStyles(data.arrowElement, data.arrowStyles); + } + + return data; + } + + /** + * Set the x-placement attribute before everything else because it could be used + * to add margins to the popper margins needs to be calculated to get the + * correct popper offsets. + * @method + * @memberof Popper.modifiers + * @param {HTMLElement} reference - The reference element used to position the popper + * @param {HTMLElement} popper - The HTML element used as popper + * @param {Object} options - Popper.js options + */ + function applyStyleOnLoad(reference, popper, options, modifierOptions, state) { + // compute reference element offsets + var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed); + + // compute auto placement, store placement inside the data object, + // modifiers will be able to edit `placement` if needed + // and refer to originalPlacement to know the original value + var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding); + + popper.setAttribute('x-placement', placement); + + // Apply `position` to popper before anything else because + // without the position applied we can't guarantee correct computations + setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' }); + + return options; + } + + /** + * @function + * @memberof Popper.Utils + * @argument {Object} data - The data object generated by `update` method + * @argument {Boolean} shouldRound - If the offsets should be rounded at all + * @returns {Object} The popper's position offsets rounded + * + * The tale of pixel-perfect positioning. It's still not 100% perfect, but as + * good as it can be within reason. + * Discussion here: https://github.com/FezVrasta/popper.js/pull/715 + * + * Low DPI screens cause a popper to be blurry if not using full pixels (Safari + * as well on High DPI screens). + * + * Firefox prefers no rounding for positioning and does not have blurriness on + * high DPI screens. + * + * Only horizontal placement and left/right values need to be considered. + */ + function getRoundedOffsets(data, shouldRound) { + var _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + var round = Math.round, + floor = Math.floor; + + var noRound = function noRound(v) { + return v; + }; + + var referenceWidth = round(reference.width); + var popperWidth = round(popper.width); + + var isVertical = ['left', 'right'].indexOf(data.placement) !== -1; + var isVariation = data.placement.indexOf('-') !== -1; + var sameWidthParity = referenceWidth % 2 === popperWidth % 2; + var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1; + + var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor; + var verticalToInteger = !shouldRound ? noRound : round; + + return { + left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left), + top: verticalToInteger(popper.top), + bottom: verticalToInteger(popper.bottom), + right: horizontalToInteger(popper.right) + }; + } + + var isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent); + + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function computeStyle(data, options) { + var x = options.x, + y = options.y; + var popper = data.offsets.popper; + + // Remove this legacy support in Popper.js v2 + + var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) { + return modifier.name === 'applyStyle'; + }).gpuAcceleration; + if (legacyGpuAccelerationOption !== undefined) { + console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'); + } + var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration; + + var offsetParent = getOffsetParent(data.instance.popper); + var offsetParentRect = getBoundingClientRect(offsetParent); + + // Styles + var styles = { + position: popper.position + }; + + var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox); + + var sideA = x === 'bottom' ? 'top' : 'bottom'; + var sideB = y === 'right' ? 'left' : 'right'; + + // if gpuAcceleration is set to `true` and transform is supported, + // we use `translate3d` to apply the position to the popper we + // automatically use the supported prefixed version if needed + var prefixedProperty = getSupportedPropertyName('transform'); + + // now, let's make a step back and look at this code closely (wtf?) + // If the content of the popper grows once it's been positioned, it + // may happen that the popper gets misplaced because of the new content + // overflowing its reference element + // To avoid this problem, we provide two options (x and y), which allow + // the consumer to define the offset origin. + // If we position a popper on top of a reference element, we can set + // `x` to `top` to make the popper grow towards its top instead of + // its bottom. + var left = void 0, + top = void 0; + if (sideA === 'bottom') { + // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar) + // and not the bottom of the html element + if (offsetParent.nodeName === 'HTML') { + top = -offsetParent.clientHeight + offsets.bottom; + } else { + top = -offsetParentRect.height + offsets.bottom; + } + } else { + top = offsets.top; + } + if (sideB === 'right') { + if (offsetParent.nodeName === 'HTML') { + left = -offsetParent.clientWidth + offsets.right; + } else { + left = -offsetParentRect.width + offsets.right; + } + } else { + left = offsets.left; + } + if (gpuAcceleration && prefixedProperty) { + styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)'; + styles[sideA] = 0; + styles[sideB] = 0; + styles.willChange = 'transform'; + } else { + // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties + var invertTop = sideA === 'bottom' ? -1 : 1; + var invertLeft = sideB === 'right' ? -1 : 1; + styles[sideA] = top * invertTop; + styles[sideB] = left * invertLeft; + styles.willChange = sideA + ', ' + sideB; + } + + // Attributes + var attributes = { + 'x-placement': data.placement + }; + + // Update `data` attributes, styles and arrowStyles + data.attributes = _extends({}, attributes, data.attributes); + data.styles = _extends({}, styles, data.styles); + data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles); + + return data; + } + + /** + * Helper used to know if the given modifier depends from another one.
      + * It checks if the needed modifier is listed and enabled. + * @method + * @memberof Popper.Utils + * @param {Array} modifiers - list of modifiers + * @param {String} requestingName - name of requesting modifier + * @param {String} requestedName - name of requested modifier + * @returns {Boolean} + */ + function isModifierRequired(modifiers, requestingName, requestedName) { + var requesting = find(modifiers, function (_ref) { + var name = _ref.name; + return name === requestingName; + }); + + var isRequired = !!requesting && modifiers.some(function (modifier) { + return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order; + }); + + if (!isRequired) { + var _requesting = '`' + requestingName + '`'; + var requested = '`' + requestedName + '`'; + console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!'); + } + return isRequired; + } + + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function arrow(data, options) { + var _data$offsets$arrow; + + // arrow depends on keepTogether in order to work + if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) { + return data; + } + + var arrowElement = options.element; + + // if arrowElement is a string, suppose it's a CSS selector + if (typeof arrowElement === 'string') { + arrowElement = data.instance.popper.querySelector(arrowElement); + + // if arrowElement is not found, don't run the modifier + if (!arrowElement) { + return data; + } + } else { + // if the arrowElement isn't a query selector we must check that the + // provided DOM node is child of its popper node + if (!data.instance.popper.contains(arrowElement)) { + console.warn('WARNING: `arrow.element` must be child of its popper element!'); + return data; + } + } + + var placement = data.placement.split('-')[0]; + var _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + + var isVertical = ['left', 'right'].indexOf(placement) !== -1; + + var len = isVertical ? 'height' : 'width'; + var sideCapitalized = isVertical ? 'Top' : 'Left'; + var side = sideCapitalized.toLowerCase(); + var altSide = isVertical ? 'left' : 'top'; + var opSide = isVertical ? 'bottom' : 'right'; + var arrowElementSize = getOuterSizes(arrowElement)[len]; + + // + // extends keepTogether behavior making sure the popper and its + // reference have enough pixels in conjunction + // + + // top/left side + if (reference[opSide] - arrowElementSize < popper[side]) { + data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize); + } + // bottom/right side + if (reference[side] + arrowElementSize > popper[opSide]) { + data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide]; + } + data.offsets.popper = getClientRect(data.offsets.popper); + + // compute center of the popper + var center = reference[side] + reference[len] / 2 - arrowElementSize / 2; + + // Compute the sideValue using the updated popper offsets + // take popper margin in account because we don't have this info available + var css = getStyleComputedProperty(data.instance.popper); + var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10); + var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10); + var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide; + + // prevent arrowElement from being placed not contiguously to its popper + sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0); + + data.arrowElement = arrowElement; + data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow); + + return data; + } + + /** + * Get the opposite placement variation of the given one + * @method + * @memberof Popper.Utils + * @argument {String} placement variation + * @returns {String} flipped placement variation + */ + function getOppositeVariation(variation) { + if (variation === 'end') { + return 'start'; + } else if (variation === 'start') { + return 'end'; + } + return variation; + } + + /** + * List of accepted placements to use as values of the `placement` option.
      + * Valid placements are: + * - `auto` + * - `top` + * - `right` + * - `bottom` + * - `left` + * + * Each placement can have a variation from this list: + * - `-start` + * - `-end` + * + * Variations are interpreted easily if you think of them as the left to right + * written languages. Horizontally (`top` and `bottom`), `start` is left and `end` + * is right.
      + * Vertically (`left` and `right`), `start` is top and `end` is bottom. + * + * Some valid examples are: + * - `top-end` (on top of reference, right aligned) + * - `right-start` (on right of reference, top aligned) + * - `bottom` (on bottom, centered) + * - `auto-end` (on the side with more space available, alignment depends by placement) + * + * @static + * @type {Array} + * @enum {String} + * @readonly + * @method placements + * @memberof Popper + */ + var placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start']; + + // Get rid of `auto` `auto-start` and `auto-end` + var validPlacements = placements.slice(3); + + /** + * Given an initial placement, returns all the subsequent placements + * clockwise (or counter-clockwise). + * + * @method + * @memberof Popper.Utils + * @argument {String} placement - A valid placement (it accepts variations) + * @argument {Boolean} counter - Set to true to walk the placements counterclockwise + * @returns {Array} placements including their variations + */ + function clockwise(placement) { + var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + var index = validPlacements.indexOf(placement); + var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index)); + return counter ? arr.reverse() : arr; + } + + var BEHAVIORS = { + FLIP: 'flip', + CLOCKWISE: 'clockwise', + COUNTERCLOCKWISE: 'counterclockwise' + }; + + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function flip(data, options) { + // if `inner` modifier is enabled, we can't use the `flip` modifier + if (isModifierEnabled(data.instance.modifiers, 'inner')) { + return data; + } + + if (data.flipped && data.placement === data.originalPlacement) { + // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides + return data; + } + + var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed); + + var placement = data.placement.split('-')[0]; + var placementOpposite = getOppositePlacement(placement); + var variation = data.placement.split('-')[1] || ''; + + var flipOrder = []; + + switch (options.behavior) { + case BEHAVIORS.FLIP: + flipOrder = [placement, placementOpposite]; + break; + case BEHAVIORS.CLOCKWISE: + flipOrder = clockwise(placement); + break; + case BEHAVIORS.COUNTERCLOCKWISE: + flipOrder = clockwise(placement, true); + break; + default: + flipOrder = options.behavior; + } + + flipOrder.forEach(function (step, index) { + if (placement !== step || flipOrder.length === index + 1) { + return data; + } + + placement = data.placement.split('-')[0]; + placementOpposite = getOppositePlacement(placement); + + var popperOffsets = data.offsets.popper; + var refOffsets = data.offsets.reference; + + // using floor because the reference offsets may contain decimals we are not going to consider here + var floor = Math.floor; + var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom); + + var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left); + var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right); + var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top); + var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom); + + var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom; + + // flip the variation if required + var isVertical = ['top', 'bottom'].indexOf(placement) !== -1; + + // flips variation if reference element overflows boundaries + var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom); + + // flips variation if popper content overflows boundaries + var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop); + + var flippedVariation = flippedVariationByRef || flippedVariationByContent; + + if (overlapsRef || overflowsBoundaries || flippedVariation) { + // this boolean to detect any flip loop + data.flipped = true; + + if (overlapsRef || overflowsBoundaries) { + placement = flipOrder[index + 1]; + } + + if (flippedVariation) { + variation = getOppositeVariation(variation); + } + + data.placement = placement + (variation ? '-' + variation : ''); + + // this object contains `position`, we want to preserve it along with + // any additional property we may add in the future + data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement)); + + data = runModifiers(data.instance.modifiers, data, 'flip'); + } + }); + return data; + } + + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function keepTogether(data) { + var _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + + var placement = data.placement.split('-')[0]; + var floor = Math.floor; + var isVertical = ['top', 'bottom'].indexOf(placement) !== -1; + var side = isVertical ? 'right' : 'bottom'; + var opSide = isVertical ? 'left' : 'top'; + var measurement = isVertical ? 'width' : 'height'; + + if (popper[side] < floor(reference[opSide])) { + data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement]; + } + if (popper[opSide] > floor(reference[side])) { + data.offsets.popper[opSide] = floor(reference[side]); + } + + return data; + } + + /** + * Converts a string containing value + unit into a px value number + * @function + * @memberof {modifiers~offset} + * @private + * @argument {String} str - Value + unit string + * @argument {String} measurement - `height` or `width` + * @argument {Object} popperOffsets + * @argument {Object} referenceOffsets + * @returns {Number|String} + * Value in pixels, or original string if no values were extracted + */ + function toValue(str, measurement, popperOffsets, referenceOffsets) { + // separate value from unit + var split = str.match(/((?:\-|\+)?\d*\.?\d*)(.*)/); + var value = +split[1]; + var unit = split[2]; + + // If it's not a number it's an operator, I guess + if (!value) { + return str; + } + + if (unit.indexOf('%') === 0) { + var element = void 0; + switch (unit) { + case '%p': + element = popperOffsets; + break; + case '%': + case '%r': + default: + element = referenceOffsets; + } + + var rect = getClientRect(element); + return rect[measurement] / 100 * value; + } else if (unit === 'vh' || unit === 'vw') { + // if is a vh or vw, we calculate the size based on the viewport + var size = void 0; + if (unit === 'vh') { + size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0); + } else { + size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0); + } + return size / 100 * value; + } else { + // if is an explicit pixel unit, we get rid of the unit and keep the value + // if is an implicit unit, it's px, and we return just the value + return value; + } + } + + /** + * Parse an `offset` string to extrapolate `x` and `y` numeric offsets. + * @function + * @memberof {modifiers~offset} + * @private + * @argument {String} offset + * @argument {Object} popperOffsets + * @argument {Object} referenceOffsets + * @argument {String} basePlacement + * @returns {Array} a two cells array with x and y offsets in numbers + */ + function parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) { + var offsets = [0, 0]; + + // Use height if placement is left or right and index is 0 otherwise use width + // in this way the first offset will use an axis and the second one + // will use the other one + var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1; + + // Split the offset string to obtain a list of values and operands + // The regex addresses values with the plus or minus sign in front (+10, -20, etc) + var fragments = offset.split(/(\+|\-)/).map(function (frag) { + return frag.trim(); + }); + + // Detect if the offset string contains a pair of values or a single one + // they could be separated by comma or space + var divider = fragments.indexOf(find(fragments, function (frag) { + return frag.search(/,|\s/) !== -1; + })); + + if (fragments[divider] && fragments[divider].indexOf(',') === -1) { + console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.'); + } + + // If divider is found, we divide the list of values and operands to divide + // them by ofset X and Y. + var splitRegex = /\s*,\s*|\s+/; + var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments]; + + // Convert the values with units to absolute pixels to allow our computations + ops = ops.map(function (op, index) { + // Most of the units rely on the orientation of the popper + var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width'; + var mergeWithPrevious = false; + return op + // This aggregates any `+` or `-` sign that aren't considered operators + // e.g.: 10 + +5 => [10, +, +5] + .reduce(function (a, b) { + if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) { + a[a.length - 1] = b; + mergeWithPrevious = true; + return a; + } else if (mergeWithPrevious) { + a[a.length - 1] += b; + mergeWithPrevious = false; + return a; + } else { + return a.concat(b); + } + }, []) + // Here we convert the string values into number values (in px) + .map(function (str) { + return toValue(str, measurement, popperOffsets, referenceOffsets); + }); + }); + + // Loop trough the offsets arrays and execute the operations + ops.forEach(function (op, index) { + op.forEach(function (frag, index2) { + if (isNumeric(frag)) { + offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1); + } + }); + }); + return offsets; + } + + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @argument {Number|String} options.offset=0 + * The offset value as described in the modifier description + * @returns {Object} The data object, properly modified + */ + function offset(data, _ref) { + var offset = _ref.offset; + var placement = data.placement, + _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + + var basePlacement = placement.split('-')[0]; + + var offsets = void 0; + if (isNumeric(+offset)) { + offsets = [+offset, 0]; + } else { + offsets = parseOffset(offset, popper, reference, basePlacement); + } + + if (basePlacement === 'left') { + popper.top += offsets[0]; + popper.left -= offsets[1]; + } else if (basePlacement === 'right') { + popper.top += offsets[0]; + popper.left += offsets[1]; + } else if (basePlacement === 'top') { + popper.left += offsets[0]; + popper.top -= offsets[1]; + } else if (basePlacement === 'bottom') { + popper.left += offsets[0]; + popper.top += offsets[1]; + } + + data.popper = popper; + return data; + } + + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function preventOverflow(data, options) { + var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper); + + // If offsetParent is the reference element, we really want to + // go one step up and use the next offsetParent as reference to + // avoid to make this modifier completely useless and look like broken + if (data.instance.reference === boundariesElement) { + boundariesElement = getOffsetParent(boundariesElement); + } + + // NOTE: DOM access here + // resets the popper's position so that the document size can be calculated excluding + // the size of the popper element itself + var transformProp = getSupportedPropertyName('transform'); + var popperStyles = data.instance.popper.style; // assignment to help minification + var top = popperStyles.top, + left = popperStyles.left, + transform = popperStyles[transformProp]; + + popperStyles.top = ''; + popperStyles.left = ''; + popperStyles[transformProp] = ''; + + var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed); + + // NOTE: DOM access here + // restores the original style properties after the offsets have been computed + popperStyles.top = top; + popperStyles.left = left; + popperStyles[transformProp] = transform; + + options.boundaries = boundaries; + + var order = options.priority; + var popper = data.offsets.popper; + + var check = { + primary: function primary(placement) { + var value = popper[placement]; + if (popper[placement] < boundaries[placement] && !options.escapeWithReference) { + value = Math.max(popper[placement], boundaries[placement]); + } + return defineProperty({}, placement, value); + }, + secondary: function secondary(placement) { + var mainSide = placement === 'right' ? 'left' : 'top'; + var value = popper[mainSide]; + if (popper[placement] > boundaries[placement] && !options.escapeWithReference) { + value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height)); + } + return defineProperty({}, mainSide, value); + } + }; + + order.forEach(function (placement) { + var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary'; + popper = _extends({}, popper, check[side](placement)); + }); + + data.offsets.popper = popper; + + return data; + } + + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function shift(data) { + var placement = data.placement; + var basePlacement = placement.split('-')[0]; + var shiftvariation = placement.split('-')[1]; + + // if shift shiftvariation is specified, run the modifier + if (shiftvariation) { + var _data$offsets = data.offsets, + reference = _data$offsets.reference, + popper = _data$offsets.popper; + + var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1; + var side = isVertical ? 'left' : 'top'; + var measurement = isVertical ? 'width' : 'height'; + + var shiftOffsets = { + start: defineProperty({}, side, reference[side]), + end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement]) + }; + + data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]); + } + + return data; + } + + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function hide(data) { + if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) { + return data; + } + + var refRect = data.offsets.reference; + var bound = find(data.instance.modifiers, function (modifier) { + return modifier.name === 'preventOverflow'; + }).boundaries; + + if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) { + // Avoid unnecessary DOM access if visibility hasn't changed + if (data.hide === true) { + return data; + } + + data.hide = true; + data.attributes['x-out-of-boundaries'] = ''; + } else { + // Avoid unnecessary DOM access if visibility hasn't changed + if (data.hide === false) { + return data; + } + + data.hide = false; + data.attributes['x-out-of-boundaries'] = false; + } + + return data; + } + + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function inner(data) { + var placement = data.placement; + var basePlacement = placement.split('-')[0]; + var _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + + var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1; + + var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1; + + popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0); + + data.placement = getOppositePlacement(placement); + data.offsets.popper = getClientRect(popper); + + return data; + } + + /** + * Modifier function, each modifier can have a function of this type assigned + * to its `fn` property.
      + * These functions will be called on each update, this means that you must + * make sure they are performant enough to avoid performance bottlenecks. + * + * @function ModifierFn + * @argument {dataObject} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {dataObject} The data object, properly modified + */ + + /** + * Modifiers are plugins used to alter the behavior of your poppers.
      + * Popper.js uses a set of 9 modifiers to provide all the basic functionalities + * needed by the library. + * + * Usually you don't want to override the `order`, `fn` and `onLoad` props. + * All the other properties are configurations that could be tweaked. + * @namespace modifiers + */ + var modifiers = { + /** + * Modifier used to shift the popper on the start or end of its reference + * element.
      + * It will read the variation of the `placement` property.
      + * It can be one either `-end` or `-start`. + * @memberof modifiers + * @inner + */ + shift: { + /** @prop {number} order=100 - Index used to define the order of execution */ + order: 100, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: shift + }, + + /** + * The `offset` modifier can shift your popper on both its axis. + * + * It accepts the following units: + * - `px` or unit-less, interpreted as pixels + * - `%` or `%r`, percentage relative to the length of the reference element + * - `%p`, percentage relative to the length of the popper element + * - `vw`, CSS viewport width unit + * - `vh`, CSS viewport height unit + * + * For length is intended the main axis relative to the placement of the popper.
      + * This means that if the placement is `top` or `bottom`, the length will be the + * `width`. In case of `left` or `right`, it will be the `height`. + * + * You can provide a single value (as `Number` or `String`), or a pair of values + * as `String` divided by a comma or one (or more) white spaces.
      + * The latter is a deprecated method because it leads to confusion and will be + * removed in v2.
      + * Additionally, it accepts additions and subtractions between different units. + * Note that multiplications and divisions aren't supported. + * + * Valid examples are: + * ``` + * 10 + * '10%' + * '10, 10' + * '10%, 10' + * '10 + 10%' + * '10 - 5vh + 3%' + * '-10px + 5vh, 5px - 6%' + * ``` + * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap + * > with their reference element, unfortunately, you will have to disable the `flip` modifier. + * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373). + * + * @memberof modifiers + * @inner + */ + offset: { + /** @prop {number} order=200 - Index used to define the order of execution */ + order: 200, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: offset, + /** @prop {Number|String} offset=0 + * The offset value as described in the modifier description + */ + offset: 0 + }, + + /** + * Modifier used to prevent the popper from being positioned outside the boundary. + * + * A scenario exists where the reference itself is not within the boundaries.
      + * We can say it has "escaped the boundaries" — or just "escaped".
      + * In this case we need to decide whether the popper should either: + * + * - detach from the reference and remain "trapped" in the boundaries, or + * - if it should ignore the boundary and "escape with its reference" + * + * When `escapeWithReference` is set to`true` and reference is completely + * outside its boundaries, the popper will overflow (or completely leave) + * the boundaries in order to remain attached to the edge of the reference. + * + * @memberof modifiers + * @inner + */ + preventOverflow: { + /** @prop {number} order=300 - Index used to define the order of execution */ + order: 300, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: preventOverflow, + /** + * @prop {Array} [priority=['left','right','top','bottom']] + * Popper will try to prevent overflow following these priorities by default, + * then, it could overflow on the left and on top of the `boundariesElement` + */ + priority: ['left', 'right', 'top', 'bottom'], + /** + * @prop {number} padding=5 + * Amount of pixel used to define a minimum distance between the boundaries + * and the popper. This makes sure the popper always has a little padding + * between the edges of its container + */ + padding: 5, + /** + * @prop {String|HTMLElement} boundariesElement='scrollParent' + * Boundaries used by the modifier. Can be `scrollParent`, `window`, + * `viewport` or any DOM element. + */ + boundariesElement: 'scrollParent' + }, + + /** + * Modifier used to make sure the reference and its popper stay near each other + * without leaving any gap between the two. Especially useful when the arrow is + * enabled and you want to ensure that it points to its reference element. + * It cares only about the first axis. You can still have poppers with margin + * between the popper and its reference element. + * @memberof modifiers + * @inner + */ + keepTogether: { + /** @prop {number} order=400 - Index used to define the order of execution */ + order: 400, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: keepTogether + }, + + /** + * This modifier is used to move the `arrowElement` of the popper to make + * sure it is positioned between the reference element and its popper element. + * It will read the outer size of the `arrowElement` node to detect how many + * pixels of conjunction are needed. + * + * It has no effect if no `arrowElement` is provided. + * @memberof modifiers + * @inner + */ + arrow: { + /** @prop {number} order=500 - Index used to define the order of execution */ + order: 500, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: arrow, + /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */ + element: '[x-arrow]' + }, + + /** + * Modifier used to flip the popper's placement when it starts to overlap its + * reference element. + * + * Requires the `preventOverflow` modifier before it in order to work. + * + * **NOTE:** this modifier will interrupt the current update cycle and will + * restart it if it detects the need to flip the placement. + * @memberof modifiers + * @inner + */ + flip: { + /** @prop {number} order=600 - Index used to define the order of execution */ + order: 600, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: flip, + /** + * @prop {String|Array} behavior='flip' + * The behavior used to change the popper's placement. It can be one of + * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid + * placements (with optional variations) + */ + behavior: 'flip', + /** + * @prop {number} padding=5 + * The popper will flip if it hits the edges of the `boundariesElement` + */ + padding: 5, + /** + * @prop {String|HTMLElement} boundariesElement='viewport' + * The element which will define the boundaries of the popper position. + * The popper will never be placed outside of the defined boundaries + * (except if `keepTogether` is enabled) + */ + boundariesElement: 'viewport', + /** + * @prop {Boolean} flipVariations=false + * The popper will switch placement variation between `-start` and `-end` when + * the reference element overlaps its boundaries. + * + * The original placement should have a set variation. + */ + flipVariations: false, + /** + * @prop {Boolean} flipVariationsByContent=false + * The popper will switch placement variation between `-start` and `-end` when + * the popper element overlaps its reference boundaries. + * + * The original placement should have a set variation. + */ + flipVariationsByContent: false + }, + + /** + * Modifier used to make the popper flow toward the inner of the reference element. + * By default, when this modifier is disabled, the popper will be placed outside + * the reference element. + * @memberof modifiers + * @inner + */ + inner: { + /** @prop {number} order=700 - Index used to define the order of execution */ + order: 700, + /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */ + enabled: false, + /** @prop {ModifierFn} */ + fn: inner + }, + + /** + * Modifier used to hide the popper when its reference element is outside of the + * popper boundaries. It will set a `x-out-of-boundaries` attribute which can + * be used to hide with a CSS selector the popper when its reference is + * out of boundaries. + * + * Requires the `preventOverflow` modifier before it in order to work. + * @memberof modifiers + * @inner + */ + hide: { + /** @prop {number} order=800 - Index used to define the order of execution */ + order: 800, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: hide + }, + + /** + * Computes the style that will be applied to the popper element to gets + * properly positioned. + * + * Note that this modifier will not touch the DOM, it just prepares the styles + * so that `applyStyle` modifier can apply it. This separation is useful + * in case you need to replace `applyStyle` with a custom implementation. + * + * This modifier has `850` as `order` value to maintain backward compatibility + * with previous versions of Popper.js. Expect the modifiers ordering method + * to change in future major versions of the library. + * + * @memberof modifiers + * @inner + */ + computeStyle: { + /** @prop {number} order=850 - Index used to define the order of execution */ + order: 850, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: computeStyle, + /** + * @prop {Boolean} gpuAcceleration=true + * If true, it uses the CSS 3D transformation to position the popper. + * Otherwise, it will use the `top` and `left` properties + */ + gpuAcceleration: true, + /** + * @prop {string} [x='bottom'] + * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin. + * Change this if your popper should grow in a direction different from `bottom` + */ + x: 'bottom', + /** + * @prop {string} [x='left'] + * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin. + * Change this if your popper should grow in a direction different from `right` + */ + y: 'right' + }, + + /** + * Applies the computed styles to the popper element. + * + * All the DOM manipulations are limited to this modifier. This is useful in case + * you want to integrate Popper.js inside a framework or view library and you + * want to delegate all the DOM manipulations to it. + * + * Note that if you disable this modifier, you must make sure the popper element + * has its position set to `absolute` before Popper.js can do its work! + * + * Just disable this modifier and define your own to achieve the desired effect. + * + * @memberof modifiers + * @inner + */ + applyStyle: { + /** @prop {number} order=900 - Index used to define the order of execution */ + order: 900, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: applyStyle, + /** @prop {Function} */ + onLoad: applyStyleOnLoad, + /** + * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier + * @prop {Boolean} gpuAcceleration=true + * If true, it uses the CSS 3D transformation to position the popper. + * Otherwise, it will use the `top` and `left` properties + */ + gpuAcceleration: undefined + } + }; + + /** + * The `dataObject` is an object containing all the information used by Popper.js. + * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks. + * @name dataObject + * @property {Object} data.instance The Popper.js instance + * @property {String} data.placement Placement applied to popper + * @property {String} data.originalPlacement Placement originally defined on init + * @property {Boolean} data.flipped True if popper has been flipped by flip modifier + * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper + * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier + * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`) + * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`) + * @property {Object} data.boundaries Offsets of the popper boundaries + * @property {Object} data.offsets The measurements of popper, reference and arrow elements + * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values + * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values + * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0 + */ + + /** + * Default options provided to Popper.js constructor.
      + * These can be overridden using the `options` argument of Popper.js.
      + * To override an option, simply pass an object with the same + * structure of the `options` object, as the 3rd argument. For example: + * ``` + * new Popper(ref, pop, { + * modifiers: { + * preventOverflow: { enabled: false } + * } + * }) + * ``` + * @type {Object} + * @static + * @memberof Popper + */ + var Defaults = { + /** + * Popper's placement. + * @prop {Popper.placements} placement='bottom' + */ + placement: 'bottom', + + /** + * Set this to true if you want popper to position it self in 'fixed' mode + * @prop {Boolean} positionFixed=false + */ + positionFixed: false, + + /** + * Whether events (resize, scroll) are initially enabled. + * @prop {Boolean} eventsEnabled=true + */ + eventsEnabled: true, + + /** + * Set to true if you want to automatically remove the popper when + * you call the `destroy` method. + * @prop {Boolean} removeOnDestroy=false + */ + removeOnDestroy: false, + + /** + * Callback called when the popper is created.
      + * By default, it is set to no-op.
      + * Access Popper.js instance with `data.instance`. + * @prop {onCreate} + */ + onCreate: function onCreate() {}, + + /** + * Callback called when the popper is updated. This callback is not called + * on the initialization/creation of the popper, but only on subsequent + * updates.
      + * By default, it is set to no-op.
      + * Access Popper.js instance with `data.instance`. + * @prop {onUpdate} + */ + onUpdate: function onUpdate() {}, + + /** + * List of modifiers used to modify the offsets before they are applied to the popper. + * They provide most of the functionalities of Popper.js. + * @prop {modifiers} + */ + modifiers: modifiers + }; + + /** + * @callback onCreate + * @param {dataObject} data + */ + + /** + * @callback onUpdate + * @param {dataObject} data + */ + + // Utils + // Methods + var Popper = function () { + /** + * Creates a new Popper.js instance. + * @class Popper + * @param {Element|referenceObject} reference - The reference element used to position the popper + * @param {Element} popper - The HTML / XML element used as the popper + * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults) + * @return {Object} instance - The generated Popper.js instance + */ + function Popper(reference, popper) { + var _this = this; + + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + classCallCheck(this, Popper); + + this.scheduleUpdate = function () { + return requestAnimationFrame(_this.update); + }; + + // make update() debounced, so that it only runs at most once-per-tick + this.update = debounce(this.update.bind(this)); + + // with {} we create a new object with the options inside it + this.options = _extends({}, Popper.Defaults, options); + + // init state + this.state = { + isDestroyed: false, + isCreated: false, + scrollParents: [] + }; + + // get reference and popper elements (allow jQuery wrappers) + this.reference = reference && reference.jquery ? reference[0] : reference; + this.popper = popper && popper.jquery ? popper[0] : popper; + + // Deep merge modifiers options + this.options.modifiers = {}; + Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) { + _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {}); + }); + + // Refactoring modifiers' list (Object => Array) + this.modifiers = Object.keys(this.options.modifiers).map(function (name) { + return _extends({ + name: name + }, _this.options.modifiers[name]); + }) + // sort the modifiers by order + .sort(function (a, b) { + return a.order - b.order; + }); + + // modifiers have the ability to execute arbitrary code when Popper.js get inited + // such code is executed in the same order of its modifier + // they could add new properties to their options configuration + // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`! + this.modifiers.forEach(function (modifierOptions) { + if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) { + modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state); + } + }); + + // fire the first update to position the popper in the right place + this.update(); + + var eventsEnabled = this.options.eventsEnabled; + if (eventsEnabled) { + // setup event listeners, they will take care of update the position in specific situations + this.enableEventListeners(); + } + + this.state.eventsEnabled = eventsEnabled; + } + + // We can't use class properties because they don't get listed in the + // class prototype and break stuff like Sinon stubs + + + createClass(Popper, [{ + key: 'update', + value: function update$$1() { + return update.call(this); + } + }, { + key: 'destroy', + value: function destroy$$1() { + return destroy.call(this); + } + }, { + key: 'enableEventListeners', + value: function enableEventListeners$$1() { + return enableEventListeners.call(this); + } + }, { + key: 'disableEventListeners', + value: function disableEventListeners$$1() { + return disableEventListeners.call(this); + } + + /** + * Schedules an update. It will run on the next UI update available. + * @method scheduleUpdate + * @memberof Popper + */ + + + /** + * Collection of utilities useful when writing custom modifiers. + * Starting from version 1.7, this method is available only if you + * include `popper-utils.js` before `popper.js`. + * + * **DEPRECATION**: This way to access PopperUtils is deprecated + * and will be removed in v2! Use the PopperUtils module directly instead. + * Due to the high instability of the methods contained in Utils, we can't + * guarantee them to follow semver. Use them at your own risk! + * @static + * @private + * @type {Object} + * @deprecated since version 1.8 + * @member Utils + * @memberof Popper + */ + + }]); + return Popper; + }(); + + /** + * The `referenceObject` is an object that provides an interface compatible with Popper.js + * and lets you use it as replacement of a real DOM node.
      + * You can use this method to position a popper relatively to a set of coordinates + * in case you don't have a DOM node to use as reference. + * + * ``` + * new Popper(referenceObject, popperNode); + * ``` + * + * NB: This feature isn't supported in Internet Explorer 10. + * @name referenceObject + * @property {Function} data.getBoundingClientRect + * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method. + * @property {number} data.clientWidth + * An ES6 getter that will return the width of the virtual reference element. + * @property {number} data.clientHeight + * An ES6 getter that will return the height of the virtual reference element. + */ + + + Popper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils; + Popper.placements = placements; + Popper.Defaults = Defaults; + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME$4 = 'dropdown'; + var VERSION$4 = '4.4.1'; + var DATA_KEY$4 = 'bs.dropdown'; + var EVENT_KEY$4 = "." + DATA_KEY$4; + var DATA_API_KEY$4 = '.data-api'; + var JQUERY_NO_CONFLICT$4 = $.fn[NAME$4]; + var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key + + var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key + + var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key + + var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key + + var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key + + var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse) + + var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE); + var Event$4 = { + HIDE: "hide" + EVENT_KEY$4, + HIDDEN: "hidden" + EVENT_KEY$4, + SHOW: "show" + EVENT_KEY$4, + SHOWN: "shown" + EVENT_KEY$4, + CLICK: "click" + EVENT_KEY$4, + CLICK_DATA_API: "click" + EVENT_KEY$4 + DATA_API_KEY$4, + KEYDOWN_DATA_API: "keydown" + EVENT_KEY$4 + DATA_API_KEY$4, + KEYUP_DATA_API: "keyup" + EVENT_KEY$4 + DATA_API_KEY$4 + }; + var ClassName$4 = { + DISABLED: 'disabled', + SHOW: 'show', + DROPUP: 'dropup', + DROPRIGHT: 'dropright', + DROPLEFT: 'dropleft', + MENURIGHT: 'dropdown-menu-right', + MENULEFT: 'dropdown-menu-left', + POSITION_STATIC: 'position-static' + }; + var Selector$4 = { + DATA_TOGGLE: '[data-toggle="dropdown"]', + FORM_CHILD: '.dropdown form', + MENU: '.dropdown-menu', + NAVBAR_NAV: '.navbar-nav', + VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)' + }; + var AttachmentMap = { + TOP: 'top-start', + TOPEND: 'top-end', + BOTTOM: 'bottom-start', + BOTTOMEND: 'bottom-end', + RIGHT: 'right-start', + RIGHTEND: 'right-end', + LEFT: 'left-start', + LEFTEND: 'left-end' + }; + var Default$2 = { + offset: 0, + flip: true, + boundary: 'scrollParent', + reference: 'toggle', + display: 'dynamic', + popperConfig: null + }; + var DefaultType$2 = { + offset: '(number|string|function)', + flip: 'boolean', + boundary: '(string|element)', + reference: '(string|element)', + display: 'string', + popperConfig: '(null|object)' + }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var Dropdown = + /*#__PURE__*/ + function () { + function Dropdown(element, config) { + this._element = element; + this._popper = null; + this._config = this._getConfig(config); + this._menu = this._getMenuElement(); + this._inNavbar = this._detectNavbar(); + + this._addEventListeners(); + } // Getters + + + var _proto = Dropdown.prototype; + + // Public + _proto.toggle = function toggle() { + if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED)) { + return; + } + + var isActive = $(this._menu).hasClass(ClassName$4.SHOW); + + Dropdown._clearMenus(); + + if (isActive) { + return; + } + + this.show(true); + }; + + _proto.show = function show(usePopper) { + if (usePopper === void 0) { + usePopper = false; + } + + if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || $(this._menu).hasClass(ClassName$4.SHOW)) { + return; + } + + var relatedTarget = { + relatedTarget: this._element + }; + var showEvent = $.Event(Event$4.SHOW, relatedTarget); + + var parent = Dropdown._getParentFromElement(this._element); + + $(parent).trigger(showEvent); + + if (showEvent.isDefaultPrevented()) { + return; + } // Disable totally Popper.js for Dropdown in Navbar + + + if (!this._inNavbar && usePopper) { + /** + * Check for Popper dependency + * Popper - https://popper.js.org + */ + if (typeof Popper === 'undefined') { + throw new TypeError('Bootstrap\'s dropdowns require Popper.js (https://popper.js.org/)'); + } + + var referenceElement = this._element; + + if (this._config.reference === 'parent') { + referenceElement = parent; + } else if (Util.isElement(this._config.reference)) { + referenceElement = this._config.reference; // Check if it's jQuery element + + if (typeof this._config.reference.jquery !== 'undefined') { + referenceElement = this._config.reference[0]; + } + } // If boundary is not `scrollParent`, then set position to `static` + // to allow the menu to "escape" the scroll parent's boundaries + // https://github.com/twbs/bootstrap/issues/24251 + + + if (this._config.boundary !== 'scrollParent') { + $(parent).addClass(ClassName$4.POSITION_STATIC); + } + + this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig()); + } // If this is a touch-enabled device we add extra + // empty mouseover listeners to the body's immediate children; + // only needed because of broken event delegation on iOS + // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html + + + if ('ontouchstart' in document.documentElement && $(parent).closest(Selector$4.NAVBAR_NAV).length === 0) { + $(document.body).children().on('mouseover', null, $.noop); + } + + this._element.focus(); + + this._element.setAttribute('aria-expanded', true); + + $(this._menu).toggleClass(ClassName$4.SHOW); + $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.SHOWN, relatedTarget)); + }; + + _proto.hide = function hide() { + if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || !$(this._menu).hasClass(ClassName$4.SHOW)) { + return; + } + + var relatedTarget = { + relatedTarget: this._element + }; + var hideEvent = $.Event(Event$4.HIDE, relatedTarget); + + var parent = Dropdown._getParentFromElement(this._element); + + $(parent).trigger(hideEvent); + + if (hideEvent.isDefaultPrevented()) { + return; + } + + if (this._popper) { + this._popper.destroy(); + } + + $(this._menu).toggleClass(ClassName$4.SHOW); + $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.HIDDEN, relatedTarget)); + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY$4); + $(this._element).off(EVENT_KEY$4); + this._element = null; + this._menu = null; + + if (this._popper !== null) { + this._popper.destroy(); + + this._popper = null; + } + }; + + _proto.update = function update() { + this._inNavbar = this._detectNavbar(); + + if (this._popper !== null) { + this._popper.scheduleUpdate(); + } + } // Private + ; + + _proto._addEventListeners = function _addEventListeners() { + var _this = this; + + $(this._element).on(Event$4.CLICK, function (event) { + event.preventDefault(); + event.stopPropagation(); + + _this.toggle(); + }); + }; + + _proto._getConfig = function _getConfig(config) { + config = _objectSpread2({}, this.constructor.Default, {}, $(this._element).data(), {}, config); + Util.typeCheckConfig(NAME$4, config, this.constructor.DefaultType); + return config; + }; + + _proto._getMenuElement = function _getMenuElement() { + if (!this._menu) { + var parent = Dropdown._getParentFromElement(this._element); + + if (parent) { + this._menu = parent.querySelector(Selector$4.MENU); + } + } + + return this._menu; + }; + + _proto._getPlacement = function _getPlacement() { + var $parentDropdown = $(this._element.parentNode); + var placement = AttachmentMap.BOTTOM; // Handle dropup + + if ($parentDropdown.hasClass(ClassName$4.DROPUP)) { + placement = AttachmentMap.TOP; + + if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) { + placement = AttachmentMap.TOPEND; + } + } else if ($parentDropdown.hasClass(ClassName$4.DROPRIGHT)) { + placement = AttachmentMap.RIGHT; + } else if ($parentDropdown.hasClass(ClassName$4.DROPLEFT)) { + placement = AttachmentMap.LEFT; + } else if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) { + placement = AttachmentMap.BOTTOMEND; + } + + return placement; + }; + + _proto._detectNavbar = function _detectNavbar() { + return $(this._element).closest('.navbar').length > 0; + }; + + _proto._getOffset = function _getOffset() { + var _this2 = this; + + var offset = {}; + + if (typeof this._config.offset === 'function') { + offset.fn = function (data) { + data.offsets = _objectSpread2({}, data.offsets, {}, _this2._config.offset(data.offsets, _this2._element) || {}); + return data; + }; + } else { + offset.offset = this._config.offset; + } + + return offset; + }; + + _proto._getPopperConfig = function _getPopperConfig() { + var popperConfig = { + placement: this._getPlacement(), + modifiers: { + offset: this._getOffset(), + flip: { + enabled: this._config.flip + }, + preventOverflow: { + boundariesElement: this._config.boundary + } + } + }; // Disable Popper.js if we have a static display + + if (this._config.display === 'static') { + popperConfig.modifiers.applyStyle = { + enabled: false + }; + } + + return _objectSpread2({}, popperConfig, {}, this._config.popperConfig); + } // Static + ; + + Dropdown._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY$4); + + var _config = typeof config === 'object' ? config : null; + + if (!data) { + data = new Dropdown(this, _config); + $(this).data(DATA_KEY$4, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + Dropdown._clearMenus = function _clearMenus(event) { + if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) { + return; + } + + var toggles = [].slice.call(document.querySelectorAll(Selector$4.DATA_TOGGLE)); + + for (var i = 0, len = toggles.length; i < len; i++) { + var parent = Dropdown._getParentFromElement(toggles[i]); + + var context = $(toggles[i]).data(DATA_KEY$4); + var relatedTarget = { + relatedTarget: toggles[i] + }; + + if (event && event.type === 'click') { + relatedTarget.clickEvent = event; + } + + if (!context) { + continue; + } + + var dropdownMenu = context._menu; + + if (!$(parent).hasClass(ClassName$4.SHOW)) { + continue; + } + + if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $.contains(parent, event.target)) { + continue; + } + + var hideEvent = $.Event(Event$4.HIDE, relatedTarget); + $(parent).trigger(hideEvent); + + if (hideEvent.isDefaultPrevented()) { + continue; + } // If this is a touch-enabled device we remove the extra + // empty mouseover listeners we added for iOS support + + + if ('ontouchstart' in document.documentElement) { + $(document.body).children().off('mouseover', null, $.noop); + } + + toggles[i].setAttribute('aria-expanded', 'false'); + + if (context._popper) { + context._popper.destroy(); + } + + $(dropdownMenu).removeClass(ClassName$4.SHOW); + $(parent).removeClass(ClassName$4.SHOW).trigger($.Event(Event$4.HIDDEN, relatedTarget)); + } + }; + + Dropdown._getParentFromElement = function _getParentFromElement(element) { + var parent; + var selector = Util.getSelectorFromElement(element); + + if (selector) { + parent = document.querySelector(selector); + } + + return parent || element.parentNode; + } // eslint-disable-next-line complexity + ; + + Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) { + // If not input/textarea: + // - And not a key in REGEXP_KEYDOWN => not a dropdown command + // If input/textarea: + // - If space key => not a dropdown command + // - If key is other than escape + // - If key is not up or down => not a dropdown command + // - If trigger inside the menu => not a dropdown command + if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $(event.target).closest(Selector$4.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) { + return; + } + + event.preventDefault(); + event.stopPropagation(); + + if (this.disabled || $(this).hasClass(ClassName$4.DISABLED)) { + return; + } + + var parent = Dropdown._getParentFromElement(this); + + var isActive = $(parent).hasClass(ClassName$4.SHOW); + + if (!isActive && event.which === ESCAPE_KEYCODE) { + return; + } + + if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) { + if (event.which === ESCAPE_KEYCODE) { + var toggle = parent.querySelector(Selector$4.DATA_TOGGLE); + $(toggle).trigger('focus'); + } + + $(this).trigger('click'); + return; + } + + var items = [].slice.call(parent.querySelectorAll(Selector$4.VISIBLE_ITEMS)).filter(function (item) { + return $(item).is(':visible'); + }); + + if (items.length === 0) { + return; + } + + var index = items.indexOf(event.target); + + if (event.which === ARROW_UP_KEYCODE && index > 0) { + // Up + index--; + } + + if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { + // Down + index++; + } + + if (index < 0) { + index = 0; + } + + items[index].focus(); + }; + + _createClass(Dropdown, null, [{ + key: "VERSION", + get: function get() { + return VERSION$4; + } + }, { + key: "Default", + get: function get() { + return Default$2; + } + }, { + key: "DefaultType", + get: function get() { + return DefaultType$2; + } + }]); + + return Dropdown; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event$4.KEYDOWN_DATA_API, Selector$4.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event$4.KEYDOWN_DATA_API, Selector$4.MENU, Dropdown._dataApiKeydownHandler).on(Event$4.CLICK_DATA_API + " " + Event$4.KEYUP_DATA_API, Dropdown._clearMenus).on(Event$4.CLICK_DATA_API, Selector$4.DATA_TOGGLE, function (event) { + event.preventDefault(); + event.stopPropagation(); + + Dropdown._jQueryInterface.call($(this), 'toggle'); + }).on(Event$4.CLICK_DATA_API, Selector$4.FORM_CHILD, function (e) { + e.stopPropagation(); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME$4] = Dropdown._jQueryInterface; + $.fn[NAME$4].Constructor = Dropdown; + + $.fn[NAME$4].noConflict = function () { + $.fn[NAME$4] = JQUERY_NO_CONFLICT$4; + return Dropdown._jQueryInterface; + }; + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME$5 = 'modal'; + var VERSION$5 = '4.4.1'; + var DATA_KEY$5 = 'bs.modal'; + var EVENT_KEY$5 = "." + DATA_KEY$5; + var DATA_API_KEY$5 = '.data-api'; + var JQUERY_NO_CONFLICT$5 = $.fn[NAME$5]; + var ESCAPE_KEYCODE$1 = 27; // KeyboardEvent.which value for Escape (Esc) key + + var Default$3 = { + backdrop: true, + keyboard: true, + focus: true, + show: true + }; + var DefaultType$3 = { + backdrop: '(boolean|string)', + keyboard: 'boolean', + focus: 'boolean', + show: 'boolean' + }; + var Event$5 = { + HIDE: "hide" + EVENT_KEY$5, + HIDE_PREVENTED: "hidePrevented" + EVENT_KEY$5, + HIDDEN: "hidden" + EVENT_KEY$5, + SHOW: "show" + EVENT_KEY$5, + SHOWN: "shown" + EVENT_KEY$5, + FOCUSIN: "focusin" + EVENT_KEY$5, + RESIZE: "resize" + EVENT_KEY$5, + CLICK_DISMISS: "click.dismiss" + EVENT_KEY$5, + KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY$5, + MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY$5, + MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY$5, + CLICK_DATA_API: "click" + EVENT_KEY$5 + DATA_API_KEY$5 + }; + var ClassName$5 = { + SCROLLABLE: 'modal-dialog-scrollable', + SCROLLBAR_MEASURER: 'modal-scrollbar-measure', + BACKDROP: 'modal-backdrop', + OPEN: 'modal-open', + FADE: 'fade', + SHOW: 'show', + STATIC: 'modal-static' + }; + var Selector$5 = { + DIALOG: '.modal-dialog', + MODAL_BODY: '.modal-body', + DATA_TOGGLE: '[data-toggle="modal"]', + DATA_DISMISS: '[data-dismiss="modal"]', + FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top', + STICKY_CONTENT: '.sticky-top' + }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var Modal = + /*#__PURE__*/ + function () { + function Modal(element, config) { + this._config = this._getConfig(config); + this._element = element; + this._dialog = element.querySelector(Selector$5.DIALOG); + this._backdrop = null; + this._isShown = false; + this._isBodyOverflowing = false; + this._ignoreBackdropClick = false; + this._isTransitioning = false; + this._scrollbarWidth = 0; + } // Getters + + + var _proto = Modal.prototype; + + // Public + _proto.toggle = function toggle(relatedTarget) { + return this._isShown ? this.hide() : this.show(relatedTarget); + }; + + _proto.show = function show(relatedTarget) { + var _this = this; + + if (this._isShown || this._isTransitioning) { + return; + } + + if ($(this._element).hasClass(ClassName$5.FADE)) { + this._isTransitioning = true; + } + + var showEvent = $.Event(Event$5.SHOW, { + relatedTarget: relatedTarget + }); + $(this._element).trigger(showEvent); + + if (this._isShown || showEvent.isDefaultPrevented()) { + return; + } + + this._isShown = true; + + this._checkScrollbar(); + + this._setScrollbar(); + + this._adjustDialog(); + + this._setEscapeEvent(); + + this._setResizeEvent(); + + $(this._element).on(Event$5.CLICK_DISMISS, Selector$5.DATA_DISMISS, function (event) { + return _this.hide(event); + }); + $(this._dialog).on(Event$5.MOUSEDOWN_DISMISS, function () { + $(_this._element).one(Event$5.MOUSEUP_DISMISS, function (event) { + if ($(event.target).is(_this._element)) { + _this._ignoreBackdropClick = true; + } + }); + }); + + this._showBackdrop(function () { + return _this._showElement(relatedTarget); + }); + }; + + _proto.hide = function hide(event) { + var _this2 = this; + + if (event) { + event.preventDefault(); + } + + if (!this._isShown || this._isTransitioning) { + return; + } + + var hideEvent = $.Event(Event$5.HIDE); + $(this._element).trigger(hideEvent); + + if (!this._isShown || hideEvent.isDefaultPrevented()) { + return; + } + + this._isShown = false; + var transition = $(this._element).hasClass(ClassName$5.FADE); + + if (transition) { + this._isTransitioning = true; + } + + this._setEscapeEvent(); + + this._setResizeEvent(); + + $(document).off(Event$5.FOCUSIN); + $(this._element).removeClass(ClassName$5.SHOW); + $(this._element).off(Event$5.CLICK_DISMISS); + $(this._dialog).off(Event$5.MOUSEDOWN_DISMISS); + + if (transition) { + var transitionDuration = Util.getTransitionDurationFromElement(this._element); + $(this._element).one(Util.TRANSITION_END, function (event) { + return _this2._hideModal(event); + }).emulateTransitionEnd(transitionDuration); + } else { + this._hideModal(); + } + }; + + _proto.dispose = function dispose() { + [window, this._element, this._dialog].forEach(function (htmlElement) { + return $(htmlElement).off(EVENT_KEY$5); + }); + /** + * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API` + * Do not move `document` in `htmlElements` array + * It will remove `Event.CLICK_DATA_API` event that should remain + */ + + $(document).off(Event$5.FOCUSIN); + $.removeData(this._element, DATA_KEY$5); + this._config = null; + this._element = null; + this._dialog = null; + this._backdrop = null; + this._isShown = null; + this._isBodyOverflowing = null; + this._ignoreBackdropClick = null; + this._isTransitioning = null; + this._scrollbarWidth = null; + }; + + _proto.handleUpdate = function handleUpdate() { + this._adjustDialog(); + } // Private + ; + + _proto._getConfig = function _getConfig(config) { + config = _objectSpread2({}, Default$3, {}, config); + Util.typeCheckConfig(NAME$5, config, DefaultType$3); + return config; + }; + + _proto._triggerBackdropTransition = function _triggerBackdropTransition() { + var _this3 = this; + + if (this._config.backdrop === 'static') { + var hideEventPrevented = $.Event(Event$5.HIDE_PREVENTED); + $(this._element).trigger(hideEventPrevented); + + if (hideEventPrevented.defaultPrevented) { + return; + } + + this._element.classList.add(ClassName$5.STATIC); + + var modalTransitionDuration = Util.getTransitionDurationFromElement(this._element); + $(this._element).one(Util.TRANSITION_END, function () { + _this3._element.classList.remove(ClassName$5.STATIC); + }).emulateTransitionEnd(modalTransitionDuration); + + this._element.focus(); + } else { + this.hide(); + } + }; + + _proto._showElement = function _showElement(relatedTarget) { + var _this4 = this; + + var transition = $(this._element).hasClass(ClassName$5.FADE); + var modalBody = this._dialog ? this._dialog.querySelector(Selector$5.MODAL_BODY) : null; + + if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) { + // Don't move modal's DOM position + document.body.appendChild(this._element); + } + + this._element.style.display = 'block'; + + this._element.removeAttribute('aria-hidden'); + + this._element.setAttribute('aria-modal', true); + + if ($(this._dialog).hasClass(ClassName$5.SCROLLABLE) && modalBody) { + modalBody.scrollTop = 0; + } else { + this._element.scrollTop = 0; + } + + if (transition) { + Util.reflow(this._element); + } + + $(this._element).addClass(ClassName$5.SHOW); + + if (this._config.focus) { + this._enforceFocus(); + } + + var shownEvent = $.Event(Event$5.SHOWN, { + relatedTarget: relatedTarget + }); + + var transitionComplete = function transitionComplete() { + if (_this4._config.focus) { + _this4._element.focus(); + } + + _this4._isTransitioning = false; + $(_this4._element).trigger(shownEvent); + }; + + if (transition) { + var transitionDuration = Util.getTransitionDurationFromElement(this._dialog); + $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration); + } else { + transitionComplete(); + } + }; + + _proto._enforceFocus = function _enforceFocus() { + var _this5 = this; + + $(document).off(Event$5.FOCUSIN) // Guard against infinite focus loop + .on(Event$5.FOCUSIN, function (event) { + if (document !== event.target && _this5._element !== event.target && $(_this5._element).has(event.target).length === 0) { + _this5._element.focus(); + } + }); + }; + + _proto._setEscapeEvent = function _setEscapeEvent() { + var _this6 = this; + + if (this._isShown && this._config.keyboard) { + $(this._element).on(Event$5.KEYDOWN_DISMISS, function (event) { + if (event.which === ESCAPE_KEYCODE$1) { + _this6._triggerBackdropTransition(); + } + }); + } else if (!this._isShown) { + $(this._element).off(Event$5.KEYDOWN_DISMISS); + } + }; + + _proto._setResizeEvent = function _setResizeEvent() { + var _this7 = this; + + if (this._isShown) { + $(window).on(Event$5.RESIZE, function (event) { + return _this7.handleUpdate(event); + }); + } else { + $(window).off(Event$5.RESIZE); + } + }; + + _proto._hideModal = function _hideModal() { + var _this8 = this; + + this._element.style.display = 'none'; + + this._element.setAttribute('aria-hidden', true); + + this._element.removeAttribute('aria-modal'); + + this._isTransitioning = false; + + this._showBackdrop(function () { + $(document.body).removeClass(ClassName$5.OPEN); + + _this8._resetAdjustments(); + + _this8._resetScrollbar(); + + $(_this8._element).trigger(Event$5.HIDDEN); + }); + }; + + _proto._removeBackdrop = function _removeBackdrop() { + if (this._backdrop) { + $(this._backdrop).remove(); + this._backdrop = null; + } + }; + + _proto._showBackdrop = function _showBackdrop(callback) { + var _this9 = this; + + var animate = $(this._element).hasClass(ClassName$5.FADE) ? ClassName$5.FADE : ''; + + if (this._isShown && this._config.backdrop) { + this._backdrop = document.createElement('div'); + this._backdrop.className = ClassName$5.BACKDROP; + + if (animate) { + this._backdrop.classList.add(animate); + } + + $(this._backdrop).appendTo(document.body); + $(this._element).on(Event$5.CLICK_DISMISS, function (event) { + if (_this9._ignoreBackdropClick) { + _this9._ignoreBackdropClick = false; + return; + } + + if (event.target !== event.currentTarget) { + return; + } + + _this9._triggerBackdropTransition(); + }); + + if (animate) { + Util.reflow(this._backdrop); + } + + $(this._backdrop).addClass(ClassName$5.SHOW); + + if (!callback) { + return; + } + + if (!animate) { + callback(); + return; + } + + var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop); + $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration); + } else if (!this._isShown && this._backdrop) { + $(this._backdrop).removeClass(ClassName$5.SHOW); + + var callbackRemove = function callbackRemove() { + _this9._removeBackdrop(); + + if (callback) { + callback(); + } + }; + + if ($(this._element).hasClass(ClassName$5.FADE)) { + var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop); + + $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration); + } else { + callbackRemove(); + } + } else if (callback) { + callback(); + } + } // ---------------------------------------------------------------------- + // the following methods are used to handle overflowing modals + // todo (fat): these should probably be refactored out of modal.js + // ---------------------------------------------------------------------- + ; + + _proto._adjustDialog = function _adjustDialog() { + var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; + + if (!this._isBodyOverflowing && isModalOverflowing) { + this._element.style.paddingLeft = this._scrollbarWidth + "px"; + } + + if (this._isBodyOverflowing && !isModalOverflowing) { + this._element.style.paddingRight = this._scrollbarWidth + "px"; + } + }; + + _proto._resetAdjustments = function _resetAdjustments() { + this._element.style.paddingLeft = ''; + this._element.style.paddingRight = ''; + }; + + _proto._checkScrollbar = function _checkScrollbar() { + var rect = document.body.getBoundingClientRect(); + this._isBodyOverflowing = rect.left + rect.right < window.innerWidth; + this._scrollbarWidth = this._getScrollbarWidth(); + }; + + _proto._setScrollbar = function _setScrollbar() { + var _this10 = this; + + if (this._isBodyOverflowing) { + // Note: DOMNode.style.paddingRight returns the actual value or '' if not set + // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set + var fixedContent = [].slice.call(document.querySelectorAll(Selector$5.FIXED_CONTENT)); + var stickyContent = [].slice.call(document.querySelectorAll(Selector$5.STICKY_CONTENT)); // Adjust fixed content padding + + $(fixedContent).each(function (index, element) { + var actualPadding = element.style.paddingRight; + var calculatedPadding = $(element).css('padding-right'); + $(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this10._scrollbarWidth + "px"); + }); // Adjust sticky content margin + + $(stickyContent).each(function (index, element) { + var actualMargin = element.style.marginRight; + var calculatedMargin = $(element).css('margin-right'); + $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this10._scrollbarWidth + "px"); + }); // Adjust body padding + + var actualPadding = document.body.style.paddingRight; + var calculatedPadding = $(document.body).css('padding-right'); + $(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px"); + } + + $(document.body).addClass(ClassName$5.OPEN); + }; + + _proto._resetScrollbar = function _resetScrollbar() { + // Restore fixed content padding + var fixedContent = [].slice.call(document.querySelectorAll(Selector$5.FIXED_CONTENT)); + $(fixedContent).each(function (index, element) { + var padding = $(element).data('padding-right'); + $(element).removeData('padding-right'); + element.style.paddingRight = padding ? padding : ''; + }); // Restore sticky content + + var elements = [].slice.call(document.querySelectorAll("" + Selector$5.STICKY_CONTENT)); + $(elements).each(function (index, element) { + var margin = $(element).data('margin-right'); + + if (typeof margin !== 'undefined') { + $(element).css('margin-right', margin).removeData('margin-right'); + } + }); // Restore body padding + + var padding = $(document.body).data('padding-right'); + $(document.body).removeData('padding-right'); + document.body.style.paddingRight = padding ? padding : ''; + }; + + _proto._getScrollbarWidth = function _getScrollbarWidth() { + // thx d.walsh + var scrollDiv = document.createElement('div'); + scrollDiv.className = ClassName$5.SCROLLBAR_MEASURER; + document.body.appendChild(scrollDiv); + var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth; + document.body.removeChild(scrollDiv); + return scrollbarWidth; + } // Static + ; + + Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) { + return this.each(function () { + var data = $(this).data(DATA_KEY$5); + + var _config = _objectSpread2({}, Default$3, {}, $(this).data(), {}, typeof config === 'object' && config ? config : {}); + + if (!data) { + data = new Modal(this, _config); + $(this).data(DATA_KEY$5, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](relatedTarget); + } else if (_config.show) { + data.show(relatedTarget); + } + }); + }; + + _createClass(Modal, null, [{ + key: "VERSION", + get: function get() { + return VERSION$5; + } + }, { + key: "Default", + get: function get() { + return Default$3; + } + }]); + + return Modal; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event$5.CLICK_DATA_API, Selector$5.DATA_TOGGLE, function (event) { + var _this11 = this; + + var target; + var selector = Util.getSelectorFromElement(this); + + if (selector) { + target = document.querySelector(selector); + } + + var config = $(target).data(DATA_KEY$5) ? 'toggle' : _objectSpread2({}, $(target).data(), {}, $(this).data()); + + if (this.tagName === 'A' || this.tagName === 'AREA') { + event.preventDefault(); + } + + var $target = $(target).one(Event$5.SHOW, function (showEvent) { + if (showEvent.isDefaultPrevented()) { + // Only register focus restorer if modal will actually get shown + return; + } + + $target.one(Event$5.HIDDEN, function () { + if ($(_this11).is(':visible')) { + _this11.focus(); + } + }); + }); + + Modal._jQueryInterface.call($(target), config, this); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME$5] = Modal._jQueryInterface; + $.fn[NAME$5].Constructor = Modal; + + $.fn[NAME$5].noConflict = function () { + $.fn[NAME$5] = JQUERY_NO_CONFLICT$5; + return Modal._jQueryInterface; + }; + + /** + * -------------------------------------------------------------------------- + * Bootstrap (v4.4.1): tools/sanitizer.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']; + var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i; + var DefaultWhitelist = { + // Global attributes allowed on any supplied element below. + '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN], + a: ['target', 'href', 'title', 'rel'], + area: [], + b: [], + br: [], + col: [], + code: [], + div: [], + em: [], + hr: [], + h1: [], + h2: [], + h3: [], + h4: [], + h5: [], + h6: [], + i: [], + img: ['src', 'alt', 'title', 'width', 'height'], + li: [], + ol: [], + p: [], + pre: [], + s: [], + small: [], + span: [], + sub: [], + sup: [], + strong: [], + u: [], + ul: [] + }; + /** + * A pattern that recognizes a commonly useful subset of URLs that are safe. + * + * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts + */ + + var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi; + /** + * A pattern that matches safe data URLs. Only matches image, video and audio types. + * + * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts + */ + + var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i; + + function allowedAttribute(attr, allowedAttributeList) { + var attrName = attr.nodeName.toLowerCase(); + + if (allowedAttributeList.indexOf(attrName) !== -1) { + if (uriAttrs.indexOf(attrName) !== -1) { + return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN)); + } + + return true; + } + + var regExp = allowedAttributeList.filter(function (attrRegex) { + return attrRegex instanceof RegExp; + }); // Check if a regular expression validates the attribute. + + for (var i = 0, l = regExp.length; i < l; i++) { + if (attrName.match(regExp[i])) { + return true; + } + } + + return false; + } + + function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) { + if (unsafeHtml.length === 0) { + return unsafeHtml; + } + + if (sanitizeFn && typeof sanitizeFn === 'function') { + return sanitizeFn(unsafeHtml); + } + + var domParser = new window.DOMParser(); + var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html'); + var whitelistKeys = Object.keys(whiteList); + var elements = [].slice.call(createdDocument.body.querySelectorAll('*')); + + var _loop = function _loop(i, len) { + var el = elements[i]; + var elName = el.nodeName.toLowerCase(); + + if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) { + el.parentNode.removeChild(el); + return "continue"; + } + + var attributeList = [].slice.call(el.attributes); + var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []); + attributeList.forEach(function (attr) { + if (!allowedAttribute(attr, whitelistedAttributes)) { + el.removeAttribute(attr.nodeName); + } + }); + }; + + for (var i = 0, len = elements.length; i < len; i++) { + var _ret = _loop(i); + + if (_ret === "continue") continue; + } + + return createdDocument.body.innerHTML; + } + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME$6 = 'tooltip'; + var VERSION$6 = '4.4.1'; + var DATA_KEY$6 = 'bs.tooltip'; + var EVENT_KEY$6 = "." + DATA_KEY$6; + var JQUERY_NO_CONFLICT$6 = $.fn[NAME$6]; + var CLASS_PREFIX = 'bs-tooltip'; + var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g'); + var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']; + var DefaultType$4 = { + animation: 'boolean', + template: 'string', + title: '(string|element|function)', + trigger: 'string', + delay: '(number|object)', + html: 'boolean', + selector: '(string|boolean)', + placement: '(string|function)', + offset: '(number|string|function)', + container: '(string|element|boolean)', + fallbackPlacement: '(string|array)', + boundary: '(string|element)', + sanitize: 'boolean', + sanitizeFn: '(null|function)', + whiteList: 'object', + popperConfig: '(null|object)' + }; + var AttachmentMap$1 = { + AUTO: 'auto', + TOP: 'top', + RIGHT: 'right', + BOTTOM: 'bottom', + LEFT: 'left' + }; + var Default$4 = { + animation: true, + template: '', + trigger: 'hover focus', + title: '', + delay: 0, + html: false, + selector: false, + placement: 'top', + offset: 0, + container: false, + fallbackPlacement: 'flip', + boundary: 'scrollParent', + sanitize: true, + sanitizeFn: null, + whiteList: DefaultWhitelist, + popperConfig: null + }; + var HoverState = { + SHOW: 'show', + OUT: 'out' + }; + var Event$6 = { + HIDE: "hide" + EVENT_KEY$6, + HIDDEN: "hidden" + EVENT_KEY$6, + SHOW: "show" + EVENT_KEY$6, + SHOWN: "shown" + EVENT_KEY$6, + INSERTED: "inserted" + EVENT_KEY$6, + CLICK: "click" + EVENT_KEY$6, + FOCUSIN: "focusin" + EVENT_KEY$6, + FOCUSOUT: "focusout" + EVENT_KEY$6, + MOUSEENTER: "mouseenter" + EVENT_KEY$6, + MOUSELEAVE: "mouseleave" + EVENT_KEY$6 + }; + var ClassName$6 = { + FADE: 'fade', + SHOW: 'show' + }; + var Selector$6 = { + TOOLTIP: '.tooltip', + TOOLTIP_INNER: '.tooltip-inner', + ARROW: '.arrow' + }; + var Trigger = { + HOVER: 'hover', + FOCUS: 'focus', + CLICK: 'click', + MANUAL: 'manual' + }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var Tooltip = + /*#__PURE__*/ + function () { + function Tooltip(element, config) { + if (typeof Popper === 'undefined') { + throw new TypeError('Bootstrap\'s tooltips require Popper.js (https://popper.js.org/)'); + } // private + + + this._isEnabled = true; + this._timeout = 0; + this._hoverState = ''; + this._activeTrigger = {}; + this._popper = null; // Protected + + this.element = element; + this.config = this._getConfig(config); + this.tip = null; + + this._setListeners(); + } // Getters + + + var _proto = Tooltip.prototype; + + // Public + _proto.enable = function enable() { + this._isEnabled = true; + }; + + _proto.disable = function disable() { + this._isEnabled = false; + }; + + _proto.toggleEnabled = function toggleEnabled() { + this._isEnabled = !this._isEnabled; + }; + + _proto.toggle = function toggle(event) { + if (!this._isEnabled) { + return; + } + + if (event) { + var dataKey = this.constructor.DATA_KEY; + var context = $(event.currentTarget).data(dataKey); + + if (!context) { + context = new this.constructor(event.currentTarget, this._getDelegateConfig()); + $(event.currentTarget).data(dataKey, context); + } + + context._activeTrigger.click = !context._activeTrigger.click; + + if (context._isWithActiveTrigger()) { + context._enter(null, context); + } else { + context._leave(null, context); + } + } else { + if ($(this.getTipElement()).hasClass(ClassName$6.SHOW)) { + this._leave(null, this); + + return; + } + + this._enter(null, this); + } + }; + + _proto.dispose = function dispose() { + clearTimeout(this._timeout); + $.removeData(this.element, this.constructor.DATA_KEY); + $(this.element).off(this.constructor.EVENT_KEY); + $(this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler); + + if (this.tip) { + $(this.tip).remove(); + } + + this._isEnabled = null; + this._timeout = null; + this._hoverState = null; + this._activeTrigger = null; + + if (this._popper) { + this._popper.destroy(); + } + + this._popper = null; + this.element = null; + this.config = null; + this.tip = null; + }; + + _proto.show = function show() { + var _this = this; + + if ($(this.element).css('display') === 'none') { + throw new Error('Please use show on visible elements'); + } + + var showEvent = $.Event(this.constructor.Event.SHOW); + + if (this.isWithContent() && this._isEnabled) { + $(this.element).trigger(showEvent); + var shadowRoot = Util.findShadowRoot(this.element); + var isInTheDom = $.contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element); + + if (showEvent.isDefaultPrevented() || !isInTheDom) { + return; + } + + var tip = this.getTipElement(); + var tipId = Util.getUID(this.constructor.NAME); + tip.setAttribute('id', tipId); + this.element.setAttribute('aria-describedby', tipId); + this.setContent(); + + if (this.config.animation) { + $(tip).addClass(ClassName$6.FADE); + } + + var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement; + + var attachment = this._getAttachment(placement); + + this.addAttachmentClass(attachment); + + var container = this._getContainer(); + + $(tip).data(this.constructor.DATA_KEY, this); + + if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) { + $(tip).appendTo(container); + } + + $(this.element).trigger(this.constructor.Event.INSERTED); + this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment)); + $(tip).addClass(ClassName$6.SHOW); // If this is a touch-enabled device we add extra + // empty mouseover listeners to the body's immediate children; + // only needed because of broken event delegation on iOS + // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html + + if ('ontouchstart' in document.documentElement) { + $(document.body).children().on('mouseover', null, $.noop); + } + + var complete = function complete() { + if (_this.config.animation) { + _this._fixTransition(); + } + + var prevHoverState = _this._hoverState; + _this._hoverState = null; + $(_this.element).trigger(_this.constructor.Event.SHOWN); + + if (prevHoverState === HoverState.OUT) { + _this._leave(null, _this); + } + }; + + if ($(this.tip).hasClass(ClassName$6.FADE)) { + var transitionDuration = Util.getTransitionDurationFromElement(this.tip); + $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + } else { + complete(); + } + } + }; + + _proto.hide = function hide(callback) { + var _this2 = this; + + var tip = this.getTipElement(); + var hideEvent = $.Event(this.constructor.Event.HIDE); + + var complete = function complete() { + if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) { + tip.parentNode.removeChild(tip); + } + + _this2._cleanTipClass(); + + _this2.element.removeAttribute('aria-describedby'); + + $(_this2.element).trigger(_this2.constructor.Event.HIDDEN); + + if (_this2._popper !== null) { + _this2._popper.destroy(); + } + + if (callback) { + callback(); + } + }; + + $(this.element).trigger(hideEvent); + + if (hideEvent.isDefaultPrevented()) { + return; + } + + $(tip).removeClass(ClassName$6.SHOW); // If this is a touch-enabled device we remove the extra + // empty mouseover listeners we added for iOS support + + if ('ontouchstart' in document.documentElement) { + $(document.body).children().off('mouseover', null, $.noop); + } + + this._activeTrigger[Trigger.CLICK] = false; + this._activeTrigger[Trigger.FOCUS] = false; + this._activeTrigger[Trigger.HOVER] = false; + + if ($(this.tip).hasClass(ClassName$6.FADE)) { + var transitionDuration = Util.getTransitionDurationFromElement(tip); + $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + } else { + complete(); + } + + this._hoverState = ''; + }; + + _proto.update = function update() { + if (this._popper !== null) { + this._popper.scheduleUpdate(); + } + } // Protected + ; + + _proto.isWithContent = function isWithContent() { + return Boolean(this.getTitle()); + }; + + _proto.addAttachmentClass = function addAttachmentClass(attachment) { + $(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment); + }; + + _proto.getTipElement = function getTipElement() { + this.tip = this.tip || $(this.config.template)[0]; + return this.tip; + }; + + _proto.setContent = function setContent() { + var tip = this.getTipElement(); + this.setElementContent($(tip.querySelectorAll(Selector$6.TOOLTIP_INNER)), this.getTitle()); + $(tip).removeClass(ClassName$6.FADE + " " + ClassName$6.SHOW); + }; + + _proto.setElementContent = function setElementContent($element, content) { + if (typeof content === 'object' && (content.nodeType || content.jquery)) { + // Content is a DOM node or a jQuery + if (this.config.html) { + if (!$(content).parent().is($element)) { + $element.empty().append(content); + } + } else { + $element.text($(content).text()); + } + + return; + } + + if (this.config.html) { + if (this.config.sanitize) { + content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn); + } + + $element.html(content); + } else { + $element.text(content); + } + }; + + _proto.getTitle = function getTitle() { + var title = this.element.getAttribute('data-original-title'); + + if (!title) { + title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title; + } + + return title; + } // Private + ; + + _proto._getPopperConfig = function _getPopperConfig(attachment) { + var _this3 = this; + + var defaultBsConfig = { + placement: attachment, + modifiers: { + offset: this._getOffset(), + flip: { + behavior: this.config.fallbackPlacement + }, + arrow: { + element: Selector$6.ARROW + }, + preventOverflow: { + boundariesElement: this.config.boundary + } + }, + onCreate: function onCreate(data) { + if (data.originalPlacement !== data.placement) { + _this3._handlePopperPlacementChange(data); + } + }, + onUpdate: function onUpdate(data) { + return _this3._handlePopperPlacementChange(data); + } + }; + return _objectSpread2({}, defaultBsConfig, {}, this.config.popperConfig); + }; + + _proto._getOffset = function _getOffset() { + var _this4 = this; + + var offset = {}; + + if (typeof this.config.offset === 'function') { + offset.fn = function (data) { + data.offsets = _objectSpread2({}, data.offsets, {}, _this4.config.offset(data.offsets, _this4.element) || {}); + return data; + }; + } else { + offset.offset = this.config.offset; + } + + return offset; + }; + + _proto._getContainer = function _getContainer() { + if (this.config.container === false) { + return document.body; + } + + if (Util.isElement(this.config.container)) { + return $(this.config.container); + } + + return $(document).find(this.config.container); + }; + + _proto._getAttachment = function _getAttachment(placement) { + return AttachmentMap$1[placement.toUpperCase()]; + }; + + _proto._setListeners = function _setListeners() { + var _this5 = this; + + var triggers = this.config.trigger.split(' '); + triggers.forEach(function (trigger) { + if (trigger === 'click') { + $(_this5.element).on(_this5.constructor.Event.CLICK, _this5.config.selector, function (event) { + return _this5.toggle(event); + }); + } else if (trigger !== Trigger.MANUAL) { + var eventIn = trigger === Trigger.HOVER ? _this5.constructor.Event.MOUSEENTER : _this5.constructor.Event.FOCUSIN; + var eventOut = trigger === Trigger.HOVER ? _this5.constructor.Event.MOUSELEAVE : _this5.constructor.Event.FOCUSOUT; + $(_this5.element).on(eventIn, _this5.config.selector, function (event) { + return _this5._enter(event); + }).on(eventOut, _this5.config.selector, function (event) { + return _this5._leave(event); + }); + } + }); + + this._hideModalHandler = function () { + if (_this5.element) { + _this5.hide(); + } + }; + + $(this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler); + + if (this.config.selector) { + this.config = _objectSpread2({}, this.config, { + trigger: 'manual', + selector: '' + }); + } else { + this._fixTitle(); + } + }; + + _proto._fixTitle = function _fixTitle() { + var titleType = typeof this.element.getAttribute('data-original-title'); + + if (this.element.getAttribute('title') || titleType !== 'string') { + this.element.setAttribute('data-original-title', this.element.getAttribute('title') || ''); + this.element.setAttribute('title', ''); + } + }; + + _proto._enter = function _enter(event, context) { + var dataKey = this.constructor.DATA_KEY; + context = context || $(event.currentTarget).data(dataKey); + + if (!context) { + context = new this.constructor(event.currentTarget, this._getDelegateConfig()); + $(event.currentTarget).data(dataKey, context); + } + + if (event) { + context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true; + } + + if ($(context.getTipElement()).hasClass(ClassName$6.SHOW) || context._hoverState === HoverState.SHOW) { + context._hoverState = HoverState.SHOW; + return; + } + + clearTimeout(context._timeout); + context._hoverState = HoverState.SHOW; + + if (!context.config.delay || !context.config.delay.show) { + context.show(); + return; + } + + context._timeout = setTimeout(function () { + if (context._hoverState === HoverState.SHOW) { + context.show(); + } + }, context.config.delay.show); + }; + + _proto._leave = function _leave(event, context) { + var dataKey = this.constructor.DATA_KEY; + context = context || $(event.currentTarget).data(dataKey); + + if (!context) { + context = new this.constructor(event.currentTarget, this._getDelegateConfig()); + $(event.currentTarget).data(dataKey, context); + } + + if (event) { + context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false; + } + + if (context._isWithActiveTrigger()) { + return; + } + + clearTimeout(context._timeout); + context._hoverState = HoverState.OUT; + + if (!context.config.delay || !context.config.delay.hide) { + context.hide(); + return; + } + + context._timeout = setTimeout(function () { + if (context._hoverState === HoverState.OUT) { + context.hide(); + } + }, context.config.delay.hide); + }; + + _proto._isWithActiveTrigger = function _isWithActiveTrigger() { + for (var trigger in this._activeTrigger) { + if (this._activeTrigger[trigger]) { + return true; + } + } + + return false; + }; + + _proto._getConfig = function _getConfig(config) { + var dataAttributes = $(this.element).data(); + Object.keys(dataAttributes).forEach(function (dataAttr) { + if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) { + delete dataAttributes[dataAttr]; + } + }); + config = _objectSpread2({}, this.constructor.Default, {}, dataAttributes, {}, typeof config === 'object' && config ? config : {}); + + if (typeof config.delay === 'number') { + config.delay = { + show: config.delay, + hide: config.delay + }; + } + + if (typeof config.title === 'number') { + config.title = config.title.toString(); + } + + if (typeof config.content === 'number') { + config.content = config.content.toString(); + } + + Util.typeCheckConfig(NAME$6, config, this.constructor.DefaultType); + + if (config.sanitize) { + config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn); + } + + return config; + }; + + _proto._getDelegateConfig = function _getDelegateConfig() { + var config = {}; + + if (this.config) { + for (var key in this.config) { + if (this.constructor.Default[key] !== this.config[key]) { + config[key] = this.config[key]; + } + } + } + + return config; + }; + + _proto._cleanTipClass = function _cleanTipClass() { + var $tip = $(this.getTipElement()); + var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX); + + if (tabClass !== null && tabClass.length) { + $tip.removeClass(tabClass.join('')); + } + }; + + _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) { + var popperInstance = popperData.instance; + this.tip = popperInstance.popper; + + this._cleanTipClass(); + + this.addAttachmentClass(this._getAttachment(popperData.placement)); + }; + + _proto._fixTransition = function _fixTransition() { + var tip = this.getTipElement(); + var initConfigAnimation = this.config.animation; + + if (tip.getAttribute('x-placement') !== null) { + return; + } + + $(tip).removeClass(ClassName$6.FADE); + this.config.animation = false; + this.hide(); + this.show(); + this.config.animation = initConfigAnimation; + } // Static + ; + + Tooltip._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY$6); + + var _config = typeof config === 'object' && config; + + if (!data && /dispose|hide/.test(config)) { + return; + } + + if (!data) { + data = new Tooltip(this, _config); + $(this).data(DATA_KEY$6, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + _createClass(Tooltip, null, [{ + key: "VERSION", + get: function get() { + return VERSION$6; + } + }, { + key: "Default", + get: function get() { + return Default$4; + } + }, { + key: "NAME", + get: function get() { + return NAME$6; + } + }, { + key: "DATA_KEY", + get: function get() { + return DATA_KEY$6; + } + }, { + key: "Event", + get: function get() { + return Event$6; + } + }, { + key: "EVENT_KEY", + get: function get() { + return EVENT_KEY$6; + } + }, { + key: "DefaultType", + get: function get() { + return DefaultType$4; + } + }]); + + return Tooltip; + }(); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + + $.fn[NAME$6] = Tooltip._jQueryInterface; + $.fn[NAME$6].Constructor = Tooltip; + + $.fn[NAME$6].noConflict = function () { + $.fn[NAME$6] = JQUERY_NO_CONFLICT$6; + return Tooltip._jQueryInterface; + }; + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME$7 = 'popover'; + var VERSION$7 = '4.4.1'; + var DATA_KEY$7 = 'bs.popover'; + var EVENT_KEY$7 = "." + DATA_KEY$7; + var JQUERY_NO_CONFLICT$7 = $.fn[NAME$7]; + var CLASS_PREFIX$1 = 'bs-popover'; + var BSCLS_PREFIX_REGEX$1 = new RegExp("(^|\\s)" + CLASS_PREFIX$1 + "\\S+", 'g'); + + var Default$5 = _objectSpread2({}, Tooltip.Default, { + placement: 'right', + trigger: 'click', + content: '', + template: '' + }); + + var DefaultType$5 = _objectSpread2({}, Tooltip.DefaultType, { + content: '(string|element|function)' + }); + + var ClassName$7 = { + FADE: 'fade', + SHOW: 'show' + }; + var Selector$7 = { + TITLE: '.popover-header', + CONTENT: '.popover-body' + }; + var Event$7 = { + HIDE: "hide" + EVENT_KEY$7, + HIDDEN: "hidden" + EVENT_KEY$7, + SHOW: "show" + EVENT_KEY$7, + SHOWN: "shown" + EVENT_KEY$7, + INSERTED: "inserted" + EVENT_KEY$7, + CLICK: "click" + EVENT_KEY$7, + FOCUSIN: "focusin" + EVENT_KEY$7, + FOCUSOUT: "focusout" + EVENT_KEY$7, + MOUSEENTER: "mouseenter" + EVENT_KEY$7, + MOUSELEAVE: "mouseleave" + EVENT_KEY$7 + }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var Popover = + /*#__PURE__*/ + function (_Tooltip) { + _inheritsLoose(Popover, _Tooltip); + + function Popover() { + return _Tooltip.apply(this, arguments) || this; + } + + var _proto = Popover.prototype; + + // Overrides + _proto.isWithContent = function isWithContent() { + return this.getTitle() || this._getContent(); + }; + + _proto.addAttachmentClass = function addAttachmentClass(attachment) { + $(this.getTipElement()).addClass(CLASS_PREFIX$1 + "-" + attachment); + }; + + _proto.getTipElement = function getTipElement() { + this.tip = this.tip || $(this.config.template)[0]; + return this.tip; + }; + + _proto.setContent = function setContent() { + var $tip = $(this.getTipElement()); // We use append for html objects to maintain js events + + this.setElementContent($tip.find(Selector$7.TITLE), this.getTitle()); + + var content = this._getContent(); + + if (typeof content === 'function') { + content = content.call(this.element); + } + + this.setElementContent($tip.find(Selector$7.CONTENT), content); + $tip.removeClass(ClassName$7.FADE + " " + ClassName$7.SHOW); + } // Private + ; + + _proto._getContent = function _getContent() { + return this.element.getAttribute('data-content') || this.config.content; + }; + + _proto._cleanTipClass = function _cleanTipClass() { + var $tip = $(this.getTipElement()); + var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX$1); + + if (tabClass !== null && tabClass.length > 0) { + $tip.removeClass(tabClass.join('')); + } + } // Static + ; + + Popover._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY$7); + + var _config = typeof config === 'object' ? config : null; + + if (!data && /dispose|hide/.test(config)) { + return; + } + + if (!data) { + data = new Popover(this, _config); + $(this).data(DATA_KEY$7, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + _createClass(Popover, null, [{ + key: "VERSION", + // Getters + get: function get() { + return VERSION$7; + } + }, { + key: "Default", + get: function get() { + return Default$5; + } + }, { + key: "NAME", + get: function get() { + return NAME$7; + } + }, { + key: "DATA_KEY", + get: function get() { + return DATA_KEY$7; + } + }, { + key: "Event", + get: function get() { + return Event$7; + } + }, { + key: "EVENT_KEY", + get: function get() { + return EVENT_KEY$7; + } + }, { + key: "DefaultType", + get: function get() { + return DefaultType$5; + } + }]); + + return Popover; + }(Tooltip); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + + $.fn[NAME$7] = Popover._jQueryInterface; + $.fn[NAME$7].Constructor = Popover; + + $.fn[NAME$7].noConflict = function () { + $.fn[NAME$7] = JQUERY_NO_CONFLICT$7; + return Popover._jQueryInterface; + }; + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME$8 = 'scrollspy'; + var VERSION$8 = '4.4.1'; + var DATA_KEY$8 = 'bs.scrollspy'; + var EVENT_KEY$8 = "." + DATA_KEY$8; + var DATA_API_KEY$6 = '.data-api'; + var JQUERY_NO_CONFLICT$8 = $.fn[NAME$8]; + var Default$6 = { + offset: 10, + method: 'auto', + target: '' + }; + var DefaultType$6 = { + offset: 'number', + method: 'string', + target: '(string|element)' + }; + var Event$8 = { + ACTIVATE: "activate" + EVENT_KEY$8, + SCROLL: "scroll" + EVENT_KEY$8, + LOAD_DATA_API: "load" + EVENT_KEY$8 + DATA_API_KEY$6 + }; + var ClassName$8 = { + DROPDOWN_ITEM: 'dropdown-item', + DROPDOWN_MENU: 'dropdown-menu', + ACTIVE: 'active' + }; + var Selector$8 = { + DATA_SPY: '[data-spy="scroll"]', + ACTIVE: '.active', + NAV_LIST_GROUP: '.nav, .list-group', + NAV_LINKS: '.nav-link', + NAV_ITEMS: '.nav-item', + LIST_ITEMS: '.list-group-item', + DROPDOWN: '.dropdown', + DROPDOWN_ITEMS: '.dropdown-item', + DROPDOWN_TOGGLE: '.dropdown-toggle' + }; + var OffsetMethod = { + OFFSET: 'offset', + POSITION: 'position' + }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var ScrollSpy = + /*#__PURE__*/ + function () { + function ScrollSpy(element, config) { + var _this = this; + + this._element = element; + this._scrollElement = element.tagName === 'BODY' ? window : element; + this._config = this._getConfig(config); + this._selector = this._config.target + " " + Selector$8.NAV_LINKS + "," + (this._config.target + " " + Selector$8.LIST_ITEMS + ",") + (this._config.target + " " + Selector$8.DROPDOWN_ITEMS); + this._offsets = []; + this._targets = []; + this._activeTarget = null; + this._scrollHeight = 0; + $(this._scrollElement).on(Event$8.SCROLL, function (event) { + return _this._process(event); + }); + this.refresh(); + + this._process(); + } // Getters + + + var _proto = ScrollSpy.prototype; + + // Public + _proto.refresh = function refresh() { + var _this2 = this; + + var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION; + var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method; + var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0; + this._offsets = []; + this._targets = []; + this._scrollHeight = this._getScrollHeight(); + var targets = [].slice.call(document.querySelectorAll(this._selector)); + targets.map(function (element) { + var target; + var targetSelector = Util.getSelectorFromElement(element); + + if (targetSelector) { + target = document.querySelector(targetSelector); + } + + if (target) { + var targetBCR = target.getBoundingClientRect(); + + if (targetBCR.width || targetBCR.height) { + // TODO (fat): remove sketch reliance on jQuery position/offset + return [$(target)[offsetMethod]().top + offsetBase, targetSelector]; + } + } + + return null; + }).filter(function (item) { + return item; + }).sort(function (a, b) { + return a[0] - b[0]; + }).forEach(function (item) { + _this2._offsets.push(item[0]); + + _this2._targets.push(item[1]); + }); + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY$8); + $(this._scrollElement).off(EVENT_KEY$8); + this._element = null; + this._scrollElement = null; + this._config = null; + this._selector = null; + this._offsets = null; + this._targets = null; + this._activeTarget = null; + this._scrollHeight = null; + } // Private + ; + + _proto._getConfig = function _getConfig(config) { + config = _objectSpread2({}, Default$6, {}, typeof config === 'object' && config ? config : {}); + + if (typeof config.target !== 'string') { + var id = $(config.target).attr('id'); + + if (!id) { + id = Util.getUID(NAME$8); + $(config.target).attr('id', id); + } + + config.target = "#" + id; + } + + Util.typeCheckConfig(NAME$8, config, DefaultType$6); + return config; + }; + + _proto._getScrollTop = function _getScrollTop() { + return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop; + }; + + _proto._getScrollHeight = function _getScrollHeight() { + return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight); + }; + + _proto._getOffsetHeight = function _getOffsetHeight() { + return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height; + }; + + _proto._process = function _process() { + var scrollTop = this._getScrollTop() + this._config.offset; + + var scrollHeight = this._getScrollHeight(); + + var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight(); + + if (this._scrollHeight !== scrollHeight) { + this.refresh(); + } + + if (scrollTop >= maxScroll) { + var target = this._targets[this._targets.length - 1]; + + if (this._activeTarget !== target) { + this._activate(target); + } + + return; + } + + if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) { + this._activeTarget = null; + + this._clear(); + + return; + } + + var offsetLength = this._offsets.length; + + for (var i = offsetLength; i--;) { + var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]); + + if (isActiveTarget) { + this._activate(this._targets[i]); + } + } + }; + + _proto._activate = function _activate(target) { + this._activeTarget = target; + + this._clear(); + + var queries = this._selector.split(',').map(function (selector) { + return selector + "[data-target=\"" + target + "\"]," + selector + "[href=\"" + target + "\"]"; + }); + + var $link = $([].slice.call(document.querySelectorAll(queries.join(',')))); + + if ($link.hasClass(ClassName$8.DROPDOWN_ITEM)) { + $link.closest(Selector$8.DROPDOWN).find(Selector$8.DROPDOWN_TOGGLE).addClass(ClassName$8.ACTIVE); + $link.addClass(ClassName$8.ACTIVE); + } else { + // Set triggered link as active + $link.addClass(ClassName$8.ACTIVE); // Set triggered links parents as active + // With both
        and