diff --git a/VERSION b/VERSION index db50370908..ee1a8f2374 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -15.5 +15.6 diff --git a/api/v1/entries/productissue.php b/api/v1/entries/productissue.php index 16b9fe6898..ed999bd2bd 100644 --- a/api/v1/entries/productissue.php +++ b/api/v1/entries/productissue.php @@ -124,22 +124,21 @@ class productIssueEntry extends entry /* Get all users in issues so that we can get user detail later in batch. */ $accountList = array(); - foreach($issue->assignedTo as $user) $accountList[] = $user; + foreach($issue->assignedTo as $account) $accountList[] = $account; $accountList[] = $issue->openedBy; $accountList = array_unique($accountList); $profileList = $this->loadModel('user')->getUserDetailsForAPI($accountList); /* Set the user detail to assignedTo and openedBy. */ - foreach($issue->assignedTo as $key => $user) + foreach($issue->assignedTo as $key => $account) { - /* $key can be 'closed' in some case, so here should be process it. */ - if($key == 'closed') + if($account == 'closed') { $issue->assignedTo = array(); break; } - $issue->assignedTo[$key] = $profileList[$user]; + $issue->assignedTo[$key] = $profileList[$account]; } $issue->openedBy = $profileList[$issue->openedBy]; diff --git a/api/v1/entries/productissues.php b/api/v1/entries/productissues.php index 2769896bd3..f63e2e04e3 100644 --- a/api/v1/entries/productissues.php +++ b/api/v1/entries/productissues.php @@ -92,8 +92,12 @@ class productIssuesEntry extends entry $taskTypeMap = array_flip($this->app->lang->task->typeList); $bugTypeMap = array_flip($this->app->lang->bug->typeList); + $allValidLabels = array_merge(array_keys(array_merge($storyTypeMap, $taskTypeMap, $bugTypeMap)), array($this->app->lang->story->common, $this->app->lang->task->common, $this->app->lang->bug->common)); foreach($labels as $label) { + /* Return empty result if label is not exists.*/ + if(!in_array($label, $allValidLabels)) $this->send(200, array('page' => $page, 'total' => 0, 'limit' => $limit, 'issues' => array())); + if($label == $this->app->lang->story->common) $storyFilter[] = 'all'; if(isset($storyTypeMap[$label])) $storyFilter[] = $storyTypeMap[$label]; @@ -239,7 +243,6 @@ class productIssuesEntry extends entry $r->assignedTo = array($task->assignedTo); } } - } elseif($issue['type'] == 'story') { @@ -300,9 +303,9 @@ class productIssuesEntry extends entry $userList = array(); foreach($result as $issue) { - foreach($issue->assignedTo as $user) + foreach($issue->assignedTo as $account) { - $userList[] = $user; + $userList[] = $account; } $userList[] = $issue->openedBy; } @@ -315,15 +318,14 @@ class productIssuesEntry extends entry */ foreach($result as $issue) { - foreach($issue->assignedTo as $key => $user) + foreach($issue->assignedTo as $key => $account) { - /* $key can be 'closed' in some case, so here should be process it. */ - if($key == 'closed') + if($account == 'closed') { $issue->assignedTo = array(); break; } - $issue->assignedTo[$key] = $userDetails[$user]; + $issue->assignedTo[$key] = $userDetails[$account]; } $issue->openedBy = $userDetails[$issue->openedBy]; } diff --git a/config/config.php b/config/config.php index 3512acf6b7..f78feccc73 100644 --- a/config/config.php +++ b/config/config.php @@ -16,7 +16,7 @@ if(!class_exists('config')){class config{}} if(!function_exists('getWebRoot')){function getWebRoot(){}} /* 基本设置。Basic settings. */ -$config->version = '15.5'; // ZenTaoPHP的版本。 The version of ZenTaoPHP. Don't change it. +$config->version = '15.6'; // ZenTaoPHP的版本。 The version of ZenTaoPHP. Don't change it. $config->charset = 'UTF-8'; // ZenTaoPHP的编码。 The encoding of ZenTaoPHP. $config->cookieLife = time() + 2592000; // Cookie的生存时间。The cookie life time. $config->timezone = 'Asia/Shanghai'; // 时区设置。 The time zone setting, for more see http://www.php.net/manual/en/timezones.php. diff --git a/db/demo.sql b/db/demo.sql index 08ba533c4a..ac6ed6d84c 100644 --- a/db/demo.sql +++ b/db/demo.sql @@ -377,16 +377,16 @@ INSERT INTO `zt_module` (`id`, `root`, `branch`, `name`, `parent`, `path`, `grad (13, 1, 0, '合作洽谈', 0, ',13,', 1, 60, 'bug', '', '', '', '0'), (14, 1, 0, '关于我们', 0, ',14,', 1, 70, 'bug', '', '', '', '0'), (15, 6, 0, '企业管理', 0, ',15,', 1, 0, 'line', '', '', '', '0'); -INSERT INTO `zt_product` (`id`, `program`, `name`, `code`, `bind`, `line`, `type`, `status`, `subStatus`, `desc`, `PO`, `QD`, `RD`, `acl`, `whitelist`, `createdBy`, `createdDate`, `createdVersion`, `order`, `deleted`, `storyConcept`) VALUES -(1, 6, '公司企业网站建设', 'companyWebsite', '0', 0, 'normal', 'normal', '', '建立公司企业网站,可以更好对外展示。
', 'productManager', 'testManager', 'productManager', 'open', '', 'productManager', '2012-06-05 09:57:07', '', 5, '0', 0), -(2, 6, '企业内部工时管理系统', 'workhourManage', '0', 0, 'normal', 'normal', '', '', 'productManager', 'testManager', 'productManager', 'open', '', 'productManager', '2012-06-05 11:15:20', '5.2.1', 10, '0', 0); +INSERT INTO `zt_product` (`id`, `program`, `name`, `code`, `bind`, `line`, `type`, `status`, `subStatus`, `desc`, `PO`, `QD`, `RD`, `acl`, `whitelist`, `createdBy`, `createdDate`, `createdVersion`, `order`, `deleted`) VALUES +(1, 6, '公司企业网站建设', 'companyWebsite', '0', 0, 'normal', 'normal', '', '建立公司企业网站,可以更好对外展示。
', 'productManager', 'testManager', 'productManager', 'open', '', 'productManager', '2012-06-05 09:57:07', '', 5, '0'), +(2, 6, '企业内部工时管理系统', 'workhourManage', '0', 0, 'normal', 'normal', '', '', 'productManager', 'testManager', 'productManager', 'open', '', 'productManager', '2012-06-05 11:15:20', '5.2.1', 10, '0'); INSERT INTO `zt_productplan` (`id`, `product`, `branch`, `parent`, `title`, `desc`, `begin`, `end`, `order`, `deleted`) VALUES (1, 1, 0, 0, '1.0版本', '开发出企业网站1.0版本。
', '2020-06-05', '2021-06-04', '', '0'); -INSERT INTO `zt_project` (`id`, `project`, `model`, `type`, `product`, `lifetime`, `budget`, `budgetUnit`, `attribute`, `percent`, `milestone`, `output`, `auth`, `parent`, `path`, `grade`, `name`, `code`, `begin`, `end`, `realBegan`, `realEnd`, `days`, `status`, `subStatus`, `statge`, `pri`, `desc`, `version`, `parentVersion`, `planDuration`, `realDuration`, `openedBy`, `openedDate`, `openedVersion`, `lastEditedBy`, `lastEditedDate`, `closedBy`, `closedDate`, `canceledBy`, `canceledDate`, `PO`, `PM`, `QD`, `RD`, `team`, `acl`, `whitelist`, `order`, `deleted`, `storyConcept`) VALUES -(1, 7, '', 'sprint', 'single', 'sprint', '0', 'CNY', '', 0, '0', '', '', 7, ',7,1,', 1, '企业网站第一期', 'coWeb1', '2020-06-05', '2021-12-04', '0000-00-00', '0000-00-00', 391, 'doing', '', '1', '1', '开发企业网站的基本雏形。
', 0, 0, 0, 0, '', '0000-00-00 00:00:00', '', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 'productManager', 'projectManager', 'testManager', 'productManager', '公司开发团队', 'open', '', 5, '0', 0), -(2, 7, '', 'sprint', 'single', 'sprint', '0', 'CNY', '', 0, '0', '', '', 7, ',7,2,', 1, '企业网站第二期', 'coWebsite2', '2021-06-05', '2022-06-04', '0000-00-00', '0000-00-00', 260, 'wait', '', '1', '1', '', 0, 0, 0, 0, '', '0000-00-00 00:00:00', '', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 'productManager', 'projectManager', 'testManager', 'productManager', '公司开发团队', 'open', '', 10, '0', 0), -(7, 0, 'scrum', 'project', 'single', 'sprint', '0', 'CNY', '', 0, '0', '', 'extend', 6, ',6,7,', 2, '企业管理系统', '', '2021-06-05', '2022-06-04', '0000-00-00', '0000-00-00', 0, 'doing', '', '1', '1', '', 0, 0, 0, 0, 'admin', '2021-04-28 11:22:04', '15.0.rc3', 'admin', '2021-04-28 11:22:04', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '', 'projectManager', '', '', '', 'open', ',tester3,admin', 35, '0', 0), -(6, 0, '', 'program', 'single', 'sprint', '0', 'CNY', '', 0, '0', '', '', 0, ',6,', 1, '企业管理', '', '2021-06-05', '2022-06-04', '0000-00-00', '0000-00-00', 0, 'doing', '', '1', '1', '', 0, 0, 0, 0, 'admin', '2021-04-28 11:22:04', '15.0.rc3', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '', '', '', '', '', 'open', '', 30, '0', 0); +INSERT INTO `zt_project` (`id`, `project`, `model`, `type`, `lifetime`, `budget`, `budgetUnit`, `attribute`, `percent`, `milestone`, `output`, `auth`, `parent`, `path`, `grade`, `name`, `code`, `begin`, `end`, `realBegan`, `realEnd`, `days`, `status`, `subStatus`, `pri`, `desc`, `version`, `parentVersion`, `planDuration`, `realDuration`, `openedBy`, `openedDate`, `openedVersion`, `lastEditedBy`, `lastEditedDate`, `closedBy`, `closedDate`, `canceledBy`, `canceledDate`, `PO`, `PM`, `QD`, `RD`, `team`, `acl`, `whitelist`, `order`, `deleted`) VALUES +(1, 7, '', 'sprint', 'sprint', '0', 'CNY', '', 0, '0', '', '', 7, ',7,1,', 1, '企业网站第一期', 'coWeb1', '2020-06-05', '2021-12-04', '0000-00-00', '0000-00-00', 391, 'doing', '', '1', '开发企业网站的基本雏形。
', 0, 0, 0, 0, '', '0000-00-00 00:00:00', '', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 'productManager', 'projectManager', 'testManager', 'productManager', '公司开发团队', 'open', '', 5, '0'), +(2, 7, '', 'sprint', 'sprint', '0', 'CNY', '', 0, '0', '', '', 7, ',7,2,', 1, '企业网站第二期', 'coWebsite2', '2021-06-05', '2022-06-04', '0000-00-00', '0000-00-00', 260, 'wait', '', '1', '', 0, 0, 0, 0, '', '0000-00-00 00:00:00', '', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', 'productManager', 'projectManager', 'testManager', 'productManager', '公司开发团队', 'open', '', 10, '0'), +(7, 0, 'scrum', 'project', 'sprint', '0', 'CNY', '', 0, '0', '', 'extend', 6, ',6,7,', 2, '企业管理系统', '', '2021-06-05', '2022-06-04', '0000-00-00', '0000-00-00', 0, 'doing', '', '1', '', 0, 0, 0, 0, 'admin', '2021-04-28 11:22:04', '15.0.rc3', 'admin', '2021-04-28 11:22:04', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '', 'projectManager', '', '', '', 'open', ',tester3,admin', 35, '0'), +(6, 0, '', 'program', 'sprint', '0', 'CNY', '', 0, '0', '', '', 0, ',6,', 1, '企业管理', '', '2021-06-05', '2022-06-04', '0000-00-00', '0000-00-00', 0, 'doing', '', '1', '', 0, 0, 0, 0, 'admin', '2021-04-28 11:22:04', '15.0.rc3', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '', '', '', '', '', 'open', '', 30, '0'); INSERT INTO `zt_projectcase` (`project`, `product`, `case`, `count`, `version`, `order`) VALUES (1, 1, 2, 1, 1, 4), (7, 1, 1, 1, 1, 5), diff --git a/db/standard/zentao15.6.sql b/db/standard/zentao15.6.sql new file mode 100644 index 0000000000..3a4a9c7c28 --- /dev/null +++ b/db/standard/zentao15.6.sql @@ -0,0 +1,1264 @@ +CREATE TABLE `zt_acl` ( + `id` mediumint(9) NOT NULL AUTO_INCREMENT, + `account` char(30) NOT NULL, + `objectType` char(30) NOT NULL, + `objectID` mediumint(9) NOT NULL DEFAULT 0, + `type` char(40) NOT NULL DEFAULT 'whitelist', + `source` char(30) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_action` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `objectType` varchar(30) NOT NULL DEFAULT '', + `objectID` mediumint(8) unsigned NOT NULL DEFAULT 0, + `product` varchar(255) NOT NULL, + `project` mediumint(8) unsigned NOT NULL, + `execution` mediumint(8) unsigned NOT NULL, + `actor` varchar(100) NOT NULL DEFAULT '', + `action` varchar(30) NOT NULL DEFAULT '', + `date` datetime NOT NULL, + `comment` text NOT NULL, + `extra` text NOT NULL, + `read` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `date` (`date`), + KEY `actor` (`actor`), + KEY `project` (`project`), + KEY `action` (`action`), + KEY `objectID` (`objectID`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_block` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `account` char(30) NOT NULL, + `module` varchar(20) NOT NULL, + `type` char(30) NOT NULL, + `title` varchar(100) NOT NULL, + `source` varchar(20) NOT NULL, + `block` varchar(20) NOT NULL, + `params` text NOT NULL, + `order` tinyint(3) unsigned NOT NULL DEFAULT 0, + `grid` tinyint(3) unsigned NOT NULL DEFAULT 0, + `height` smallint(5) unsigned NOT NULL DEFAULT 0, + `hidden` tinyint(1) unsigned NOT NULL DEFAULT 0, + PRIMARY KEY (`id`), + UNIQUE KEY `account_module_type_order` (`account`,`module`,`type`,`order`), + KEY `account` (`account`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_branch` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `product` mediumint(8) unsigned NOT NULL, + `name` varchar(255) NOT NULL, + `order` smallint(5) unsigned NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `product` (`product`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_bug` ( + `id` mediumint(8) NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `product` mediumint(8) unsigned NOT NULL DEFAULT 0, + `branch` mediumint(8) unsigned NOT NULL DEFAULT 0, + `module` mediumint(8) unsigned NOT NULL DEFAULT 0, + `execution` mediumint(8) unsigned NOT NULL DEFAULT 0, + `plan` mediumint(8) unsigned NOT NULL DEFAULT 0, + `story` mediumint(8) unsigned NOT NULL DEFAULT 0, + `storyVersion` smallint(6) NOT NULL DEFAULT 1, + `task` mediumint(8) unsigned NOT NULL DEFAULT 0, + `toTask` mediumint(8) unsigned NOT NULL DEFAULT 0, + `toStory` mediumint(8) NOT NULL DEFAULT 0, + `title` varchar(255) NOT NULL, + `keywords` varchar(255) NOT NULL, + `severity` tinyint(4) NOT NULL DEFAULT 0, + `pri` tinyint(3) unsigned NOT NULL, + `type` varchar(30) NOT NULL DEFAULT '', + `os` varchar(30) NOT NULL DEFAULT '', + `browser` varchar(30) NOT NULL DEFAULT '', + `hardware` varchar(30) NOT NULL, + `found` varchar(30) NOT NULL DEFAULT '', + `steps` text NOT NULL, + `status` enum('active','resolved','closed') NOT NULL DEFAULT 'active', + `subStatus` varchar(30) NOT NULL DEFAULT '', + `color` char(7) NOT NULL, + `confirmed` tinyint(1) NOT NULL DEFAULT 0, + `activatedCount` smallint(6) NOT NULL, + `activatedDate` datetime NOT NULL, + `mailto` text DEFAULT NULL, + `openedBy` varchar(30) NOT NULL DEFAULT '', + `openedDate` datetime NOT NULL, + `openedBuild` varchar(255) NOT NULL, + `assignedTo` varchar(30) NOT NULL DEFAULT '', + `assignedDate` datetime NOT NULL, + `deadline` date NOT NULL, + `resolvedBy` varchar(30) NOT NULL DEFAULT '', + `resolution` varchar(30) NOT NULL DEFAULT '', + `resolvedBuild` varchar(30) NOT NULL DEFAULT '', + `resolvedDate` datetime NOT NULL, + `closedBy` varchar(30) NOT NULL DEFAULT '', + `closedDate` datetime NOT NULL, + `duplicateBug` mediumint(8) unsigned NOT NULL, + `linkBug` varchar(255) NOT NULL, + `case` mediumint(8) unsigned NOT NULL, + `caseVersion` smallint(6) NOT NULL DEFAULT 1, + `result` mediumint(8) unsigned NOT NULL, + `repo` mediumint(8) unsigned NOT NULL, + `entry` varchar(255) NOT NULL, + `lines` varchar(10) NOT NULL, + `v1` varchar(40) NOT NULL, + `v2` varchar(40) NOT NULL, + `repoType` varchar(30) NOT NULL DEFAULT '', + `testtask` mediumint(8) unsigned NOT NULL, + `lastEditedBy` varchar(30) NOT NULL DEFAULT '', + `lastEditedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `product` (`product`), + KEY `execution` (`execution`), + KEY `status` (`status`), + KEY `plan` (`plan`), + KEY `story` (`story`), + KEY `case` (`case`), + KEY `toStory` (`toStory`), + KEY `result` (`result`), + KEY `assignedTo` (`assignedTo`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_build` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `product` mediumint(8) unsigned NOT NULL DEFAULT 0, + `branch` mediumint(8) unsigned NOT NULL DEFAULT 0, + `execution` mediumint(8) unsigned NOT NULL DEFAULT 0, + `name` char(150) NOT NULL, + `scmPath` char(255) NOT NULL, + `filePath` char(255) NOT NULL, + `date` date NOT NULL, + `stories` text NOT NULL, + `bugs` text NOT NULL, + `builder` char(30) NOT NULL DEFAULT '', + `desc` text NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `product` (`product`), + KEY `execution` (`execution`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_burn` ( + `execution` mediumint(8) unsigned NOT NULL, + `product` mediumint(8) unsigned NOT NULL, + `task` mediumint(8) unsigned NOT NULL DEFAULT 0, + `date` date NOT NULL, + `estimate` float NOT NULL, + `left` float NOT NULL, + `consumed` float NOT NULL, + `storyPoint` float NOT NULL, + PRIMARY KEY (`execution`,`date`,`task`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_case` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `product` mediumint(8) unsigned NOT NULL DEFAULT 0, + `execution` mediumint(8) unsigned NOT NULL, + `branch` mediumint(8) unsigned NOT NULL DEFAULT 0, + `lib` mediumint(8) unsigned NOT NULL DEFAULT 0, + `module` mediumint(8) unsigned NOT NULL DEFAULT 0, + `path` mediumint(8) unsigned NOT NULL DEFAULT 0, + `story` mediumint(30) unsigned NOT NULL DEFAULT 0, + `storyVersion` smallint(6) NOT NULL DEFAULT 1, + `title` varchar(255) NOT NULL, + `precondition` text NOT NULL, + `keywords` varchar(255) NOT NULL, + `pri` tinyint(3) unsigned NOT NULL DEFAULT 3, + `type` char(30) NOT NULL DEFAULT '1', + `auto` varchar(10) NOT NULL DEFAULT 'no', + `frame` varchar(10) NOT NULL, + `stage` varchar(255) NOT NULL, + `howRun` varchar(30) NOT NULL, + `scriptedBy` varchar(30) NOT NULL, + `scriptedDate` date NOT NULL, + `scriptStatus` varchar(30) NOT NULL, + `scriptLocation` varchar(255) NOT NULL, + `status` char(30) NOT NULL DEFAULT '1', + `subStatus` varchar(30) NOT NULL DEFAULT '', + `color` char(7) NOT NULL, + `frequency` enum('1','2','3') NOT NULL DEFAULT '1', + `order` tinyint(30) unsigned NOT NULL DEFAULT 0, + `openedBy` char(30) NOT NULL DEFAULT '', + `openedDate` datetime NOT NULL, + `reviewedBy` varchar(255) NOT NULL, + `reviewedDate` date NOT NULL, + `lastEditedBy` char(30) NOT NULL DEFAULT '', + `lastEditedDate` datetime NOT NULL, + `version` tinyint(3) unsigned NOT NULL DEFAULT 0, + `linkCase` varchar(255) NOT NULL, + `fromBug` mediumint(8) unsigned NOT NULL, + `fromCaseID` mediumint(8) unsigned NOT NULL, + `fromCaseVersion` mediumint(8) unsigned NOT NULL DEFAULT 1, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + `lastRunner` varchar(30) NOT NULL, + `lastRunDate` datetime NOT NULL, + `lastRunResult` char(30) NOT NULL, + PRIMARY KEY (`id`), + KEY `product` (`product`), + KEY `story` (`story`), + KEY `fromBug` (`fromBug`), + KEY `module` (`module`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_casestep` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `parent` mediumint(8) unsigned NOT NULL DEFAULT 0, + `case` mediumint(8) unsigned NOT NULL DEFAULT 0, + `version` smallint(3) unsigned NOT NULL DEFAULT 0, + `type` varchar(10) NOT NULL DEFAULT 'step', + `desc` text NOT NULL, + `expect` text NOT NULL, + PRIMARY KEY (`id`), + KEY `case` (`case`), + KEY `version` (`version`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_company` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `name` char(120) DEFAULT NULL, + `phone` char(20) DEFAULT NULL, + `fax` char(20) DEFAULT NULL, + `address` char(120) DEFAULT NULL, + `zipcode` char(10) DEFAULT NULL, + `website` char(120) DEFAULT NULL, + `backyard` char(120) DEFAULT NULL, + `guest` enum('1','0') NOT NULL DEFAULT '0', + `admins` char(255) DEFAULT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_compile` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(50) NOT NULL, + `job` mediumint(8) unsigned NOT NULL, + `queue` mediumint(8) NOT NULL, + `status` varchar(255) NOT NULL, + `logs` text DEFAULT NULL, + `atTime` varchar(10) NOT NULL, + `testtask` mediumint(8) unsigned NOT NULL, + `tag` varchar(255) NOT NULL, + `times` tinyint(3) unsigned NOT NULL DEFAULT 0, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `updateDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_config` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `owner` char(30) NOT NULL DEFAULT '', + `module` varchar(30) NOT NULL, + `section` char(30) NOT NULL DEFAULT '', + `key` char(30) NOT NULL DEFAULT '', + `value` longtext NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `unique` (`owner`,`module`,`section`,`key`) +) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_cron` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `m` varchar(20) NOT NULL, + `h` varchar(20) NOT NULL, + `dom` varchar(20) NOT NULL, + `mon` varchar(20) NOT NULL, + `dow` varchar(20) NOT NULL, + `command` text NOT NULL, + `remark` varchar(255) NOT NULL, + `type` varchar(20) NOT NULL, + `buildin` tinyint(1) NOT NULL DEFAULT 0, + `status` varchar(20) NOT NULL, + `lastTime` datetime NOT NULL, + PRIMARY KEY (`id`), + KEY `lastTime` (`lastTime`) +) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_dept` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `name` char(60) NOT NULL, + `parent` mediumint(8) unsigned NOT NULL DEFAULT 0, + `path` char(255) NOT NULL DEFAULT '', + `grade` tinyint(3) unsigned NOT NULL DEFAULT 0, + `order` smallint(4) unsigned NOT NULL DEFAULT 0, + `position` char(30) NOT NULL DEFAULT '', + `function` char(255) NOT NULL DEFAULT '', + `manager` char(30) NOT NULL DEFAULT '', + PRIMARY KEY (`id`), + KEY `parent` (`parent`), + KEY `path` (`path`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_doc` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `product` mediumint(8) unsigned NOT NULL, + `execution` mediumint(8) unsigned NOT NULL, + `lib` varchar(30) NOT NULL, + `module` varchar(30) NOT NULL, + `title` varchar(255) NOT NULL, + `keywords` varchar(255) NOT NULL, + `type` varchar(30) NOT NULL, + `views` smallint(5) unsigned NOT NULL, + `draft` longtext NOT NULL, + `collector` text NOT NULL, + `addedBy` varchar(30) NOT NULL, + `addedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `mailto` text DEFAULT NULL, + `acl` varchar(10) NOT NULL DEFAULT 'open', + `groups` varchar(255) NOT NULL, + `users` text NOT NULL, + `version` smallint(5) unsigned NOT NULL DEFAULT 1, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `product` (`product`), + KEY `execution` (`execution`), + KEY `lib` (`lib`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_doccontent` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `doc` mediumint(8) unsigned NOT NULL, + `title` varchar(255) NOT NULL, + `digest` varchar(255) NOT NULL, + `content` longtext NOT NULL, + `files` text NOT NULL, + `type` varchar(10) NOT NULL, + `version` smallint(5) unsigned NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `doc_version` (`doc`,`version`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_doclib` ( + `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, + `type` varchar(30) NOT NULL, + `product` mediumint(8) unsigned NOT NULL, + `project` mediumint(8) unsigned NOT NULL, + `execution` mediumint(8) unsigned NOT NULL, + `name` varchar(60) NOT NULL, + `acl` varchar(10) NOT NULL DEFAULT 'open', + `groups` varchar(255) NOT NULL, + `users` text NOT NULL, + `main` enum('0','1') NOT NULL DEFAULT '0', + `collector` text NOT NULL, + `order` tinyint(5) unsigned NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `product` (`product`), + KEY `execution` (`execution`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_effort` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `user` char(30) NOT NULL DEFAULT '', + `todo` enum('1','0') NOT NULL DEFAULT '1', + `date` date NOT NULL, + `begin` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `end` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `type` enum('1','2','3') NOT NULL DEFAULT '1', + `idvalue` mediumint(8) unsigned NOT NULL DEFAULT 0, + `name` char(30) NOT NULL DEFAULT '', + `desc` char(255) NOT NULL DEFAULT '', + `status` enum('1','2','3') NOT NULL DEFAULT '1', + PRIMARY KEY (`id`), + KEY `user` (`user`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_entry` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(50) NOT NULL, + `account` varchar(30) NOT NULL DEFAULT '', + `code` varchar(20) NOT NULL, + `key` varchar(32) NOT NULL, + `freePasswd` enum('0','1') NOT NULL DEFAULT '0', + `ip` varchar(100) NOT NULL, + `desc` text NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `calledTime` int(10) unsigned NOT NULL DEFAULT 0, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_expect` ( + `id` mediumint(8) NOT NULL AUTO_INCREMENT, + `userID` mediumint(8) NOT NULL, + `project` mediumint(8) NOT NULL DEFAULT 0, + `expect` text NOT NULL, + `progress` text NOT NULL, + `createdBy` char(30) NOT NULL, + `createdDate` date NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_extension` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(150) NOT NULL, + `code` varchar(30) NOT NULL, + `version` varchar(50) NOT NULL, + `author` varchar(100) NOT NULL, + `desc` text NOT NULL, + `license` text NOT NULL, + `type` varchar(20) NOT NULL DEFAULT 'extension', + `site` varchar(150) NOT NULL, + `zentaoCompatible` varchar(100) NOT NULL, + `installedTime` datetime NOT NULL, + `depends` varchar(100) NOT NULL, + `dirs` mediumtext NOT NULL, + `files` mediumtext NOT NULL, + `status` varchar(20) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `code` (`code`), + KEY `name` (`name`), + KEY `installedTime` (`installedTime`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_file` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `pathname` char(50) NOT NULL, + `title` char(255) NOT NULL, + `extension` char(30) NOT NULL, + `size` int(10) unsigned NOT NULL DEFAULT 0, + `objectType` char(30) NOT NULL, + `objectID` mediumint(9) NOT NULL, + `addedBy` char(30) NOT NULL DEFAULT '', + `addedDate` datetime NOT NULL, + `downloads` mediumint(8) unsigned NOT NULL DEFAULT 0, + `extra` varchar(255) NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `objectType` (`objectType`), + KEY `objectID` (`objectID`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_group` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL DEFAULT 0, + `name` char(30) NOT NULL, + `role` char(30) NOT NULL DEFAULT '', + `desc` char(255) NOT NULL DEFAULT '', + `acl` text DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_grouppriv` ( + `group` mediumint(8) unsigned NOT NULL DEFAULT 0, + `module` char(30) NOT NULL DEFAULT '', + `method` char(30) NOT NULL DEFAULT '', + UNIQUE KEY `group` (`group`,`module`,`method`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_history` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `action` mediumint(8) unsigned NOT NULL DEFAULT 0, + `field` varchar(30) NOT NULL DEFAULT '', + `old` text NOT NULL, + `new` text NOT NULL, + `diff` mediumtext NOT NULL, + PRIMARY KEY (`id`), + KEY `action` (`action`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_job` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(50) NOT NULL, + `repo` mediumint(8) unsigned NOT NULL, + `product` mediumint(8) unsigned NOT NULL, + `frame` varchar(20) NOT NULL, + `engine` varchar(20) NOT NULL, + `server` mediumint(8) unsigned NOT NULL, + `pipeline` varchar(500) NOT NULL, + `triggerType` varchar(255) NOT NULL, + `svnDir` varchar(255) NOT NULL, + `atDay` varchar(255) DEFAULT NULL, + `atTime` varchar(10) DEFAULT NULL, + `customParam` text NOT NULL, + `comment` varchar(255) DEFAULT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `lastExec` datetime DEFAULT NULL, + `lastStatus` varchar(255) DEFAULT NULL, + `lastTag` varchar(255) DEFAULT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_lang` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `lang` varchar(30) NOT NULL, + `module` varchar(30) NOT NULL, + `section` varchar(30) NOT NULL, + `key` varchar(60) NOT NULL, + `value` text NOT NULL, + `system` enum('0','1') NOT NULL DEFAULT '1', + PRIMARY KEY (`id`), + UNIQUE KEY `lang` (`lang`,`module`,`section`,`key`) +) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_log` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `objectType` varchar(30) NOT NULL, + `objectID` mediumint(8) unsigned NOT NULL, + `action` mediumint(8) unsigned NOT NULL, + `date` datetime NOT NULL, + `url` varchar(255) NOT NULL, + `contentType` varchar(30) NOT NULL, + `data` text NOT NULL, + `result` text NOT NULL, + PRIMARY KEY (`id`), + KEY `objectType` (`objectType`), + KEY `obejctID` (`objectID`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_module` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `root` mediumint(8) unsigned NOT NULL DEFAULT 0, + `branch` mediumint(8) unsigned NOT NULL DEFAULT 0, + `name` char(60) NOT NULL DEFAULT '', + `parent` mediumint(8) unsigned NOT NULL DEFAULT 0, + `path` char(255) NOT NULL DEFAULT '', + `grade` tinyint(3) unsigned NOT NULL DEFAULT 0, + `order` smallint(5) unsigned NOT NULL DEFAULT 0, + `type` char(30) NOT NULL, + `owner` varchar(30) NOT NULL, + `collector` text NOT NULL, + `short` varchar(30) NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `root` (`root`), + KEY `type` (`type`), + KEY `path` (`path`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_mr` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `gitlabID` mediumint(8) unsigned NOT NULL, + `sourceProject` int unsigned NOT NULL, + `sourceBranch` varchar(100) NOT NULL, + `targetProject` int unsigned NOT NULL, + `targetBranch` varchar(100) NOT NULL, + `mriid` int unsigned NOT NULL, + `title` varchar(255) NOT NULL, + `description` text NOT NULL, + `assignee` varchar(255) NOT NULL, + `reviewer` varchar(255) NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + `status` char(30) NOT NULL, + `mergeStatus` char(30) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_notify` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `objectType` varchar(50) NOT NULL, + `objectID` mediumint(8) unsigned NOT NULL, + `action` mediumint(9) NOT NULL, + `toList` varchar(255) NOT NULL, + `ccList` text NOT NULL, + `subject` varchar(255) NOT NULL, + `data` text NOT NULL, + `createdBy` char(30) NOT NULL, + `createdDate` datetime NOT NULL, + `sendTime` datetime NOT NULL, + `status` varchar(10) NOT NULL DEFAULT 'wait', + `failReason` text NOT NULL, + PRIMARY KEY (`id`), + KEY `objectType_toList_status` (`objectType`,`toList`,`status`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_oauth` ( + `account` varchar(30) NOT NULL, + `openID` varchar(255) NOT NULL, + `providerType` varchar(30) NOT NULL, + `providerID` mediumint(8) unsigned NOT NULL, + KEY `account` (`account`), + KEY `providerType` (`providerType`), + KEY `providerID` (`providerID`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_pipeline` ( + `id` smallint(8) unsigned NOT NULL AUTO_INCREMENT, + `type` char(30) NOT NULL, + `name` varchar(50) NOT NULL, + `url` varchar(255) DEFAULT NULL, + `account` varchar(30) DEFAULT NULL, + `password` varchar(255) NOT NULL, + `token` varchar(255) DEFAULT NULL, + `private` char(32) DEFAULT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_planstory` ( + `plan` mediumint(8) unsigned NOT NULL, + `story` mediumint(8) unsigned NOT NULL, + `order` mediumint(9) NOT NULL, + UNIQUE KEY `plan_story` (`plan`,`story`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_product` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `program` mediumint(8) unsigned NOT NULL, + `name` varchar(90) NOT NULL, + `code` varchar(45) NOT NULL, + `bind` enum('0','1') NOT NULL DEFAULT '0', + `line` mediumint(8) NOT NULL, + `type` varchar(30) NOT NULL DEFAULT 'normal', + `status` varchar(30) NOT NULL DEFAULT '', + `subStatus` varchar(30) NOT NULL DEFAULT '', + `desc` text NOT NULL, + `PO` varchar(30) NOT NULL, + `QD` varchar(30) NOT NULL, + `RD` varchar(30) NOT NULL, + `acl` enum('open','private','custom') NOT NULL DEFAULT 'open', + `whitelist` text NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `createdVersion` varchar(20) NOT NULL, + `order` mediumint(8) unsigned NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `acl` (`acl`), + KEY `order` (`order`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_productplan` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `product` mediumint(8) unsigned NOT NULL, + `branch` mediumint(8) unsigned NOT NULL, + `parent` mediumint(9) NOT NULL DEFAULT 0, + `title` varchar(90) NOT NULL, + `desc` text NOT NULL, + `begin` date NOT NULL, + `end` date NOT NULL, + `order` text NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `product` (`product`), + KEY `end` (`end`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_project` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` mediumint(8) NOT NULL DEFAULT 0, + `model` char(30) NOT NULL, + `type` char(30) NOT NULL DEFAULT 'sprint', + `lifetime` char(30) NOT NULL DEFAULT '', + `budget` varchar(30) NOT NULL DEFAULT '0', + `budgetUnit` char(30) NOT NULL DEFAULT 'CNY', + `attribute` varchar(30) NOT NULL DEFAULT '', + `percent` float unsigned NOT NULL DEFAULT 0, + `milestone` enum('0','1') NOT NULL DEFAULT '0', + `output` text NOT NULL, + `auth` char(30) NOT NULL, + `parent` mediumint(8) unsigned NOT NULL DEFAULT 0, + `path` varchar(255) NOT NULL, + `grade` tinyint(3) unsigned NOT NULL, + `name` varchar(90) NOT NULL, + `code` varchar(45) NOT NULL, + `begin` date NOT NULL, + `end` date NOT NULL, + `realBegan` date NOT NULL, + `realEnd` date NOT NULL, + `days` smallint(5) unsigned NOT NULL, + `status` varchar(10) NOT NULL, + `subStatus` varchar(30) NOT NULL DEFAULT '', + `pri` enum('1','2','3','4') NOT NULL DEFAULT '1', + `desc` text NOT NULL, + `version` smallint(6) NOT NULL, + `parentVersion` smallint(6) NOT NULL, + `planDuration` int(11) NOT NULL, + `realDuration` int(11) NOT NULL, + `openedBy` varchar(30) NOT NULL DEFAULT '', + `openedDate` datetime NOT NULL, + `openedVersion` varchar(20) NOT NULL, + `lastEditedBy` varchar(30) NOT NULL DEFAULT '', + `lastEditedDate` datetime NOT NULL, + `closedBy` varchar(30) NOT NULL DEFAULT '', + `closedDate` datetime NOT NULL, + `canceledBy` varchar(30) NOT NULL DEFAULT '', + `canceledDate` datetime NOT NULL, + `PO` varchar(30) NOT NULL DEFAULT '', + `PM` varchar(30) NOT NULL DEFAULT '', + `QD` varchar(30) NOT NULL DEFAULT '', + `RD` varchar(30) NOT NULL DEFAULT '', + `team` varchar(90) NOT NULL, + `acl` char(30) NOT NULL DEFAULT 'open', + `whitelist` text NOT NULL, + `order` mediumint(8) unsigned NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `parent` (`parent`), + KEY `begin` (`begin`), + KEY `end` (`end`), + KEY `status` (`status`), + KEY `acl` (`acl`), + KEY `order` (`order`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_projectcase` ( + `project` mediumint(8) unsigned NOT NULL DEFAULT 0, + `product` mediumint(8) unsigned NOT NULL DEFAULT 0, + `case` mediumint(8) unsigned NOT NULL DEFAULT 0, + `count` mediumint(8) unsigned NOT NULL DEFAULT 1, + `version` smallint(6) NOT NULL DEFAULT 1, + `order` smallint(6) unsigned NOT NULL, + UNIQUE KEY `project` (`project`,`case`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_projectproduct` ( + `project` mediumint(8) unsigned NOT NULL, + `product` mediumint(8) unsigned NOT NULL, + `branch` mediumint(8) unsigned NOT NULL, + `plan` mediumint(8) unsigned NOT NULL, + PRIMARY KEY (`project`,`product`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_projectspec` ( + `project` mediumint(8) NOT NULL, + `version` smallint(6) NOT NULL, + `name` varchar(255) NOT NULL, + `milestone` enum('0','1') NOT NULL DEFAULT '0', + `begin` date NOT NULL, + `end` date NOT NULL, + UNIQUE KEY `project` (`project`,`version`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_projectstory` ( + `project` mediumint(8) unsigned NOT NULL DEFAULT 0, + `product` mediumint(8) unsigned NOT NULL, + `story` mediumint(8) unsigned NOT NULL DEFAULT 0, + `version` smallint(6) NOT NULL DEFAULT 1, + `order` smallint(6) unsigned NOT NULL, + UNIQUE KEY `project` (`project`,`story`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_relation` ( + `id` int(8) NOT NULL AUTO_INCREMENT, + `project` mediumint(8) NOT NULL, + `product` mediumint(8) NOT NULL, + `execution` mediumint(8) NOT NULL, + `AType` char(30) NOT NULL, + `AID` mediumint(8) NOT NULL, + `AVersion` char(30) NOT NULL, + `relation` char(30) NOT NULL, + `BType` char(30) NOT NULL, + `BID` mediumint(8) NOT NULL, + `BVersion` char(30) NOT NULL, + `extra` char(30) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `relation` (`product`,`relation`,`AType`,`BType`,`AID`,`BID`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_release` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `product` mediumint(8) unsigned NOT NULL DEFAULT 0, + `branch` mediumint(8) unsigned NOT NULL DEFAULT 0, + `build` mediumint(8) unsigned NOT NULL, + `name` varchar(255) NOT NULL DEFAULT '', + `marker` enum('0','1') NOT NULL DEFAULT '0', + `date` date NOT NULL, + `stories` text NOT NULL, + `bugs` text NOT NULL, + `leftBugs` text NOT NULL, + `desc` text NOT NULL, + `mailto` text, + `notify` varchar(255), + `status` varchar(20) NOT NULL DEFAULT 'normal', + `subStatus` varchar(30) NOT NULL DEFAULT '', + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `product` (`product`), + KEY `build` (`build`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_repo` ( + `id` mediumint(9) NOT NULL AUTO_INCREMENT, + `product` varchar(255) NOT NULL, + `name` varchar(255) NOT NULL, + `path` varchar(255) NOT NULL, + `prefix` varchar(100) NOT NULL, + `encoding` varchar(20) NOT NULL, + `SCM` varchar(10) NOT NULL, + `client` varchar(100) NOT NULL, + `commits` mediumint(8) unsigned NOT NULL, + `account` varchar(30) NOT NULL, + `password` varchar(30) NOT NULL, + `encrypt` varchar(30) NOT NULL DEFAULT 'plain', + `acl` text NOT NULL, + `synced` tinyint(1) NOT NULL DEFAULT 0, + `lastSync` datetime NOT NULL, + `desc` text NOT NULL, + `extra` char(30) NOT NULL, + `deleted` tinyint(1) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_repobranch` ( + `repo` mediumint(8) unsigned NOT NULL, + `revision` mediumint(8) unsigned NOT NULL, + `branch` varchar(255) NOT NULL, + UNIQUE KEY `repo_revision_branch` (`repo`,`revision`,`branch`), + KEY `branch` (`branch`), + KEY `revision` (`revision`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_repofiles` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `repo` mediumint(8) unsigned NOT NULL, + `revision` mediumint(8) unsigned NOT NULL, + `path` varchar(255) NOT NULL, + `parent` varchar(255) NOT NULL, + `type` varchar(20) NOT NULL, + `action` char(1) NOT NULL, + PRIMARY KEY (`id`), + KEY `path` (`path`), + KEY `parent` (`parent`), + KEY `repo` (`repo`), + KEY `revision` (`revision`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_repohistory` ( + `id` mediumint(9) NOT NULL AUTO_INCREMENT, + `repo` mediumint(9) NOT NULL, + `revision` varchar(40) NOT NULL, + `commit` mediumint(8) unsigned NOT NULL, + `comment` text NOT NULL, + `committer` varchar(100) NOT NULL, + `time` datetime NOT NULL, + PRIMARY KEY (`id`), + KEY `repo` (`repo`), + KEY `revision` (`revision`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_score` ( + `id` bigint(12) unsigned NOT NULL AUTO_INCREMENT, + `account` varchar(30) NOT NULL, + `module` varchar(30) NOT NULL DEFAULT '', + `method` varchar(30) NOT NULL, + `desc` varchar(250) NOT NULL DEFAULT '', + `before` int(11) NOT NULL DEFAULT 0, + `score` int(11) NOT NULL DEFAULT 0, + `after` int(11) NOT NULL DEFAULT 0, + `time` datetime NOT NULL, + PRIMARY KEY (`id`), + KEY `account` (`account`), + KEY `model` (`module`), + KEY `method` (`method`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_searchdict` ( + `key` smallint(5) unsigned NOT NULL, + `value` char(3) NOT NULL, + PRIMARY KEY (`key`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_searchindex` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `objectType` char(20) NOT NULL, + `objectID` mediumint(9) NOT NULL, + `title` text NOT NULL, + `content` text NOT NULL, + `addedDate` datetime NOT NULL, + `editedDate` datetime NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `object` (`objectType`,`objectID`), + KEY `addedDate` (`addedDate`), + FULLTEXT KEY `content` (`content`), + FULLTEXT KEY `title` (`title`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_stakeholder` ( + `id` mediumint(8) NOT NULL AUTO_INCREMENT, + `objectID` mediumint(8) NOT NULL, + `objectType` char(30) NOT NULL, + `user` char(30) NOT NULL, + `type` char(30) NOT NULL, + `key` enum('0','1') NOT NULL, + `from` char(30) NOT NULL, + `createdBy` char(30) NOT NULL, + `createdDate` date NOT NULL, + `editedBy` char(30) NOT NULL, + `editedDate` date NOT NULL, + `deleted` enum('0','1') NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_story` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `parent` mediumint(9) NOT NULL DEFAULT 0, + `product` mediumint(8) unsigned NOT NULL DEFAULT 0, + `branch` mediumint(8) unsigned NOT NULL DEFAULT 0, + `module` mediumint(8) unsigned NOT NULL DEFAULT 0, + `plan` text DEFAULT NULL, + `source` varchar(20) NOT NULL, + `sourceNote` varchar(255) NOT NULL, + `fromBug` mediumint(8) unsigned NOT NULL DEFAULT 0, + `title` varchar(255) NOT NULL, + `keywords` varchar(255) NOT NULL, + `type` varchar(30) NOT NULL DEFAULT 'story', + `category` varchar(30) NOT NULL DEFAULT 'feature', + `pri` tinyint(3) unsigned NOT NULL DEFAULT 3, + `estimate` float unsigned NOT NULL, + `status` enum('','changed','active','draft','closed') NOT NULL DEFAULT '', + `subStatus` varchar(30) NOT NULL DEFAULT '', + `color` char(7) NOT NULL, + `stage` enum('','wait','planned','projected','developing','developed','testing','tested','verified','released','closed') NOT NULL DEFAULT 'wait', + `stagedBy` char(30) NOT NULL, + `mailto` text DEFAULT NULL, + `openedBy` varchar(30) NOT NULL DEFAULT '', + `openedDate` datetime NOT NULL, + `assignedTo` varchar(30) NOT NULL DEFAULT '', + `assignedDate` datetime NOT NULL, + `lastEditedBy` varchar(30) NOT NULL DEFAULT '', + `lastEditedDate` datetime NOT NULL, + `reviewedBy` varchar(255) NOT NULL, + `reviewedDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `closedBy` varchar(30) NOT NULL DEFAULT '', + `closedDate` datetime NOT NULL, + `closedReason` varchar(30) NOT NULL, + `toBug` mediumint(8) unsigned NOT NULL, + `childStories` varchar(255) NOT NULL, + `linkStories` varchar(255) NOT NULL, + `duplicateStory` mediumint(8) unsigned NOT NULL, + `version` smallint(6) NOT NULL DEFAULT 1, + `URChanged` enum('0','1') NOT NULL DEFAULT '0', + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `product` (`product`), + KEY `status` (`status`), + KEY `assignedTo` (`assignedTo`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_storyestimate` ( + `story` mediumint(9) NOT NULL, + `round` smallint(6) NOT NULL, + `estimate` text NOT NULL, + `average` float NOT NULL, + `openedBy` varchar(30) NOT NULL, + `openedDate` datetime NOT NULL, + UNIQUE KEY `story` (`story`,`round`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_storyreview` ( + `story` mediumint(9) NOT NULL, + `version` smallint(6) NOT NULL, + `reviewer` varchar(30) NOT NULL, + `result` varchar(30) NOT NULL, + `reviewDate` datetime NOT NULL, + UNIQUE KEY `story` (`story`,`version`,`reviewer`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_storyspec` ( + `story` mediumint(9) NOT NULL, + `version` smallint(6) NOT NULL, + `title` varchar(255) NOT NULL, + `spec` text NOT NULL, + `verify` text NOT NULL, + UNIQUE KEY `story` (`story`,`version`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_storystage` ( + `story` mediumint(8) unsigned NOT NULL, + `branch` mediumint(8) unsigned NOT NULL, + `stage` varchar(50) NOT NULL, + `stagedBy` char(30) NOT NULL, + UNIQUE KEY `story_branch` (`story`,`branch`), + KEY `story` (`story`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_suitecase` ( + `suite` mediumint(8) unsigned NOT NULL, + `product` mediumint(8) unsigned NOT NULL, + `case` mediumint(8) unsigned NOT NULL, + `version` smallint(5) unsigned NOT NULL, + UNIQUE KEY `suitecase` (`suite`,`case`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_task` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `parent` mediumint(8) NOT NULL DEFAULT 0, + `execution` mediumint(8) unsigned NOT NULL DEFAULT 0, + `module` mediumint(8) unsigned NOT NULL DEFAULT 0, + `design` mediumint(8) unsigned NOT NULL, + `story` mediumint(8) unsigned NOT NULL DEFAULT 0, + `storyVersion` smallint(6) NOT NULL DEFAULT 1, + `designVersion` smallint(6) unsigned NOT NULL, + `fromBug` mediumint(8) unsigned NOT NULL DEFAULT 0, + `name` varchar(255) NOT NULL, + `type` varchar(20) NOT NULL, + `pri` tinyint(3) unsigned NOT NULL DEFAULT 0, + `estimate` float unsigned NOT NULL, + `consumed` float unsigned NOT NULL, + `left` float unsigned NOT NULL, + `deadline` date NOT NULL, + `status` enum('wait','doing','done','pause','cancel','closed') NOT NULL DEFAULT 'wait', + `subStatus` varchar(30) NOT NULL DEFAULT '', + `color` char(7) NOT NULL, + `mailto` text DEFAULT NULL, + `desc` text NOT NULL, + `version` smallint(6) NOT NULL, + `openedBy` varchar(30) NOT NULL, + `openedDate` datetime NOT NULL, + `assignedTo` varchar(30) NOT NULL, + `assignedDate` datetime NOT NULL, + `estStarted` date NOT NULL, + `realStarted` datetime NOT NULL, + `finishedBy` varchar(30) NOT NULL, + `finishedDate` datetime NOT NULL, + `finishedList` text NOT NULL, + `canceledBy` varchar(30) NOT NULL, + `canceledDate` datetime NOT NULL, + `closedBy` varchar(30) NOT NULL, + `closedDate` datetime NOT NULL, + `planDuration` int(11) NOT NULL, + `realDuration` int(11) NOT NULL, + `closedReason` varchar(30) NOT NULL, + `lastEditedBy` varchar(30) NOT NULL, + `lastEditedDate` datetime NOT NULL, + `activatedDate` date NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `execution` (`execution`), + KEY `story` (`story`), + KEY `parent` (`parent`), + KEY `assignedTo` (`assignedTo`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_taskestimate` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `task` mediumint(8) unsigned NOT NULL DEFAULT 0, + `date` date NOT NULL, + `left` float unsigned NOT NULL DEFAULT 0, + `consumed` float unsigned NOT NULL, + `account` char(30) NOT NULL DEFAULT '', + `work` text DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `task` (`task`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_taskspec` ( + `task` mediumint(8) NOT NULL, + `version` smallint(6) NOT NULL, + `name` varchar(255) NOT NULL, + `estStarted` date NOT NULL, + `deadline` date NOT NULL, + UNIQUE KEY `task` (`task`,`version`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_team` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `root` mediumint(8) unsigned NOT NULL DEFAULT 0, + `type` enum('project','task','execution') NOT NULL DEFAULT 'project', + `account` char(30) NOT NULL DEFAULT '', + `role` char(30) NOT NULL DEFAULT '', + `limited` char(8) NOT NULL DEFAULT 'no', + `join` date NOT NULL DEFAULT '0000-00-00', + `days` smallint(5) unsigned NOT NULL, + `hours` float(3,1) unsigned NOT NULL DEFAULT 0.0, + `estimate` decimal(12,2) unsigned NOT NULL DEFAULT 0.00, + `consumed` decimal(12,2) unsigned NOT NULL DEFAULT 0.00, + `left` decimal(12,2) unsigned NOT NULL DEFAULT 0.00, + `order` tinyint(3) NOT NULL DEFAULT 0, + PRIMARY KEY (`id`), + UNIQUE KEY `team` (`root`,`type`,`account`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_testreport` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `product` mediumint(8) unsigned NOT NULL, + `execution` mediumint(8) unsigned NOT NULL, + `tasks` varchar(255) NOT NULL, + `builds` varchar(255) NOT NULL, + `title` varchar(255) NOT NULL, + `begin` date NOT NULL, + `end` date NOT NULL, + `owner` char(30) NOT NULL, + `members` text NOT NULL, + `stories` text NOT NULL, + `bugs` text NOT NULL, + `cases` text NOT NULL, + `report` text NOT NULL, + `objectType` varchar(20) NOT NULL, + `objectID` mediumint(8) unsigned NOT NULL, + `createdBy` char(30) NOT NULL, + `createdDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_testresult` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `run` mediumint(8) unsigned NOT NULL, + `case` mediumint(8) unsigned NOT NULL, + `version` smallint(5) unsigned NOT NULL, + `job` mediumint(8) unsigned NOT NULL, + `compile` mediumint(8) unsigned NOT NULL, + `caseResult` char(30) NOT NULL, + `stepResults` text NOT NULL, + `lastRunner` varchar(30) NOT NULL, + `date` datetime NOT NULL, + `duration` float NOT NULL, + `xml` text NOT NULL, + PRIMARY KEY (`id`), + KEY `case` (`case`), + KEY `version` (`version`), + KEY `run` (`run`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_testrun` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `task` mediumint(8) unsigned NOT NULL DEFAULT 0, + `case` mediumint(8) unsigned NOT NULL DEFAULT 0, + `version` tinyint(3) unsigned NOT NULL DEFAULT 0, + `assignedTo` char(30) NOT NULL DEFAULT '', + `lastRunner` varchar(30) NOT NULL, + `lastRunDate` datetime NOT NULL, + `lastRunResult` char(30) NOT NULL, + `status` char(30) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `task` (`task`,`case`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_testsuite` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `product` mediumint(8) unsigned NOT NULL, + `name` varchar(255) NOT NULL, + `desc` text NOT NULL, + `type` varchar(20) NOT NULL, + `addedBy` char(30) NOT NULL, + `addedDate` datetime NOT NULL, + `lastEditedBy` char(30) NOT NULL, + `lastEditedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL, + PRIMARY KEY (`id`), + KEY `product` (`product`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_testtask` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `product` mediumint(8) unsigned NOT NULL, + `name` char(90) NOT NULL, + `execution` mediumint(8) unsigned NOT NULL DEFAULT 0, + `build` char(30) NOT NULL, + `type` varchar(255) NOT NULL DEFAULT '', + `owner` varchar(30) NOT NULL, + `pri` tinyint(3) unsigned NOT NULL DEFAULT 0, + `begin` date NOT NULL, + `end` date NOT NULL, + `realFinishedDate` datetime NOT NULL, + `mailto` text DEFAULT NULL, + `desc` text NOT NULL, + `report` text NOT NULL, + `status` enum('blocked','doing','wait','done') NOT NULL DEFAULT 'wait', + `testreport` mediumint(8) unsigned NOT NULL, + `auto` varchar(10) NOT NULL DEFAULT 'no', + `subStatus` varchar(30) NOT NULL DEFAULT '', + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `product` (`product`), + KEY `build` (`build`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_todo` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `account` char(30) NOT NULL, + `date` date NOT NULL, + `begin` smallint(4) unsigned zerofill NOT NULL, + `end` smallint(4) unsigned zerofill NOT NULL, + `type` char(10) NOT NULL, + `cycle` tinyint(3) unsigned NOT NULL DEFAULT 0, + `idvalue` mediumint(8) unsigned NOT NULL DEFAULT 0, + `pri` tinyint(3) unsigned NOT NULL, + `name` char(150) NOT NULL, + `desc` text NOT NULL, + `status` enum('wait','doing','done','closed') NOT NULL DEFAULT 'wait', + `private` tinyint(1) NOT NULL, + `config` varchar(255) NOT NULL, + `assignedTo` varchar(30) NOT NULL DEFAULT '', + `assignedBy` varchar(30) NOT NULL DEFAULT '', + `assignedDate` datetime NOT NULL, + `finishedBy` varchar(30) NOT NULL DEFAULT '', + `finishedDate` datetime NOT NULL, + `closedBy` varchar(30) NOT NULL DEFAULT '', + `closedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `account` (`account`), + KEY `assignedTo` (`assignedTo`), + KEY `finishedBy` (`finishedBy`), + KEY `date` (`date`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_user` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `company` mediumint(8) unsigned NOT NULL, + `type` char(30) NOT NULL DEFAULT 'inside', + `dept` mediumint(8) unsigned NOT NULL DEFAULT 0, + `account` char(30) NOT NULL DEFAULT '', + `password` char(32) NOT NULL DEFAULT '', + `role` char(10) NOT NULL DEFAULT '', + `realname` varchar(100) NOT NULL DEFAULT '', + `nickname` char(60) NOT NULL DEFAULT '', + `commiter` varchar(100) NOT NULL, + `avatar` text NOT NULL, + `birthday` date NOT NULL DEFAULT '0000-00-00', + `gender` enum('f','m') NOT NULL DEFAULT 'f', + `email` char(90) NOT NULL DEFAULT '', + `skype` char(90) NOT NULL DEFAULT '', + `qq` char(20) NOT NULL DEFAULT '', + `mobile` char(11) NOT NULL DEFAULT '', + `phone` char(20) NOT NULL DEFAULT '', + `weixin` varchar(90) NOT NULL DEFAULT '', + `dingding` varchar(90) NOT NULL DEFAULT '', + `slack` varchar(90) NOT NULL DEFAULT '', + `whatsapp` varchar(90) NOT NULL DEFAULT '', + `address` char(120) NOT NULL DEFAULT '', + `zipcode` char(10) NOT NULL DEFAULT '', + `nature` text NOT NULL, + `analysis` text NOT NULL, + `strategy` text NOT NULL, + `join` date NOT NULL DEFAULT '0000-00-00', + `visits` mediumint(8) unsigned NOT NULL DEFAULT 0, + `ip` char(15) NOT NULL DEFAULT '', + `last` int(10) unsigned NOT NULL DEFAULT 0, + `fails` tinyint(5) NOT NULL DEFAULT 0, + `locked` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `ranzhi` char(30) NOT NULL DEFAULT '', + `score` int(11) NOT NULL DEFAULT 0, + `scoreLevel` int(11) NOT NULL DEFAULT 0, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + UNIQUE KEY `account` (`account`), + KEY `dept` (`dept`), + KEY `email` (`email`), + KEY `commiter` (`commiter`), + KEY `deleted` (`deleted`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_usercontact` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `account` char(30) NOT NULL, + `listName` varchar(60) NOT NULL, + `userList` text NOT NULL, + PRIMARY KEY (`id`), + KEY `account` (`account`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_usergroup` ( + `account` char(30) NOT NULL DEFAULT '', + `group` mediumint(8) unsigned NOT NULL DEFAULT 0, + `project` text NOT NULL, + UNIQUE KEY `account` (`account`,`group`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_userquery` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `account` char(30) NOT NULL, + `module` varchar(30) NOT NULL, + `title` varchar(90) NOT NULL, + `form` text NOT NULL, + `sql` text NOT NULL, + `shortcut` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `account` (`account`), + KEY `module` (`module`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_usertpl` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `account` char(30) NOT NULL, + `type` char(30) NOT NULL, + `title` varchar(150) NOT NULL, + `content` text NOT NULL, + `public` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `account` (`account`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_userview` ( + `account` char(30) NOT NULL, + `programs` mediumtext NOT NULL, + `products` mediumtext NOT NULL, + `projects` mediumtext NOT NULL, + `sprints` mediumtext NOT NULL, + UNIQUE KEY `account` (`account`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_webhook` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `type` varchar(15) NOT NULL DEFAULT 'default', + `name` varchar(50) NOT NULL, + `url` varchar(255) NOT NULL, + `domain` varchar(255) NOT NULL, + `secret` varchar(255) NOT NULL, + `contentType` varchar(30) NOT NULL DEFAULT 'application/json', + `sendType` enum('sync','async') NOT NULL DEFAULT 'sync', + `products` text NOT NULL, + `executions` text NOT NULL, + `params` varchar(100) NOT NULL, + `actions` text NOT NULL, + `desc` text NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; diff --git a/db/update15.4.sql b/db/update15.4.sql index d9043824ac..2950c63688 100644 --- a/db/update15.4.sql +++ b/db/update15.4.sql @@ -1,6 +1,8 @@ UPDATE `zt_action` SET `action` = 'reviewpassed' WHERE `action` = 'passreviewed'; UPDATE `zt_action` SET `action` = 'reviewrejected' WHERE `action` = 'reviewclosed'; UPDATE `zt_action` SET `action` = 'reviewclarified' WHERE `action` = 'clarifyreviewed'; +DELETE FROM `zt_config` WHERE `key` = 'skipYoungBlueTheme' and `section` = 'global'; +UPDATE `zt_config` SET `key` = 'skipYoungBlueTheme' WHERE `key` = 'skipThemeGuide' and `section` = 'global'; DELETE FROM `zt_score` WHERE `module` = 'tutorial' AND `method` = 'finish'; CREATE TABLE `zt_mr` ( `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, diff --git a/db/update15.5.sql b/db/update15.5.sql new file mode 100644 index 0000000000..9874656feb --- /dev/null +++ b/db/update15.5.sql @@ -0,0 +1,3 @@ +ALTER TABLE `zt_project` drop COLUMN `product`, drop COLUMN `statge`, drop COLUMN `storyConcept`; +ALTER TABLE `zt_product` drop COLUMN `storyConcept`; +UPDATE zt_todo SET assignedTo=account,assignedBy=account,assignedDate=`date` WHERE assignedTo=''; diff --git a/db/zentao.sql b/db/zentao.sql index f75613d858..1ea88b7a3e 100644 --- a/db/zentao.sql +++ b/db/zentao.sql @@ -634,7 +634,6 @@ CREATE TABLE IF NOT EXISTS `zt_product` ( `PO` varchar(30) NOT NULL, `QD` varchar(30) NOT NULL, `RD` varchar(30) NOT NULL, - `storyConcept` smallint(5) NOT NULL, `acl` enum('open','private','custom') NOT NULL default 'open', `whitelist` text NOT NULL, `createdBy` varchar(30) NOT NULL, @@ -668,7 +667,6 @@ CREATE TABLE IF NOT EXISTS `zt_project` ( `project` mediumint(8) NOT NULL DEFAULT 0, `model` char(30) NOT NULL, `type` char(30) NOT NULL DEFAULT 'sprint', - `product` char(30) NOT NULL DEFAULT 'single', `lifetime` char(30) NOT NULL DEFAULT '', `budget` varchar(30) NOT NULL DEFAULT '0', `budgetUnit` char(30) NOT NULL DEFAULT 'CNY', @@ -687,10 +685,8 @@ CREATE TABLE IF NOT EXISTS `zt_project` ( `realBegan` date NOT NULL, `realEnd` date NOT NULL, `days` smallint(5) unsigned NOT NULL, - `storyConcept` smallint(5) unsigned NOT NULL, `status` varchar(10) NOT NULL, `subStatus` varchar(30) NOT NULL DEFAULT '', - `statge` enum('1','2','3','4','5') NOT NULL DEFAULT '1', `pri` enum('1','2','3','4') NOT NULL DEFAULT '1', `desc` text NOT NULL, `version` smallint(6) NOT NULL, diff --git a/doc/CHANGELOG b/doc/CHANGELOG index 651a667ff6..0750207001 100644 --- a/doc/CHANGELOG +++ b/doc/CHANGELOG @@ -1,3 +1,36 @@ +2021-10-12 15.6 +修复的BUG +15263 项目文档库自定义权限问题 +15248 产品计划截至时间为当日时项目集看板不显示该计划 +15229 删除项目集,产品列表显示有问题 +15186 产品计划关联研发需求界面搜索功能按条件搜索不到 +15167 新手教程的提Bug任务没有需要输入的内容 +15143 手册中搜索的下一页链接不正确 +15089 项目集看板中未过期计划和正常发布中无数字显示 +15088 使用指令修改任务状态无效 +15065 点击完bug所属产品后再点击其他模块报错 +14983 后台-二次开发-数据库很多字段描述是空的 +14970 禅道页面加载十几秒 +14929 创建产品时不选择项目集,重新编辑时不能修改所属项目集 +14862 执行-测试-用例 页面展示了未和执行和需求相关的用例 +14851 新手教程创建项目集没有提示保存 +14785 集成gitlab时,gitlab列表不显示数据 +14748 产品提交需求界面创建计划多次点击保存会生成多条数据 +14690 新手教程语言项显示问题 +14679 等保三级扫描的pro10.1版本漏洞 +14674 普通用户帮助手册页点击下拉无响应 +14632 浏览器通知只在地盘-仪表盘页面显示,不能在任意禅道页面推送显示。 +14629 升级后下载附件提示乱码 +14607 搜索条件保存后修改条件再次搜索无效 +14594 顶级项目添加执行不能复制当前项目团队成员 +14528 从我近期参与的项目页返回后显示空白页 +14523 视野维护中移除可访问项目集后,该项目集可访问人员中没同步移除相关用户 +14487 无用php记录太多拉低禅道整体性能 +14486 需求搜索数据错误 +14018 项目集排序权限没有登记 +13907 已延期的产品添加迭代,迭代时间只能选择过去时间 +13815 项目设置权限不生效 + 2021-09-14 15.5 完成的需求 28102 在项目集中添加批量编辑项目功能 diff --git a/framework/api/router.class.php b/framework/api/router.class.php index 3b18de79fd..1df2e0b4e0 100644 --- a/framework/api/router.class.php +++ b/framework/api/router.class.php @@ -88,11 +88,11 @@ class api extends router } else { - $this->path = trim((strpos($_SERVER['REQUEST_URI'], '?') > 0 ? strstr($_SERVER['REQUEST_URI'], '?', true) : $_SERVER['REQUEST_URI']), '/'); + $this->path = rtrim((strpos($_SERVER['REQUEST_URI'], '?') > 0 ? strstr($_SERVER['REQUEST_URI'], '?', true) : $_SERVER['REQUEST_URI']), '/'); } $dir = rtrim(dirname($_SERVER['SCRIPT_NAME']), '/'); - if($dir != '') $this->path = substr($this->path, strlen($dir)); + if($dir != '' and strpos($this->path, $dir) === 0) $this->path = substr($this->path, strlen($dir)); $subPos = strpos($this->path, '/', 1); diff --git a/framework/base/helper.class.php b/framework/base/helper.class.php index 1f39f5ec90..ec1acf2e2c 100644 --- a/framework/base/helper.class.php +++ b/framework/base/helper.class.php @@ -581,7 +581,7 @@ class baseHelper * @access public * @return void */ - static function cd($path = '') + static public function cd($path = '') { static $cwd = ''; if($path) $cwd = getcwd(); diff --git a/framework/base/router.class.php b/framework/base/router.class.php index 122d219b6a..fca97c980f 100644 --- a/framework/base/router.class.php +++ b/framework/base/router.class.php @@ -898,7 +898,7 @@ class baseRouter */ public function setOpenApp() { - if(isset($_COOKIE['tab']) and $_COOKIE['tab']) + if(isset($_COOKIE['tab']) and $_COOKIE['tab'] and preg_match('/^\w+$/', $_COOKIE['tab'])) { $this->tab = $_COOKIE['tab']; } diff --git a/framework/control.class.php b/framework/control.class.php index 3554707ffd..3ee876480c 100644 --- a/framework/control.class.php +++ b/framework/control.class.php @@ -341,7 +341,9 @@ class control extends baseControl $message = array(); foreach($fields as $field) { - if($field->buildin or !$field->show or !isset($layouts[$field->field])) continue; + if(!empty($field->buildin)) continue; + if(empty($field->show)) continue; + if(!isset($layouts[$field->field])) continue; $fieldRules = explode(',', trim($field->rules, ',')); $fieldRules = array_unique($fieldRules); diff --git a/module/action/lang/de.php b/module/action/lang/de.php index d5f35b9bdb..7d8d8eaca2 100644 --- a/module/action/lang/de.php +++ b/module/action/lang/de.php @@ -12,7 +12,7 @@ $lang->action->common = 'Log'; $lang->action->product = $lang->productCommon; $lang->action->project = 'Project'; -$lang->action->execution = $lang->executionCommon; +$lang->action->execution = $lang->execution->common; $lang->action->objectType = 'Object Type'; $lang->action->objectID = 'ID'; $lang->action->objectName = 'Objekt Name'; diff --git a/module/action/lang/en.php b/module/action/lang/en.php index 3eccd994f4..a74203313e 100755 --- a/module/action/lang/en.php +++ b/module/action/lang/en.php @@ -11,19 +11,24 @@ */ global $config; -$lang->action->common = 'Log'; -$lang->action->product = $lang->productCommon; -$lang->action->project = 'Project'; -$lang->action->execution = $lang->executionCommon; -$lang->action->objectType = 'Object Type'; -$lang->action->objectID = 'ID'; -$lang->action->objectName = 'Object Name'; -$lang->action->actor = 'User'; -$lang->action->action = 'Action'; -$lang->action->actionID = 'Action ID'; -$lang->action->date = 'Date'; -$lang->action->extra = 'Extra'; -$lang->action->system = 'System'; +$lang->action->common = 'Log'; +$lang->action->id = 'ID'; +$lang->action->product = $lang->productCommon; +$lang->action->project = 'Project'; +$lang->action->execution = $lang->execution->common; +$lang->action->objectType = 'Object Type'; +$lang->action->objectID = 'ID'; +$lang->action->objectName = 'Object Name'; +$lang->action->actor = 'User'; +$lang->action->action = 'Action'; +$lang->action->actionID = 'Action ID'; +$lang->action->date = 'Date'; +$lang->action->extra = 'Extra'; +$lang->action->system = 'System'; +$lang->action->url = 'URL'; +$lang->action->contentType = 'Content Type'; +$lang->action->data = 'Data'; +$lang->action->result = 'Result'; $lang->action->trash = 'Recycle'; $lang->action->undelete = 'Restore'; diff --git a/module/action/lang/fr.php b/module/action/lang/fr.php index 8cfb507284..0754fd1130 100644 --- a/module/action/lang/fr.php +++ b/module/action/lang/fr.php @@ -11,8 +11,8 @@ */ $lang->action->common = 'Log'; $lang->action->product = $lang->productCommon; -$lang->action->project = $lang->executionCommon; -$lang->action->execution = $lang->executionCommon; +$lang->action->project = 'Project'; +$lang->action->execution = $lang->execution->common; $lang->action->objectType = "Type d'objet"; $lang->action->objectID = 'ID'; $lang->action->objectName = "Nom de l'object"; diff --git a/module/action/lang/vi.php b/module/action/lang/vi.php index 4f3a7ffef2..67a7ae7567 100644 --- a/module/action/lang/vi.php +++ b/module/action/lang/vi.php @@ -12,7 +12,7 @@ $lang->action->common = 'Nhật ký'; $lang->action->product = $lang->productCommon; $lang->action->project = 'Project'; -$lang->action->execution = $lang->executionCommon; +$lang->action->execution = $lang->execution->common; $lang->action->objectType = 'Loại đối tượng'; $lang->action->objectID = 'ID'; $lang->action->objectName = 'Tên đối tượng'; diff --git a/module/action/lang/zh-cn.php b/module/action/lang/zh-cn.php index 37a184818e..2f1e82893b 100755 --- a/module/action/lang/zh-cn.php +++ b/module/action/lang/zh-cn.php @@ -11,19 +11,24 @@ */ global $config; -$lang->action->common = '系统日志'; -$lang->action->product = $lang->productCommon; -$lang->action->project = '项目'; -$lang->action->execution = $lang->executionCommon; -$lang->action->objectType = '对象类型'; -$lang->action->objectID = '对象ID'; -$lang->action->objectName = '对象名称'; -$lang->action->actor = '操作者'; -$lang->action->action = '动作'; -$lang->action->actionID = '记录ID'; -$lang->action->date = '日期'; -$lang->action->extra = '附加值'; -$lang->action->system = '系统'; +$lang->action->common = '系统日志'; +$lang->action->id = '编号'; +$lang->action->product = $lang->productCommon; +$lang->action->project = '项目'; +$lang->action->execution = $lang->execution->common; +$lang->action->objectType = '对象类型'; +$lang->action->objectID = '对象ID'; +$lang->action->objectName = '对象名称'; +$lang->action->actor = '操作者'; +$lang->action->action = '动作'; +$lang->action->actionID = '记录ID'; +$lang->action->date = '日期'; +$lang->action->extra = '附加值'; +$lang->action->system = '系统'; +$lang->action->url = '网址'; +$lang->action->contentType = '内容类型'; +$lang->action->data = '数据'; +$lang->action->result = '结果'; $lang->action->trash = '回收站'; $lang->action->undelete = '还原'; diff --git a/module/action/lang/zh-tw.php b/module/action/lang/zh-tw.php index 6ea0a55058..e87f00e8b0 100755 --- a/module/action/lang/zh-tw.php +++ b/module/action/lang/zh-tw.php @@ -11,19 +11,24 @@ */ global $config; -$lang->action->common = '系統日誌'; -$lang->action->product = $lang->productCommon; -$lang->action->project = '項目'; -$lang->action->execution = $lang->executionCommon; -$lang->action->objectType = '對象類型'; -$lang->action->objectID = '對象ID'; -$lang->action->objectName = '對象名稱'; -$lang->action->actor = '操作者'; -$lang->action->action = '動作'; -$lang->action->actionID = '記錄ID'; -$lang->action->date = '日期'; -$lang->action->extra = '附加值'; -$lang->action->system = '系統'; +$lang->action->common = '系統日誌'; +$lang->action->id = '編號'; +$lang->action->product = $lang->productCommon; +$lang->action->project = '項目'; +$lang->action->execution = $lang->executionCommon; +$lang->action->objectType = '對象類型'; +$lang->action->objectID = '對象ID'; +$lang->action->objectName = '對象名稱'; +$lang->action->actor = '操作者'; +$lang->action->action = '動作'; +$lang->action->actionID = '記錄ID'; +$lang->action->date = '日期'; +$lang->action->extra = '附加值'; +$lang->action->system = '系統'; +$lang->action->url = '網址'; +$lang->action->contentType = '內容類型'; +$lang->action->data = '數據'; +$lang->action->result = '結果'; $lang->action->trash = '資源回收筒'; $lang->action->undelete = '還原'; diff --git a/module/action/model.php b/module/action/model.php index 2bbdedc01c..61cf3e0d9b 100755 --- a/module/action/model.php +++ b/module/action/model.php @@ -49,7 +49,7 @@ class actionModel extends model $action->date = helper::now(); $action->extra = $extra; - if($objectType == 'story' and $actionType !== 'reviewed' and strpos(',reviewclosed,passreviewed,clarifyreviewed,', ",$actionType,") !== false) $action->actor = $this->lang->action->system; + if($objectType == 'story' and strpos(',reviewpassed,reviewrejected,reviewclarified,', ",$actionType,") !== false) $action->actor = $this->lang->action->system; /* Use purifier to process comment. Fix bug #2683. */ $action->comment = fixer::stripDataTags($comment); @@ -338,7 +338,7 @@ class actionModel extends model elseif($actionName == 'moved') { $name = $this->dao->select('name')->from(TABLE_PROJECT)->where('id')->eq($action->extra)->fetch('name'); - if($name) $action->extra = common::hasPriv('project', 'task') ? html::a(helper::createLink('project', 'task', "projectID=$action->extra"), "#$action->extra " . $name) : "#$action->extra " . $name; + if($name) $action->extra = common::hasPriv('execution', 'task') ? html::a(helper::createLink('execution', 'task', "executionID=$action->extra"), "#$action->extra " . $name) : "#$action->extra " . $name; } elseif($actionName == 'frombug' and common::hasPriv('bug', 'view')) { @@ -774,7 +774,7 @@ class actionModel extends model /* If is project, select its related. */ $executions = array(); - if(is_numeric($projectID)) $executions = $this->loadModel('execution')->getPairs($projectID); + if(is_numeric($projectID) and $executionID == 'all') $executions = $this->loadModel('execution')->getPairs($projectID); $this->loadModel('doc'); $libs = $this->doc->getLibs('includeDeleted') + array('' => ''); @@ -864,8 +864,8 @@ class actionModel extends model } if($this->session->actionQuery == false) $this->session->set('actionQuery', ' 1 = 1'); - $allProducts = "`product` = 'all'"; - $allProjects = "`project` = 'all'"; + $allProducts = "`product` = 'all'"; + $allProjects = "`project` = 'all'"; $allExecutions = "`execution` = 'all'"; $actionQuery = $this->session->actionQuery; diff --git a/module/block/lang/de.php b/module/block/lang/de.php index ac3e8e0f6d..49b5678f4c 100644 --- a/module/block/lang/de.php +++ b/module/block/lang/de.php @@ -76,10 +76,6 @@ $lang->block->selectProduct = 'Product selection'; $lang->block->of = ' von '; $lang->block->remain = 'Left'; -$lang->block->params = new stdclass(); -$lang->block->params->name = 'Name'; -$lang->block->params->value = 'Wert'; - $lang->block->createBlock = 'InfoBlock erstellen'; $lang->block->editBlock = 'Bearbeiten'; $lang->block->ordersSaved = 'Sortierung gespeichert.'; diff --git a/module/block/lang/en.php b/module/block/lang/en.php index 94c0c643e7..44689051f1 100644 --- a/module/block/lang/en.php +++ b/module/block/lang/en.php @@ -12,6 +12,8 @@ global $config; $lang->block = new stdclass(); $lang->block->common = 'Block'; +$lang->block->id = 'ID'; +$lang->block->params = 'Params'; $lang->block->name = 'Name'; $lang->block->style = 'Style'; $lang->block->grid = 'Position'; @@ -76,10 +78,6 @@ $lang->block->selectProduct = 'Product selection'; $lang->block->of = ' of '; $lang->block->remain = 'Left'; -$lang->block->params = new stdclass(); -$lang->block->params->name = 'Name'; -$lang->block->params->value = 'Value'; - $lang->block->createBlock = 'Add Block'; $lang->block->editBlock = 'Edit Block'; $lang->block->ordersSaved = 'The order is saved.'; diff --git a/module/block/lang/fr.php b/module/block/lang/fr.php index 74c3a19073..1b47a8ce94 100644 --- a/module/block/lang/fr.php +++ b/module/block/lang/fr.php @@ -76,10 +76,6 @@ $lang->block->selectProduct = 'Product selection'; $lang->block->of = ' di '; $lang->block->remain = 'Left'; -$lang->block->params = new stdclass(); -$lang->block->params->name = 'Nom'; -$lang->block->params->value = 'Valeur'; - $lang->block->createBlock = 'Ajouter Bloc'; $lang->block->editBlock = 'Editer Bloc'; $lang->block->ordersSaved = 'L´ordre a été sauvegardé.'; diff --git a/module/block/lang/vi.php b/module/block/lang/vi.php index 9d90a89d26..37202953eb 100644 --- a/module/block/lang/vi.php +++ b/module/block/lang/vi.php @@ -76,10 +76,6 @@ $lang->block->selectProduct = 'Product selection'; $lang->block->of = ' thực '; $lang->block->remain = 'Left'; -$lang->block->params = new stdclass(); -$lang->block->params->name = 'Tên'; -$lang->block->params->value = 'Giá trị'; - $lang->block->createBlock = 'Thêm Block'; $lang->block->editBlock = 'Sửa Block'; $lang->block->ordersSaved = 'Thứ tự đã được lưu'; diff --git a/module/block/lang/zh-cn.php b/module/block/lang/zh-cn.php index 232bdf7348..dbd8e2ed9f 100644 --- a/module/block/lang/zh-cn.php +++ b/module/block/lang/zh-cn.php @@ -12,6 +12,8 @@ global $config; $lang->block = new stdclass(); $lang->block->common = '区块'; +$lang->block->id = '编号'; +$lang->block->params = '参数'; $lang->block->name = '区块名称'; $lang->block->style = '外观'; $lang->block->grid = '位置'; @@ -76,10 +78,6 @@ $lang->block->selectProduct = '选择产品'; $lang->block->of = '的'; $lang->block->remain = '剩余工时'; -$lang->block->params = new stdclass(); -$lang->block->params->name = '参数名称'; -$lang->block->params->value = '参数值'; - $lang->block->createBlock = '添加区块'; $lang->block->editBlock = '编辑区块'; $lang->block->ordersSaved = '排序已保存'; diff --git a/module/block/lang/zh-tw.php b/module/block/lang/zh-tw.php index 14c4684549..7350ddb8c9 100644 --- a/module/block/lang/zh-tw.php +++ b/module/block/lang/zh-tw.php @@ -12,6 +12,8 @@ global $config; $lang->block = new stdclass(); $lang->block->common = '區塊'; +$lang->block->id = '編號'; +$lang->block->params = '參數'; $lang->block->name = '區塊名稱'; $lang->block->style = '外觀'; $lang->block->grid = '位置'; @@ -76,10 +78,6 @@ $lang->block->selectProduct = '選擇產品'; $lang->block->of = '的'; $lang->block->remain = '剩餘工時'; -$lang->block->params = new stdclass(); -$lang->block->params->name = '參數名稱'; -$lang->block->params->value = '參數值'; - $lang->block->createBlock = '添加區塊'; $lang->block->editBlock = '編輯區塊'; $lang->block->ordersSaved = '排序已保存'; @@ -538,7 +536,7 @@ $lang->block->typeList->testtask['done'] = '已測版本'; $lang->block->typeList->testtask['all'] = '全部'; $lang->block->modules['project']->moreLinkList = new stdclass(); -$lang->block->modules['project']->moreLinkList->recentproject = 'project|browse|'; +$lang->block->modules['project']->moreLinkList->recentproject = $config->systemMode == 'new' ? 'project|browse|' : 'execution|all|'; $lang->block->modules['project']->moreLinkList->statistic = 'project|browse|'; $lang->block->modules['project']->moreLinkList->project = 'project|browse|'; $lang->block->modules['project']->moreLinkList->cmmireport = 'weekly|index|'; diff --git a/module/block/view/executionblock.html.php b/module/block/view/executionblock.html.php index 6854e2ab3d..6611c5feff 100644 --- a/module/block/view/executionblock.html.php +++ b/module/block/view/executionblock.html.php @@ -17,7 +17,7 @@ .table .c-burn {width: 150px;} -
" . $lang->execution->create, '', "class='btn btn-primary'")?>
+
" . $lang->execution->create, '', "class='btn btn-primary' data-app='execution'")?>
diff --git a/module/block/view/recentprojectblock.html.php b/module/block/view/recentprojectblock.html.php index ce4e32b025..4291a611c0 100644 --- a/module/block/view/recentprojectblock.html.php +++ b/module/block/view/recentprojectblock.html.php @@ -17,7 +17,7 @@ #cards .project-infos > span {display: inline-block; line-height: 12px;} #cards .project-infos > span > .icon {font-size: 12px; display: inline-block; position: relative; top: -1px} #cards .project-infos > span + span {margin-left: 10px;} -#cards .project-detail {position: absolute; bottom: 16px; left: 16px; right: 16px; font-size: 12px;} +#cards .project-detail {position: absolute; bottom: 16px; left: 16px; right: 16px; font-size: 12px; padding-left: 10px;} #cards .project-detail > p {margin-bottom: 8px;} #cards .project-detail .progress {height: 4px;} #cards .project-detail .progress-text-left .progress-text {width: 50px; left: -50px;} diff --git a/module/block/view/storyblock.html.php b/module/block/view/storyblock.html.php index c8822ffa87..68e9c7ece8 100644 --- a/module/block/view/storyblock.html.php +++ b/module/block/view/storyblock.html.php @@ -10,6 +10,7 @@ * @link http://www.zentao.net */ ?> +app->loadLang('story');?>
block->emptyTip;?>
diff --git a/module/bug/config.php b/module/bug/config.php index 82b51996f6..e85eb78851 100644 --- a/module/bug/config.php +++ b/module/bug/config.php @@ -26,7 +26,7 @@ $config->bug->list->allFields = 'id, module, execution, story, task, $config->bug->list->defaultFields = 'id,severity,pri,title,openedBy,assignedTo,resolvedBy,resolution'; -$config->bug->list->exportFields = 'id, product, branch, module, execution, story, task, +$config->bug->list->exportFields = 'id, product, branch, module, project, execution, story, task, title, keywords, severity, pri, type, os, browser, steps, status, deadline, activatedCount, confirmed, mailto, openedBy, openedDate, openedBuild, diff --git a/module/bug/control.php b/module/bug/control.php index 8412b26f41..811234831b 100644 --- a/module/bug/control.php +++ b/module/bug/control.php @@ -574,12 +574,12 @@ class bug extends control /* Set custom. */ foreach(explode(',', $this->config->bug->list->customCreateFields) as $field) $customFields[$field] = $this->lang->bug->$field; - $title = isset($this->products[$productID]) ? $this->products[$productID] . $this->lang->colon . $this->lang->bug->create : $this->lang->bug->create; - $this->view->title = $title; + $this->view->title = isset($this->products[$productID]) ? $this->products[$productID] . $this->lang->colon . $this->lang->bug->create : $this->lang->bug->create; $this->view->customFields = $customFields; $this->view->showFields = $this->config->bug->custom->createFields; + $this->view->gobackLink = (isset($output['from']) and $output['from'] == 'global') ? $this->createLink('bug', 'browse', "productID=$productID") : ''; $this->view->products = $products; $this->view->productID = $productID; $this->view->productName = isset($this->products[$productID]) ? $this->products[$productID] : ''; @@ -724,7 +724,7 @@ class bug extends control /* Judge bug exits or not. */ $bugID = (int)$bugID; $bug = $this->bug->getById($bugID, true); - if(!$bug) die(js::error($this->lang->notFound) . js::locate('back')); + if(!$bug) die(js::error($this->lang->notFound) . js::locate($this->createLink('qa', 'index'))); $this->session->set('storyList', '', 'product'); $this->session->set('projectList', $this->app->getURI(true) . "#app={$this->app->tab}", 'project'); @@ -1719,6 +1719,7 @@ class bug extends control /* Get users, products and executions. */ $users = $this->loadModel('user')->getPairs('noletter'); $products = $this->loadModel('product')->getPairs(); + $projects = $this->loadModel('project')->getPairsByProgram(); $executions = $this->loadModel('execution')->getPairs($this->projectID, 'all', 'all'); /* Get related objects id lists. */ @@ -1777,6 +1778,7 @@ class bug extends control /* fill some field with useful value. */ $bug->product = !isset($products[$bug->product]) ? '' : $products[$bug->product] . "(#$bug->product)"; + $bug->project = !isset($projects[$bug->project]) ? '' : $projects[$bug->project] . "(#$bug->project)"; $bug->execution = !isset($executions[$bug->execution]) ? '' : $executions[$bug->execution] . "(#$bug->execution)"; $bug->story = !isset($relatedStories[$bug->story]) ? '' : $relatedStories[$bug->story] . "(#$bug->story)"; $bug->task = !isset($relatedTasks[$bug->task]) ? '' : $relatedTasks[$bug->task] . "($bug->task)"; @@ -1802,7 +1804,7 @@ class bug extends control if(isset($users[$bug->lastEditedBy])) $bug->lastEditedBy = $users[$bug->lastEditedBy]; if(isset($users[$bug->closedBy])) $bug->closedBy = $users[$bug->closedBy]; - $bug->title = htmlspecialchars_decode($bug->title,ENT_QUOTES); + $bug->title = htmlspecialchars_decode($bug->title,ENT_QUOTES); if($bug->linkBug) { diff --git a/module/bug/css/create.css b/module/bug/css/create.css index 554b1268aa..433e87435a 100644 --- a/module/bug/css/create.css +++ b/module/bug/css/create.css @@ -44,3 +44,4 @@ html[lang='en'] #deadlineTd .input-group-addon {padding: 5px 18px;} #typeBox .required:after {right: 1px;} #osBox .required:after {right: 1px;} #osBox {width: 190px;} +#projectBox .required:after {right: 1px;} diff --git a/module/bug/js/browse.js b/module/bug/js/browse.js index 76bf55c9d3..6d469700d9 100644 --- a/module/bug/js/browse.js +++ b/module/bug/js/browse.js @@ -1,4 +1,11 @@ $(function() { if($('#bugList thead th.c-title').width() < 150) $('#bugList thead th.c-title').width(150); + + /* The display of the adjusting sidebarHeader is synchronized with the sidebar. */ + $(".sidebar-toggle").click(function() + { + $("#sidebarHeader").toggle("fast"); + }); + if($("main").is(".hide-sidebar")) $("#sidebarHeader").hide(); }); diff --git a/module/bug/lang/en.php b/module/bug/lang/en.php index 550be67d26..4df3eeb931 100644 --- a/module/bug/lang/en.php +++ b/module/bug/lang/en.php @@ -30,6 +30,13 @@ $lang->bug->pri = 'Priority'; $lang->bug->type = 'Type'; $lang->bug->os = 'OS'; $lang->bug->browser = 'Browser'; +$lang->bug->hardware = 'Hardware'; +$lang->bug->result = 'Result'; +$lang->bug->repo = 'Repo'; +$lang->bug->lines = 'Lines'; +$lang->bug->v1 = 'Version A'; +$lang->bug->v2 = 'Version B'; +$lang->bug->repoType = 'Repo Type'; $lang->bug->steps = 'Repro Steps'; $lang->bug->status = 'Status'; $lang->bug->statusAB = 'Status'; diff --git a/module/bug/lang/zh-cn.php b/module/bug/lang/zh-cn.php index ac43c139a6..8c11dead7d 100644 --- a/module/bug/lang/zh-cn.php +++ b/module/bug/lang/zh-cn.php @@ -30,6 +30,13 @@ $lang->bug->pri = '优先级'; $lang->bug->type = 'Bug类型'; $lang->bug->os = '操作系统'; $lang->bug->browser = '浏览器'; +$lang->bug->hardware = '硬件'; +$lang->bug->result = '结果'; +$lang->bug->repo = '所属版本库'; +$lang->bug->lines = '代码行'; +$lang->bug->v1 = '版本1'; +$lang->bug->v2 = '版本2'; +$lang->bug->repoType = '版本库类型'; $lang->bug->steps = '重现步骤'; $lang->bug->status = 'Bug状态'; $lang->bug->statusAB = '状态'; diff --git a/module/bug/lang/zh-tw.php b/module/bug/lang/zh-tw.php index 4a46b999ec..423d9356c6 100644 --- a/module/bug/lang/zh-tw.php +++ b/module/bug/lang/zh-tw.php @@ -30,6 +30,13 @@ $lang->bug->pri = '優先順序'; $lang->bug->type = 'Bug類型'; $lang->bug->os = '操作系統'; $lang->bug->browser = '瀏覽器'; +$lang->bug->hardware = '硬件'; +$lang->bug->result = '結果'; +$lang->bug->repo = '所屬版本庫'; +$lang->bug->lines = '代碼行'; +$lang->bug->v1 = '版本1'; +$lang->bug->v2 = '版本2'; +$lang->bug->repoType = '版本庫類型'; $lang->bug->steps = '重現步驟'; $lang->bug->status = 'Bug狀態'; $lang->bug->statusAB = '狀態'; diff --git a/module/bug/model.php b/module/bug/model.php index 378f3f35eb..24718b5a6b 100644 --- a/module/bug/model.php +++ b/module/bug/model.php @@ -202,7 +202,7 @@ class bugModel extends model foreach(explode(',', $this->config->bug->create->requiredFields) as $field) { $field = trim($field); - if($field and empty($bug->$field)) die(js::alert(sprintf($this->lang->error->notempty, $this->lang->bug->$field))); + if($field and isset($bug->$field) and empty($bug->$field)) die(js::alert(sprintf($this->lang->error->notempty, $this->lang->bug->$field))); } $bugs[$i] = $bug; diff --git a/module/bug/view/create.html.php b/module/bug/view/create.html.php index 373db1cbbc..7af9d2793b 100644 --- a/module/bug/view/create.html.php +++ b/module/bug/view/create.html.php @@ -328,7 +328,8 @@ js::set('moduleID', $moduleID); session->bugList ? $this->session->bugList : $this->inlink('browse', "productID=$productID");?> goback, '', 'class="btn btn-wide"');?> - + goback, '', 'class="btn btn-wide"');?> + id);?> diff --git a/module/build/control.php b/module/build/control.php index 2d9d1d6c36..cb65bd5395 100644 --- a/module/build/control.php +++ b/module/build/control.php @@ -46,7 +46,7 @@ class build extends control if($this->app->tab == 'project') { $this->loadModel('project')->setMenu($projectID); - $executions = $this->execution->getPairs($projectID); + $executions = $this->execution->getPairs($projectID, 'all', 'stagefilter'); $executionID = empty($executionID) ? key($executions) : $executionID; $this->session->set('project', $projectID); } @@ -136,7 +136,7 @@ class build extends control $execution->name = ''; } - $executions = $this->product->getExecutionPairsByProduct($build->product, $build->branch, 'id_desc', $this->session->project); + $executions = $this->product->getExecutionPairsByProduct($build->product, $build->branch, 'id_desc', $this->session->project, 'stagefilter'); if(!isset($executions[$build->execution])) $executions[$build->execution] = $execution->name; $productGroups = $this->execution->getProducts($build->execution); @@ -188,7 +188,7 @@ class build extends control if(!$build) { if(defined('RUN_MODE') && RUN_MODE == 'api') return $this->send(array('status' => 'fail', 'code' => 404, 'message' => '404 Not found')); - die(js::error($this->lang->notFound) . js::locate('back')); + die(js::error($this->lang->notFound) . js::locate($this->createLink('execution', 'all'))); } $this->session->project = $build->project; @@ -565,7 +565,7 @@ class build extends control /* Set menu. */ $build = $this->build->getByID($buildID); $product = $this->loadModel('product')->getByID($build->product); - $this->loadModel('execution')->setMenu($this->execution->getPairs($build->project), $build->execution); + $this->loadModel('execution')->setMenu($build->execution); /* Load pager. */ $this->app->loadClass('pager', $static = true); diff --git a/module/build/lang/en.php b/module/build/lang/en.php index 15111b6574..20a3d4b1bd 100644 --- a/module/build/lang/en.php +++ b/module/build/lang/en.php @@ -29,6 +29,7 @@ $lang->build->basicInfo = 'Basic Info'; $lang->build->id = 'ID'; $lang->build->product = $lang->productCommon; +$lang->build->project = 'Project'; $lang->build->branch = 'Platform/Branch'; $lang->build->execution = $lang->executionCommon; $lang->build->name = 'Name'; @@ -37,6 +38,7 @@ $lang->build->builder = 'Builder'; $lang->build->scmPath = 'SCM Path'; $lang->build->filePath = 'File Path'; $lang->build->desc = 'Description'; +$lang->build->mailto = 'Mailto'; $lang->build->files = 'Files'; $lang->build->last = 'Last Build'; $lang->build->packageType = 'Package Type'; diff --git a/module/build/lang/zh-cn.php b/module/build/lang/zh-cn.php index 193473d840..2470d7e637 100644 --- a/module/build/lang/zh-cn.php +++ b/module/build/lang/zh-cn.php @@ -29,6 +29,7 @@ $lang->build->basicInfo = '基本信息'; $lang->build->id = 'ID'; $lang->build->product = $lang->productCommon; +$lang->build->project = '所属项目'; $lang->build->branch = '平台/分支'; $lang->build->execution = '所属' . $lang->executionCommon; $lang->build->name = '名称编号'; @@ -37,6 +38,7 @@ $lang->build->builder = '构建者'; $lang->build->scmPath = '源代码地址'; $lang->build->filePath = '下载地址'; $lang->build->desc = '描述'; +$lang->build->mailto = 'Mailto'; $lang->build->files = '上传发行包'; $lang->build->last = '上个版本'; $lang->build->packageType = '包类型'; diff --git a/module/build/lang/zh-tw.php b/module/build/lang/zh-tw.php index 9d04267975..789f918176 100644 --- a/module/build/lang/zh-tw.php +++ b/module/build/lang/zh-tw.php @@ -29,6 +29,7 @@ $lang->build->basicInfo = '基本信息'; $lang->build->id = 'ID'; $lang->build->product = $lang->productCommon; +$lang->build->project = '所屬項目'; $lang->build->branch = '平台/分支'; $lang->build->execution = '所屬' . $lang->executionCommon; $lang->build->name = '名稱編號'; @@ -37,6 +38,7 @@ $lang->build->builder = '構建者'; $lang->build->scmPath = '原始碼地址'; $lang->build->filePath = '下載地址'; $lang->build->desc = '描述'; +$lang->build->mailto = 'Mailto'; $lang->build->files = '上傳發行包'; $lang->build->last = '上個版本'; $lang->build->packageType = '包類型'; diff --git a/module/caselib/control.php b/module/caselib/control.php index d3f750f987..80dcf2fbd7 100644 --- a/module/caselib/control.php +++ b/module/caselib/control.php @@ -377,7 +377,7 @@ class caselib extends control { $libID = (int)$libID; $lib = $this->caselib->getById($libID, true); - if(!isset($lib->id)) die(js::error($this->lang->notFound) . js::locate('back')); + if(!isset($lib->id)) die(js::error($this->lang->notFound) . js::locate($this->createLink('qa', 'index'))); /* Set lib menu. */ $libraries = $this->caselib->getLibraries(); diff --git a/module/caselib/js/browse.js b/module/caselib/js/browse.js index c0b0581ddc..001e3ddc52 100644 --- a/module/caselib/js/browse.js +++ b/module/caselib/js/browse.js @@ -20,3 +20,13 @@ function confirmBatchDelete(actionLink) if(confirm(batchDelete)) setFormAction(actionLink); return false; } + +$(function() +{ + /* The display of the adjusting sidebarHeader is synchronized with the sidebar. */ + $(".sidebar-toggle").click(function() + { + $("#sidebarHeader").toggle("fast"); + }); + if($("main").is(".hide-sidebar")) $("#sidebarHeader").hide(); +}); \ No newline at end of file diff --git a/module/common/model.php b/module/common/model.php index 210de9d9fa..d1ccf771a5 100644 --- a/module/common/model.php +++ b/module/common/model.php @@ -119,6 +119,8 @@ class commonModel extends model $user->id = 0; $user->account = 'guest'; $user->realname = 'guest'; + $user->dept = 0; + $user->avatar = ''; $user->role = 'guest'; $user->admin = false; $user->rights = $this->loadModel('user')->authorize('guest'); @@ -223,6 +225,7 @@ class commonModel extends model $user = $this->app->user; $user->rights = $this->loadModel('user')->authorize($user->account); $user->groups = $this->user->getGroups($user->account); + $user->admin = strpos($this->app->company->admins, ",{$user->account},") !== false; $this->session->set('user', $user); $this->app->user = $this->session->user; if(commonModel::hasPriv($module, $method)) return true; @@ -358,9 +361,21 @@ class commonModel extends model $html .= ""; $html .= "
product)):?> diff --git a/module/entry/lang/en.php b/module/entry/lang/en.php index 20eab19a62..bb2d95049f 100644 --- a/module/entry/lang/en.php +++ b/module/entry/lang/en.php @@ -26,6 +26,9 @@ $lang->entry->editedby = 'EditedBy'; $lang->entry->editedDate = 'EditedDate'; $lang->entry->date = 'Requesting Time'; $lang->entry->url = 'Requesting URL'; +$lang->entry->calledTime = 'Called Time'; +$lang->entry->editedBy = 'Edited By'; +$lang->entry->deleted = 'Deleted'; $lang->entry->confirmDelete = 'Do you want to delete this entry?'; $lang->entry->help = 'Help'; diff --git a/module/entry/lang/zh-cn.php b/module/entry/lang/zh-cn.php index de4b94ebda..ad31b6e210 100644 --- a/module/entry/lang/zh-cn.php +++ b/module/entry/lang/zh-cn.php @@ -26,6 +26,9 @@ $lang->entry->editedby = '最后编辑'; $lang->entry->editedDate = '编辑时间'; $lang->entry->date = '请求时间'; $lang->entry->url = '请求地址'; +$lang->entry->calledTime = '调用时间'; +$lang->entry->editedBy = '由谁编辑'; +$lang->entry->deleted = '已删除'; $lang->entry->confirmDelete = '您确认要删除该应用吗?'; $lang->entry->help = '使用说明'; diff --git a/module/entry/lang/zh-tw.php b/module/entry/lang/zh-tw.php index 319d75d6ee..07cab46b2f 100644 --- a/module/entry/lang/zh-tw.php +++ b/module/entry/lang/zh-tw.php @@ -26,6 +26,9 @@ $lang->entry->editedby = '最後編輯'; $lang->entry->editedDate = '編輯時間'; $lang->entry->date = '請求時間'; $lang->entry->url = '請求地址'; +$lang->entry->calledTime = '調用時間'; +$lang->entry->editedBy = '由誰編輯'; +$lang->entry->deleted = '已刪除'; $lang->entry->confirmDelete = '您確認要刪除該應用嗎?'; $lang->entry->help = '使用說明'; diff --git a/module/execution/control.php b/module/execution/control.php index b71cf5abfd..a211de1def 100644 --- a/module/execution/control.php +++ b/module/execution/control.php @@ -140,6 +140,8 @@ class execution extends control if(common::hasPriv('execution', 'create')) $this->lang->TRActions = html::a($this->createLink('execution', 'create'), " " . $this->lang->execution->create, '', "class='btn btn-primary'"); + if(!isset($_SESSION['limitedExecutions'])) $this->execution->getLimitedExecution(); + /* Set browse type. */ $browseType = strtolower($status); @@ -1206,11 +1208,12 @@ class execution extends control * @param int $planID * @param string $confirm * @param string $productID + * @param string $extra * * @access public * @return void */ - public function create($projectID = '', $executionID = '', $copyExecutionID = '', $planID = 0, $confirm = 'no', $productID = 0) + public function create($projectID = '', $executionID = '', $copyExecutionID = '', $planID = 0, $confirm = 'no', $productID = 0, $extra = '') { /* Set menu. */ if($this->app->tab == 'project') @@ -1231,6 +1234,9 @@ class execution extends control unset($this->lang->doc->menu->execution['subMenu']); } + $extra = str_replace(array(',', ' '), array('&', ''), $extra); + parse_str($extra, $output); + $this->app->loadLang('program'); $this->app->loadLang('stage'); $this->app->loadLang('programplan'); @@ -1338,6 +1344,7 @@ class execution extends control $this->view->title = (($this->app->tab == 'execution') and ($this->config->systemMode == 'new')) ? $this->lang->execution->createExec : $this->lang->execution->create; $this->view->position[] = $this->view->title; + $this->view->gobackLink = (isset($output['from']) and $output['from'] == 'global') ? $this->createLink('execution', 'all') : ''; $this->view->executions = array('' => '') + $this->execution->getList($projectID); $this->view->groups = $this->loadModel('group')->getPairs(); $this->view->allProducts = array(0 => '') + $this->loadModel('product')->getProductPairsByProject($projectID, 'noclosed'); @@ -2982,6 +2989,9 @@ class execution extends control $executionLang = $this->lang->execution; $executionConfig = $this->config->execution; + $projectID = $from == 'project' ? $this->session->project : 0; + if($projectID) $this->project->setMenu($projectID); + /* Create field lists. */ $fields = $this->post->exportFields ? $this->post->exportFields : explode(',', $executionConfig->list->exportFields); foreach($fields as $key => $fieldName) @@ -2991,7 +3001,6 @@ class execution extends control unset($fields[$key]); } - $projectID = $from == 'project' ? $this->session->project : 0; $executionStats = $this->project->getStats($projectID, $status == 'byproduct' ? 'all' : $status, $productID, 0, 30, 'id_asc'); $users = $this->loadModel('user')->getPairs('noletter'); foreach($executionStats as $i => $execution) diff --git a/module/execution/js/create.js b/module/execution/js/create.js index 6cd163c3ad..2b58cb3af6 100644 --- a/module/execution/js/create.js +++ b/module/execution/js/create.js @@ -52,15 +52,12 @@ $(function() { if(index == 0) { - var maxWidth = $('.chosen-container .chosen-drop.chosen-auto-max-width.in').width() - 70; - - $('#teams_chosen ul .label').remove(); - $(this).after(' '); - $(this).attr('style', 'display: inline-block; vertical-align: middle; max-width: ' + maxWidth + 'px'); + var projectName = subString($(this).text(), 56); + $(this).text(projectName); + $(this).append(' '); } else { - $(this).html($(this).html().replace('   ', '')); $(this).prepend('   '); } }) @@ -107,3 +104,30 @@ function refreshPage(projectID) { location.href = createLink('execution', 'create', 'projectID=' + projectID); } + +/** + * Cut a string of letters and characters with the same length. + * + * @param string $title + * @param int $stringLength + * @access public + * @return string + */ +function subString(title, stringLength) +{ + if(title.replace(/[\u4e00-\u9fa5]/g, "**").length > stringLength) + { + var length = 0; + for(var i = 0; i < title.length; i ++) + { + length += title.charCodeAt(i) > 255 ? 2 : 1; + if(length > stringLength) + { + title = title.substring(0, i) + '...'; + break; + } + } + } + + return title; +} diff --git a/module/execution/js/task.js b/module/execution/js/task.js index 013627478d..d96b1ac4cc 100644 --- a/module/execution/js/task.js +++ b/module/execution/js/task.js @@ -14,6 +14,13 @@ $(function() adjustTableFooter(); $('body').on('click', '#toggleFold', adjustTableFooter); $('body').on('click', '.icon.icon-angle-double-right', adjustTableFooter); + + /* The display of the adjusting sidebarHeader is synchronized with the sidebar. */ + $(".sidebar-toggle").click(function() + { + $("#sidebarHeader").toggle("fast"); + }); + if($("main").is(".hide-sidebar")) $("#sidebarHeader").hide(); }); $('#module' + moduleID).closest('li').addClass('active'); diff --git a/module/execution/lang/de.php b/module/execution/lang/de.php index 7bec74b382..8e7837fbd6 100644 --- a/module/execution/lang/de.php +++ b/module/execution/lang/de.php @@ -311,31 +311,31 @@ $lang->execution->linkPRJStoryTip = "(Link {$lang->SRCommon} comes from {$la $lang->execution->linkAllStoryTip = "({$lang->SRCommon} has never been linked under the project, and can be directly linked with {$lang->SRCommon} of the product linked with the sprint/stage)"; /* 交互提示。*/ -$lang->execution->confirmDelete = "Möchten Sie {$lang->executionCommon}[%s] löschen?"; -$lang->execution->confirmUnlinkMember = "Möchten Sie den Benutzer vom {$lang->executionCommon} entfernen?"; -$lang->execution->confirmUnlinkStory = "Möchten Sie die Story vom {$lang->executionCommon} entfernen?"; +$lang->execution->confirmDelete = "Möchten Sie {$lang->executionCommon}[%s] löschen?"; +$lang->execution->confirmUnlinkMember = "Möchten Sie den Benutzer vom {$lang->executionCommon} entfernen?"; +$lang->execution->confirmUnlinkStory = "After {$lang->SRCommon} is removed, cased linked to {$lang->SRCommon} will be reomoved and tasks linked to {$lang->SRCommon} will be cancelled. Do you want to continue?;" $lang->execution->confirmUnlinkExecutionStory = "Do you want to unlink this Story from the project?"; -$lang->execution->notAllowedUnlinkStory = "This {$lang->SRCommon} is linked to the {$lang->executionCommon} of the project. Remove it from the {$lang->executionCommon}, then try again."; -$lang->execution->notAllowRemoveProducts = "The story of this product is linked with the {$lang->executionCommon}. Unlink it before doing any action."; -$lang->execution->errorNoLinkedProducts = "Kein verknüpftes {$lang->productCommon} in {$lang->executionCommon} gefunden. Sie werden auf die {$lang->productCommon} Seite geleitet."; -$lang->execution->errorSameProducts = "{$lang->executionCommon} Kann nicht mit mehreren identischen {$lang->productCommon} verknüpft werden"; -$lang->execution->errorBegin = "The start time of {$lang->executionCommon} cannot be less than the start time of the project %s."; -$lang->execution->errorEnd = "The end time of {$lang->executionCommon} cannot be greater than the end time %s of the project."; -$lang->execution->accessDenied = "Zugriff zu {$lang->executionCommon} verweigert!"; -$lang->execution->tips = 'Hinweis'; -$lang->execution->afterInfo = "{$lang->executionCommon} wurde erstellt. Als nächstes können Sie "; -$lang->execution->setTeam = 'Team setzen'; -$lang->execution->linkStory = 'Storys verküpfen'; -$lang->execution->createTask = 'Aufgaben erstellen'; -$lang->execution->goback = "Zurückkehren"; -$lang->execution->noweekend = 'Ohne Wochenende'; -$lang->execution->withweekend = 'Mit Wochenende'; -$lang->execution->interval = 'Intervale '; -$lang->execution->fixFirstWithLeft = 'Modify the left'; +$lang->execution->notAllowedUnlinkStory = "This {$lang->SRCommon} is linked to the {$lang->executionCommon} of the project. Remove it from the {$lang->executionCommon}, then try again."; +$lang->execution->notAllowRemoveProducts = "The story of this product is linked with the {$lang->executionCommon}. Unlink it before doing any action."; +$lang->execution->errorNoLinkedProducts = "Kein verknüpftes {$lang->productCommon} in {$lang->executionCommon} gefunden. Sie werden auf die {$lang->productCommon} Seite geleitet."; +$lang->execution->errorSameProducts = "{$lang->executionCommon} Kann nicht mit mehreren identischen {$lang->productCommon} verknüpft werden"; +$lang->execution->errorBegin = "The start time of {$lang->executionCommon} cannot be less than the start time of the project %s."; +$lang->execution->errorEnd = "The end time of {$lang->executionCommon} cannot be greater than the end time %s of the project."; +$lang->execution->accessDenied = "Zugriff zu {$lang->executionCommon} verweigert!"; +$lang->execution->tips = 'Hinweis'; +$lang->execution->afterInfo = "{$lang->executionCommon} wurde erstellt. Als nächstes können Sie "; +$lang->execution->setTeam = 'Team setzen'; +$lang->execution->linkStory = 'Storys verküpfen'; +$lang->execution->createTask = 'Aufgaben erstellen'; +$lang->execution->goback = "Zurückkehren"; +$lang->execution->noweekend = 'Ohne Wochenende'; +$lang->execution->withweekend = 'Mit Wochenende'; +$lang->execution->interval = 'Intervale '; +$lang->execution->fixFirstWithLeft = 'Modify the left'; $lang->execution->unfinishedExecution = "This {$lang->executionCommon} has "; -$lang->execution->unfinishedTask = "[%s] unfinished tasks. "; -$lang->execution->unresolvedBug = "[%s] unresolved bugs. "; -$lang->execution->projectNotEmpty = 'Project cannot be empty.'; +$lang->execution->unfinishedTask = "[%s] unfinished tasks. "; +$lang->execution->unresolvedBug = "[%s] unresolved bugs. "; +$lang->execution->projectNotEmpty = 'Project cannot be empty.'; /* 统计。*/ $lang->execution->charts = new stdclass(); diff --git a/module/execution/lang/en.php b/module/execution/lang/en.php index 7acd62ac00..916ae5454e 100644 --- a/module/execution/lang/en.php +++ b/module/execution/lang/en.php @@ -10,7 +10,7 @@ * @link http://www.zentao.net */ /* Fields. */ -$lang->execution->allExecutions = 'All ' . $lang->executionCommon . 's'; +$lang->execution->allExecutions = 'All ' . $lang->execution->common . 's'; $lang->execution->allExecutionAB = 'Execution List'; $lang->execution->id = $lang->executionCommon . ' ID'; $lang->execution->type = $lang->executionCommon . 'Type'; @@ -102,6 +102,12 @@ $lang->execution->noTeam = 'No team members at the moment'; $lang->execution->or = ' or '; $lang->execution->selectProject = 'Please select project'; +/* Fields of zt_team. */ +$lang->execution->root = 'Root'; +$lang->execution->estimate = 'estimate'; +$lang->execution->consumed = 'consumed'; +$lang->execution->left = 'Left'; + if($this->config->systemMode == 'new') $lang->execution->copyTeamTip = "select Project/{$lang->execution->common} to copy its members"; if($this->config->systemMode == 'classic') $lang->execution->copyTeamTip = "select Project/{$lang->executionCommon} to copy its members"; @@ -313,32 +319,32 @@ if($config->systemMode == 'classic') $lang->execution->copyTeamTitle = "Choose a if($config->systemMode == 'new') $lang->execution->copyTeamTitle = "Choose a {$lang->project->common} or {$lang->execution->common} Team to copy."; /* Interactive prompts. */ -$lang->execution->confirmDelete = "Do you want to delete the {$lang->executionCommon}[%s]?"; -$lang->execution->confirmUnlinkMember = "Do you want to unlink this User from {$lang->executionCommon}?"; -$lang->execution->confirmUnlinkStory = "Do you want to unlink this Story from {$lang->executionCommon}?"; -$lang->execution->confirmSyncStories = "After modifying the project, synchronize the execution related {$lang->SRCommon} to the new project?"; +$lang->execution->confirmDelete = "Do you want to delete the {$lang->executionCommon}[%s]?"; +$lang->execution->confirmUnlinkMember = "Do you want to unlink this User from {$lang->executionCommon}?"; +$lang->execution->confirmUnlinkStory = "After {$lang->SRCommon} is removed, cased linked to {$lang->SRCommon} will be reomoved and tasks linked to {$lang->SRCommon} will be cancelled. Do you want to continue?"; +$lang->execution->confirmSyncStories = "After modifying the project, synchronize the execution related {$lang->SRCommon} to the new project?"; $lang->execution->confirmUnlinkExecutionStory = "Do you want to unlink this Story from the execution?"; -$lang->execution->notAllowedUnlinkStory = "This {$lang->SRCommon} is linked to the {$lang->executionCommon} of the execution. Remove it from the {$lang->executionCommon}, then try again."; -$lang->execution->notAllowRemoveProducts = "The story of this product is linked with the {$lang->executionCommon}. Unlink it before doing any action."; -$lang->execution->errorNoLinkedProducts = "No {$lang->productCommon} is linked to {$lang->executionCommon}. You will be directed to {$lang->productCommon} page to link one."; -$lang->execution->errorSameProducts = "{$lang->executionCommon} cannot be linked to the same {$lang->productCommon} twice."; -$lang->execution->errorBegin = "The start time of {$lang->executionCommon} cannot be less than the start time of the project %s."; -$lang->execution->errorEnd = "The end time of {$lang->executionCommon} cannot be greater than the end time %s of the project."; -$lang->execution->accessDenied = "Your access to {$lang->executionCommon} is denied!"; -$lang->execution->tips = 'Note'; -$lang->execution->afterInfo = "{$lang->executionCommon} is created. Next you can "; -$lang->execution->setTeam = 'Set Team'; -$lang->execution->linkStory = 'Link Story'; -$lang->execution->createTask = 'Create Task'; -$lang->execution->goback = "Go Back"; -$lang->execution->noweekend = 'Exclude Weekend'; -$lang->execution->withweekend = 'Include Weekend'; -$lang->execution->interval = 'Intervals '; -$lang->execution->fixFirstWithLeft = 'Update hours left too'; +$lang->execution->notAllowedUnlinkStory = "This {$lang->SRCommon} is linked to the {$lang->executionCommon} of the execution. Remove it from the {$lang->executionCommon}, then try again."; +$lang->execution->notAllowRemoveProducts = "The story of this product is linked with the {$lang->executionCommon}. Unlink it before doing any action."; +$lang->execution->errorNoLinkedProducts = "No {$lang->productCommon} is linked to {$lang->executionCommon}. You will be directed to {$lang->productCommon} page to link one."; +$lang->execution->errorSameProducts = "{$lang->executionCommon} cannot be linked to the same {$lang->productCommon} twice."; +$lang->execution->errorBegin = "The start time of {$lang->executionCommon} cannot be less than the start time of the project %s."; +$lang->execution->errorEnd = "The end time of {$lang->executionCommon} cannot be greater than the end time %s of the project."; +$lang->execution->accessDenied = "Your access to {$lang->executionCommon} is denied!"; +$lang->execution->tips = 'Note'; +$lang->execution->afterInfo = "{$lang->executionCommon} is created. Next you can "; +$lang->execution->setTeam = 'Set Team'; +$lang->execution->linkStory = 'Link Story'; +$lang->execution->createTask = 'Create Task'; +$lang->execution->goback = "Go Back"; +$lang->execution->noweekend = 'Exclude Weekend'; +$lang->execution->withweekend = 'Include Weekend'; +$lang->execution->interval = 'Intervals '; +$lang->execution->fixFirstWithLeft = 'Update hours left too'; $lang->execution->unfinishedExecution = "This {$lang->executionCommon} has "; -$lang->execution->unfinishedTask = "[%s] unfinished tasks. "; -$lang->execution->unresolvedBug = "[%s] unresolved bugs. "; -$lang->execution->projectNotEmpty = 'Project cannot be empty.'; +$lang->execution->unfinishedTask = "[%s] unfinished tasks. "; +$lang->execution->unresolvedBug = "[%s] unresolved bugs. "; +$lang->execution->projectNotEmpty = 'Project cannot be empty.'; /* Statistics. */ $lang->execution->charts = new stdclass(); diff --git a/module/execution/lang/fr.php b/module/execution/lang/fr.php index be3dc9e67d..bb698b546b 100644 --- a/module/execution/lang/fr.php +++ b/module/execution/lang/fr.php @@ -10,7 +10,7 @@ * @link https://www.zentao.pm */ /* Fields. */ -$lang->execution->allExecutions = 'Tous les ' . $lang->executionCommon . 's'; +$lang->execution->allExecutions = 'Tous les ' . $lang->execution->common . 's'; $lang->execution->allExecutionAB = 'Execution List'; $lang->execution->id = $lang->executionCommon . ' ID'; $lang->execution->type = $lang->executionCommon . 'Type'; @@ -311,31 +311,31 @@ $lang->execution->linkPRJStoryTip = "(Link {$lang->SRCommon} comes from {$la $lang->execution->linkAllStoryTip = "({$lang->SRCommon} has never been linked under the project, and can be directly linked with {$lang->SRCommon} of the product linked with the sprint/stage)"; /* 交互提示。*/ -$lang->execution->confirmDelete = "Voulez-vous réellement supprimer le {$lang->executionCommon}[%s] ?"; -$lang->execution->confirmUnlinkMember = "Voulez-vous retirer cet utilisateur du {$lang->executionCommon} ?"; -$lang->execution->confirmUnlinkStory = "Voulez-vous retirer cette Story du {$lang->executionCommon} ?"; +$lang->execution->confirmDelete = "Voulez-vous réellement supprimer le {$lang->executionCommon}[%s] ?"; +$lang->execution->confirmUnlinkMember = "Voulez-vous retirer cet utilisateur du {$lang->executionCommon} ?"; +$lang->execution->confirmUnlinkStory = "After {$lang->SRCommon} is removed, cased linked to {$lang->SRCommon} will be reomoved and tasks linked to {$lang->SRCommon} will be cancelled. Do you want to continue?"; $lang->execution->confirmUnlinkExecutionStory = "Do you want to unlink this Story from the project?"; -$lang->execution->notAllowedUnlinkStory = "This {$lang->SRCommon} is linked to the {$lang->executionCommon} of the project. Remove it from the {$lang->executionCommon}, then try again."; -$lang->execution->notAllowRemoveProducts = "The story of this product is linked with the {$lang->executionCommon}. Unlink it before doing any action."; -$lang->execution->errorNoLinkedProducts = "Aucun {$lang->productCommon} n'est associé à ce {$lang->executionCommon}. Vous allez être redirigé vers la page {$lang->productCommon} pour en associer un."; -$lang->execution->errorSameProducts = "Ce {$lang->executionCommon} ne peut pas être associé deux fois au même {$lang->productCommon}. Imaginez un peu les résultats !"; -$lang->execution->errorBegin = "The start time of {$lang->executionCommon} cannot be less than the start time of the project %s."; -$lang->execution->errorEnd = "The end time of {$lang->executionCommon} cannot be greater than the end time %s of the project."; -$lang->execution->accessDenied = "Votre accès au {$lang->executionCommon} est refusé ! Désolé."; -$lang->execution->tips = 'Note'; -$lang->execution->afterInfo = "Le {$lang->executionCommon} a été créé avec succès ! Ensuite vous pouvez "; -$lang->execution->setTeam = "Composer l'Equipe"; -$lang->execution->linkStory = 'Associer Story'; -$lang->execution->createTask = 'Créer des Tâches'; -$lang->execution->goback = "Revenir en arrière"; -$lang->execution->noweekend = 'Exclure les Weekends'; -$lang->execution->withweekend = 'Inclure les Weekends'; -$lang->execution->interval = 'Intervalles'; -$lang->execution->fixFirstWithLeft = 'Mettre à jour les heures également'; +$lang->execution->notAllowedUnlinkStory = "This {$lang->SRCommon} is linked to the {$lang->executionCommon} of the project. Remove it from the {$lang->executionCommon}, then try again."; +$lang->execution->notAllowRemoveProducts = "The story of this product is linked with the {$lang->executionCommon}. Unlink it before doing any action."; +$lang->execution->errorNoLinkedProducts = "Aucun {$lang->productCommon} n'est associé à ce {$lang->executionCommon}. Vous allez être redirigé vers la page {$lang->productCommon} pour en associer un."; +$lang->execution->errorSameProducts = "Ce {$lang->executionCommon} ne peut pas être associé deux fois au même {$lang->productCommon}. Imaginez un peu les résultats !"; +$lang->execution->errorBegin = "The start time of {$lang->executionCommon} cannot be less than the start time of the project %s."; +$lang->execution->errorEnd = "The end time of {$lang->executionCommon} cannot be greater than the end time %s of the project."; +$lang->execution->accessDenied = "Votre accès au {$lang->executionCommon} est refusé ! Désolé."; +$lang->execution->tips = 'Note'; +$lang->execution->afterInfo = "Le {$lang->executionCommon} a été créé avec succès ! Ensuite vous pouvez "; +$lang->execution->setTeam = "Composer l'Equipe"; +$lang->execution->linkStory = 'Associer Story'; +$lang->execution->createTask = 'Créer des Tâches'; +$lang->execution->goback = "Revenir en arrière"; +$lang->execution->noweekend = 'Exclure les Weekends'; +$lang->execution->withweekend = 'Inclure les Weekends'; +$lang->execution->interval = 'Intervalles'; +$lang->execution->fixFirstWithLeft = 'Mettre à jour les heures également'; $lang->execution->unfinishedExecution = "This {$lang->executionCommon} has "; -$lang->execution->unfinishedTask = "[%s] unfinished tasks. "; -$lang->execution->unresolvedBug = "[%s] unresolved bugs. "; -$lang->execution->projectNotEmpty = 'Project cannot be empty.'; +$lang->execution->unfinishedTask = "[%s] unfinished tasks. "; +$lang->execution->unresolvedBug = "[%s] unresolved bugs. "; +$lang->execution->projectNotEmpty = 'Project cannot be empty.'; /* 统计。*/ $lang->execution->charts = new stdclass(); diff --git a/module/execution/lang/vi.php b/module/execution/lang/vi.php index 4ef7a224d4..c6bfcd7051 100644 --- a/module/execution/lang/vi.php +++ b/module/execution/lang/vi.php @@ -10,7 +10,7 @@ * @link http://www.zentao.net */ /* Fields. */ -$lang->execution->allExecutions = 'Tất cả ' . $lang->executionCommon; +$lang->execution->allExecutions = 'Tất cả ' . $lang->execution->common; $lang->execution->allExecutionAB = 'Execution List'; $lang->execution->id = 'ID '.$lang->executionCommon; $lang->execution->type = 'Loại'; @@ -312,31 +312,31 @@ $lang->execution->linkPRJStoryTip = "(Link {$lang->SRCommon} comes from {$la $lang->execution->linkAllStoryTip = "({$lang->SRCommon} has never been linked under the project, and can be directly linked with {$lang->SRCommon} of the product linked with the sprint/stage)"; /* Interactive prompts. */ -$lang->execution->confirmDelete = "Bạn có muốn xóa {$lang->executionCommon}[%s] này?"; -$lang->execution->confirmUnlinkMember = "Bạn có muốn hủy liên kết người dùng này từ {$lang->executionCommon}?"; -$lang->execution->confirmUnlinkStory = "Bạn có muốn hủy liên kết câu chuyện này từ {$lang->executionCommon}?"; +$lang->execution->confirmDelete = "Bạn có muốn xóa {$lang->executionCommon}[%s] này?"; +$lang->execution->confirmUnlinkMember = "Bạn có muốn hủy liên kết người dùng này từ {$lang->executionCommon}?"; +$lang->execution->confirmUnlinkStory = "After {$lang->SRCommon} is removed, cased linked to {$lang->SRCommon} will be reomoved and tasks linked to {$lang->SRCommon} will be cancelled. Do you want to continue?;" $lang->execution->confirmUnlinkExecutionStory = "Do you want to unlink this Story from the project?"; -$lang->execution->notAllowedUnlinkStory = "This {$lang->SRCommon} is linked to the {$lang->executionCommon} of the project. Remove it from the {$lang->executionCommon}, then try again."; -$lang->execution->notAllowRemoveProducts = "The story of this product is linked with the {$lang->executionCommon}. Unlink it before doing any action."; -$lang->execution->errorNoLinkedProducts = "Không có {$lang->productCommon} liên kết tới {$lang->executionCommon}. Bạn sẽ được chuyển tới trang {$lang->productCommon} để liên kết."; -$lang->execution->errorSameProducts = "{$lang->executionCommon} không thể liên kết tới {$lang->productCommon} giống nhau 2 lần."; -$lang->execution->errorBegin = "The start time of {$lang->executionCommon} cannot be less than the start time of the project %s."; -$lang->execution->errorEnd = "The end time of {$lang->executionCommon} cannot be greater than the end time %s of the project."; -$lang->execution->accessDenied = "Truy cập của bạn tới {$lang->executionCommon} bị từ chối!"; -$lang->execution->tips = 'Ghi chú'; -$lang->execution->afterInfo = "{$lang->executionCommon} được tạo. Tiếp theo bạn có thể "; -$lang->execution->setTeam = 'Thiết lập đội nhóm'; -$lang->execution->linkStory = 'Liên kết câu chuyện'; -$lang->execution->createTask = 'Tạo nhiệm vụ'; -$lang->execution->goback = "Trở lại"; -$lang->execution->noweekend = 'Không gồm cuối tuần'; -$lang->execution->withweekend = 'Bao gồm cuối tuần'; -$lang->execution->interval = 'Intervals '; -$lang->execution->fixFirstWithLeft = 'Cập nhật cả giờ còn lại'; +$lang->execution->notAllowedUnlinkStory = "This {$lang->SRCommon} is linked to the {$lang->executionCommon} of the project. Remove it from the {$lang->executionCommon}, then try again."; +$lang->execution->notAllowRemoveProducts = "The story of this product is linked with the {$lang->executionCommon}. Unlink it before doing any action."; +$lang->execution->errorNoLinkedProducts = "Không có {$lang->productCommon} liên kết tới {$lang->executionCommon}. Bạn sẽ được chuyển tới trang {$lang->productCommon} để liên kết."; +$lang->execution->errorSameProducts = "{$lang->executionCommon} không thể liên kết tới {$lang->productCommon} giống nhau 2 lần."; +$lang->execution->errorBegin = "The start time of {$lang->executionCommon} cannot be less than the start time of the project %s."; +$lang->execution->errorEnd = "The end time of {$lang->executionCommon} cannot be greater than the end time %s of the project."; +$lang->execution->accessDenied = "Truy cập của bạn tới {$lang->executionCommon} bị từ chối!"; +$lang->execution->tips = 'Ghi chú'; +$lang->execution->afterInfo = "{$lang->executionCommon} được tạo. Tiếp theo bạn có thể "; +$lang->execution->setTeam = 'Thiết lập đội nhóm'; +$lang->execution->linkStory = 'Liên kết câu chuyện'; +$lang->execution->createTask = 'Tạo nhiệm vụ'; +$lang->execution->goback = "Trở lại"; +$lang->execution->noweekend = 'Không gồm cuối tuần'; +$lang->execution->withweekend = 'Bao gồm cuối tuần'; +$lang->execution->interval = 'Intervals '; +$lang->execution->fixFirstWithLeft = 'Cập nhật cả giờ còn lại'; $lang->execution->unfinishedExecution = "This {$lang->executionCommon} has "; -$lang->execution->unfinishedTask = "[%s] unfinished tasks. "; -$lang->execution->unresolvedBug = "[%s] unresolved bugs. "; -$lang->execution->projectNotEmpty = 'Project cannot be empty.'; +$lang->execution->unfinishedTask = "[%s] unfinished tasks. "; +$lang->execution->unresolvedBug = "[%s] unresolved bugs. "; +$lang->execution->projectNotEmpty = 'Project cannot be empty.'; /* Statistics. */ $lang->execution->charts = new stdclass(); diff --git a/module/execution/lang/zh-cn.php b/module/execution/lang/zh-cn.php index 5e49aaf0bd..ce76413e38 100644 --- a/module/execution/lang/zh-cn.php +++ b/module/execution/lang/zh-cn.php @@ -10,7 +10,7 @@ * @link http://www.zentao.net */ /* 字段列表。*/ -$lang->execution->allExecutions = '所有' . $lang->executionCommon; +$lang->execution->allExecutions = '所有' . $lang->execution->common; $lang->execution->allExecutionAB = "{$lang->execution->common}列表"; $lang->execution->id = $lang->executionCommon . '编号'; $lang->execution->type = $lang->executionCommon . '类型'; @@ -102,6 +102,12 @@ $lang->execution->noTeam = '暂时没有团队成员'; $lang->execution->or = '或'; $lang->execution->selectProject = '请选择项目'; +/* Fields of zt_team. */ +$lang->execution->root = '源ID'; +$lang->execution->estimate = '预计'; +$lang->execution->consumed = '消耗'; +$lang->execution->left = '剩余'; + if($this->config->systemMode == 'new') $lang->execution->copyTeamTip = "可以选择复制项目或{$lang->execution->common}团队的成员"; if($this->config->systemMode == 'classic') $lang->execution->copyTeamTip = "可以选择复制{$lang->executionCommon}团队的成员"; @@ -313,32 +319,32 @@ if($config->systemMode == 'classic') $lang->execution->copyTeamTitle = "选择 if($config->systemMode == 'new') $lang->execution->copyTeamTitle = "选择一个{$lang->project->common}或{$lang->execution->common}团队来复制"; /* 交互提示。*/ -$lang->execution->confirmDelete = "您确定删除{$lang->executionCommon}[%s]吗?"; -$lang->execution->confirmUnlinkMember = "您确定从该{$lang->executionCommon}中移除该用户吗?"; -$lang->execution->confirmUnlinkStory = "您确定从该{$lang->executionCommon}中移除该{$lang->SRCommon}吗?"; -$lang->execution->confirmSyncStories = "修改所属项目后,执行关联的{$lang->SRCommon}是否同步到新项目中?"; +$lang->execution->confirmDelete = "您确定删除{$lang->executionCommon}[%s]吗?"; +$lang->execution->confirmUnlinkMember = "您确定从该{$lang->executionCommon}中移除该用户吗?"; +$lang->execution->confirmUnlinkStory = "移除该{$lang->SRCommon}后,该{$lang->SRCommon}关联的用例将被移除,该{$lang->SRCommon}关联的任务将被取消,请确认。"; +$lang->execution->confirmSyncStories = "修改所属项目后,执行关联的{$lang->SRCommon}是否同步到新项目中?"; $lang->execution->confirmUnlinkExecutionStory = "您确定从该项目中移除该{$lang->SRCommon}吗?"; -$lang->execution->notAllowedUnlinkStory = "该{$lang->SRCommon}已经与项目下{$lang->executionCommon}相关联,请从{$lang->executionCommon}中移除后再操作。"; -$lang->execution->notAllowRemoveProducts = "该{$lang->productCommon}中的{$lang->SRCommon}已与该{$lang->executionCommon}进行了关联,请取消关联后再操作。"; -$lang->execution->errorNoLinkedProducts = "该{$lang->executionCommon}没有关联的{$lang->productCommon},系统将转到{$lang->productCommon}关联页面"; -$lang->execution->errorSameProducts = "{$lang->executionCommon}不能关联多个相同的{$lang->productCommon}。"; -$lang->execution->errorBegin = "{$lang->executionCommon}的开始时间不能小于所属项目的开始时间%s。"; -$lang->execution->errorEnd = "{$lang->executionCommon}的截止时间不能大于所属项目的结束时间%s。"; -$lang->execution->accessDenied = "您无权访问该{$lang->executionCommon}!"; -$lang->execution->tips = '提示'; -$lang->execution->afterInfo = "{$lang->executionCommon}添加成功,您现在可以进行以下操作:"; -$lang->execution->setTeam = '设置团队'; -$lang->execution->linkStory = "关联{$lang->SRCommon}"; -$lang->execution->createTask = '创建任务'; -$lang->execution->goback = "返回任务列表"; -$lang->execution->noweekend = '去除周末'; -$lang->execution->withweekend = '显示周末'; -$lang->execution->interval = '间隔'; -$lang->execution->fixFirstWithLeft = '修改剩余工时'; +$lang->execution->notAllowedUnlinkStory = "该{$lang->SRCommon}已经与项目下{$lang->executionCommon}相关联,请从{$lang->executionCommon}中移除后再操作。"; +$lang->execution->notAllowRemoveProducts = "该{$lang->productCommon}中的{$lang->SRCommon}已与该{$lang->executionCommon}进行了关联,请取消关联后再操作。"; +$lang->execution->errorNoLinkedProducts = "该{$lang->executionCommon}没有关联的{$lang->productCommon},系统将转到{$lang->productCommon}关联页面"; +$lang->execution->errorSameProducts = "{$lang->executionCommon}不能关联多个相同的{$lang->productCommon}。"; +$lang->execution->errorBegin = "{$lang->executionCommon}的开始时间不能小于所属项目的开始时间%s。"; +$lang->execution->errorEnd = "{$lang->executionCommon}的截止时间不能大于所属项目的结束时间%s。"; +$lang->execution->accessDenied = "您无权访问该{$lang->executionCommon}!"; +$lang->execution->tips = '提示'; +$lang->execution->afterInfo = "{$lang->executionCommon}添加成功,您现在可以进行以下操作:"; +$lang->execution->setTeam = '设置团队'; +$lang->execution->linkStory = "关联{$lang->SRCommon}"; +$lang->execution->createTask = '创建任务'; +$lang->execution->goback = "返回任务列表"; +$lang->execution->noweekend = '去除周末'; +$lang->execution->withweekend = '显示周末'; +$lang->execution->interval = '间隔'; +$lang->execution->fixFirstWithLeft = '修改剩余工时'; $lang->execution->unfinishedExecution = "该{$lang->executionCommon}下还有"; -$lang->execution->unfinishedTask = "[%s]个未完成的任务,"; -$lang->execution->unresolvedBug = "[%s]个未解决的bug,"; -$lang->execution->projectNotEmpty = '所属项目不能为空。'; +$lang->execution->unfinishedTask = "[%s]个未完成的任务,"; +$lang->execution->unresolvedBug = "[%s]个未解决的bug,"; +$lang->execution->projectNotEmpty = '所属项目不能为空。'; /* 统计。*/ $lang->execution->charts = new stdclass(); diff --git a/module/execution/lang/zh-tw.php b/module/execution/lang/zh-tw.php index b64c11ff8d..3ceb41611b 100644 --- a/module/execution/lang/zh-tw.php +++ b/module/execution/lang/zh-tw.php @@ -102,6 +102,12 @@ $lang->execution->noTeam = '暫時沒有團隊成員'; $lang->execution->or = '或'; $lang->execution->selectProject = '請選擇項目'; +/* Fields of zt_team. */ +$lang->execution->root = '源ID'; +$lang->execution->estimate = '預計'; +$lang->execution->consumed = '消耗'; +$lang->execution->left = '剩餘'; + if($this->config->systemMode == 'new') $lang->execution->copyTeamTip = "可以選擇複製項目或{$lang->execution->common}團隊的成員"; if($this->config->systemMode == 'classic') $lang->execution->copyTeamTip = "可以選擇複製{$lang->executionCommon}團隊的成員"; @@ -313,32 +319,32 @@ if($config->systemMode == 'classic') $lang->execution->copyTeamTitle = "選擇 if($config->systemMode == 'new') $lang->execution->copyTeamTitle = "選擇一個{$lang->project->common}或{$lang->execution->common}團隊來複制"; /* 交互提示。*/ -$lang->execution->confirmDelete = "您確定刪除{$lang->executionCommon}[%s]嗎?"; -$lang->execution->confirmUnlinkMember = "您確定從該{$lang->executionCommon}中移除該用戶嗎?"; -$lang->execution->confirmUnlinkStory = "您確定從該{$lang->executionCommon}中移除該{$lang->SRCommon}嗎?"; -$lang->execution->confirmSyncStories = "修改所屬項目後,執行關聯的{$lang->SRCommon}是否同步到新項目中?"; +$lang->execution->confirmDelete = "您確定刪除{$lang->executionCommon}[%s]嗎?"; +$lang->execution->confirmUnlinkMember = "您確定從該{$lang->executionCommon}中移除該用戶嗎?"; +$lang->execution->confirmUnlinkStory = "移除該{$lang->SRCommon}後,該{$lang->SRCommon}關聯的用例將被移除,該{$lang->SRCommon}關聯的任務將被取消,請確認。"; +$lang->execution->confirmSyncStories = "修改所屬項目後,執行關聯的{$lang->SRCommon}是否同步到新項目中?"; $lang->execution->confirmUnlinkExecutionStory = "您確定從該項目中移除該{$lang->SRCommon}嗎?"; -$lang->execution->notAllowedUnlinkStory = "該{$lang->SRCommon}已經與項目下{$lang->executionCommon}相關聯,請從{$lang->executionCommon}中移除後再操作。"; -$lang->execution->notAllowRemoveProducts = "該{$lang->productCommon}中的{$lang->SRCommon}已與該{$lang->executionCommon}進行了關聯,請取消關聯後再操作。"; -$lang->execution->errorNoLinkedProducts = "該{$lang->executionCommon}沒有關聯的{$lang->productCommon},系統將轉到{$lang->productCommon}關聯頁面"; -$lang->execution->errorSameProducts = "{$lang->executionCommon}不能關聯多個相同的{$lang->productCommon}。"; -$lang->execution->errorBegin = "{$lang->executionCommon}的開始時間不能小於所屬項目的開始時間%s。"; -$lang->execution->errorEnd = "{$lang->executionCommon}的截止時間不能大於所屬項目的結束時間%s。"; -$lang->execution->accessDenied = "您無權訪問該{$lang->executionCommon}!"; -$lang->execution->tips = '提示'; -$lang->execution->afterInfo = "{$lang->executionCommon}添加成功,您現在可以進行以下操作:"; -$lang->execution->setTeam = '設置團隊'; -$lang->execution->linkStory = "關聯{$lang->SRCommon}"; -$lang->execution->createTask = '創建任務'; -$lang->execution->goback = "返回任務列表"; -$lang->execution->noweekend = '去除周末'; -$lang->execution->withweekend = '顯示周末'; -$lang->execution->interval = '間隔'; -$lang->execution->fixFirstWithLeft = '修改剩餘工時'; +$lang->execution->notAllowedUnlinkStory = "該{$lang->SRCommon}已經與項目下{$lang->executionCommon}相關聯,請從{$lang->executionCommon}中移除後再操作。"; +$lang->execution->notAllowRemoveProducts = "該{$lang->productCommon}中的{$lang->SRCommon}已與該{$lang->executionCommon}進行了關聯,請取消關聯後再操作。"; +$lang->execution->errorNoLinkedProducts = "該{$lang->executionCommon}沒有關聯的{$lang->productCommon},系統將轉到{$lang->productCommon}關聯頁面"; +$lang->execution->errorSameProducts = "{$lang->executionCommon}不能關聯多個相同的{$lang->productCommon}。"; +$lang->execution->errorBegin = "{$lang->executionCommon}的開始時間不能小於所屬項目的開始時間%s。"; +$lang->execution->errorEnd = "{$lang->executionCommon}的截止時間不能大於所屬項目的結束時間%s。"; +$lang->execution->accessDenied = "您無權訪問該{$lang->executionCommon}!"; +$lang->execution->tips = '提示'; +$lang->execution->afterInfo = "{$lang->executionCommon}添加成功,您現在可以進行以下操作:"; +$lang->execution->setTeam = '設置團隊'; +$lang->execution->linkStory = "關聯{$lang->SRCommon}"; +$lang->execution->createTask = '創建任務'; +$lang->execution->goback = "返回任務列表"; +$lang->execution->noweekend = '去除周末'; +$lang->execution->withweekend = '顯示周末'; +$lang->execution->interval = '間隔'; +$lang->execution->fixFirstWithLeft = '修改剩餘工時'; $lang->execution->unfinishedExecution = "該{$lang->executionCommon}下還有"; -$lang->execution->unfinishedTask = "[%s]個未完成的任務,"; -$lang->execution->unresolvedBug = "[%s]個未解決的bug,"; -$lang->execution->projectNotEmpty = '所屬項目不能為空。'; +$lang->execution->unfinishedTask = "[%s]個未完成的任務,"; +$lang->execution->unresolvedBug = "[%s]個未解決的bug,"; +$lang->execution->projectNotEmpty = '所屬項目不能為空。'; /* 統計。*/ $lang->execution->charts = new stdclass(); diff --git a/module/execution/model.php b/module/execution/model.php index b9108f8aa1..a1ebf3927e 100644 --- a/module/execution/model.php +++ b/module/execution/model.php @@ -49,7 +49,7 @@ class executionModel extends model $loginLink = $this->config->requestType == 'GET' ? "?{$this->config->moduleVar}=user&{$this->config->methodVar}=login" : "user{$this->config->requestFix}login"; if(strpos($this->server->http_referer, $loginLink) !== false) die(js::locate(helper::createLink('execution', 'index'))); - die(js::locate('back')); + die(js::locate(helper::createLink('execution', 'all'))); } /** @@ -239,24 +239,24 @@ class executionModel extends model /* When the cookie and session do not exist, get it from the database. */ if(empty($executionID) and isset($this->config->execution->lastExecution) and isset($executions[$this->config->execution->lastExecution])) { - $this->session->set('execution', $this->config->execution->lastExecution); + $this->session->set('execution', $this->config->execution->lastExecution, $this->app->tab); $this->setProjectSession($this->session->execution); return $this->session->execution; } - if($executionID > 0) $this->session->set('execution', (int)$executionID, $this->app->tab); if($executionID == 0 and $this->cookie->lastExecution) { /* Execution link is execution-task. */ $executionID = (int)$this->cookie->lastExecution; $executionID = in_array($executionID, array_keys($executions)) ? $executionID : key($executions); - $this->session->set('execution', $executionID); } - if($executionID == 0 and $this->session->execution == '') $this->session->set('execution', key($executions)); - if(!isset($executions[$this->session->execution])) + if($executionID == 0 and $this->session->execution == '') $executionID = key($executions); + $this->session->set('execution', (int)$executionID, $this->app->tab); + + if(!isset($executions[$executionID])) { - $this->session->set('execution', key($executions)); - if($executionID && strpos(",{$this->app->user->view->sprints},", ",{$this->session->execution},") === false) $this->accessDenied(); + $this->session->set('execution', key($executions), $this->app->tab); + if($executionID && strpos(",{$this->app->user->view->sprints},", ",{$executionID},") === false) $this->accessDenied(); } $this->setProjectSession($this->session->execution); @@ -273,7 +273,7 @@ class executionModel extends model public function setProjectSession($executionID) { $execution = $this->getByID($executionID); - if(!empty($execution)) $this->session->set('project', $execution->project); + if(!empty($execution)) $this->session->set('project', $execution->project, $this->app->tab); } /** @@ -986,7 +986,7 @@ class executionModel extends model * * @param int $projectID * @param string $type all|sprint|stage|kanban - * @param string $mode all|noclosed or empty + * @param string $mode all|noclosed|stagefilter or empty * @access public * @return array */ @@ -1024,6 +1024,7 @@ class executionModel extends model foreach($executions as $execution) { if(strpos($mode, 'noclosed') !== false and ($execution->status == 'done' or $execution->status == 'closed')) continue; + if(strpos($mode, 'stagefilter') !== false and isset($executionModel) and $executionModel == 'waterfall' and in_array($execution->attribute, array('request', 'design', 'review'))) continue; // Some stages of waterfall not need. $pairs[$execution->id] = $execution->name; } @@ -1179,6 +1180,8 @@ class executionModel extends model */ public function getByProject($projectID, $status = 'all', $limit = 0, $pairs = false) { + if(defined('TUTORIAL')) return $this->loadModel('tutorial')->getExecutionPairs(); + $project = $this->loadModel('project')->getByID($projectID); $orderBy = (isset($project->model) and $project->model == 'waterfall') ? 'begin_asc,id_asc' : 'begin_desc,id_desc'; @@ -1233,10 +1236,24 @@ class executionModel extends model $executions = $executionList; } + $projects = array(); + if(empty($projectID)) + { + $projects = $this->dao->select('t1.id,t1.name')->from(TABLE_PROJECT)->alias('t1') + ->leftJoin(TABLE_EXECUTION)->alias('t2')->on('t1.id=t2.project') + ->where('t2.id')->in(array_keys($executions)) + ->fetchPairs('id', 'name'); + } + if($pairs) { $executionPairs = array(); - foreach($executions as $execution) $executionPairs[$execution->id] = $execution->name; + foreach($executions as $execution) + { + $executionPairs[$execution->id] = ''; + if(isset($projects[$execution->project])) $executionPairs[$execution->id] .= $projects[$execution->project] . ' / '; + $executionPairs[$execution->id] .= $execution->name; + } $executions = $executionPairs; } @@ -1416,7 +1433,7 @@ class executionModel extends model /* Get all teams of all executions and group by executions, save it as static. */ $executions = $this->dao->select('root, limited')->from(TABLE_TEAM) - ->where('type')->in('sprint,stage') + ->where('type')->eq('execution') ->andWhere('account')->eq($this->app->user->account) ->andWhere('limited')->eq('yes') ->orderBy('root asc') diff --git a/module/execution/view/create.html.php b/module/execution/view/create.html.php index 54510c4bd4..92b36db039 100644 --- a/module/execution/view/create.html.php +++ b/module/execution/view/create.html.php @@ -176,7 +176,7 @@
- + goback, '', 'class="btn btn-wide"') : html::backButton();?>
diff --git a/module/execution/view/task.html.php b/module/execution/view/task.html.php index b8e969cbf2..6da2ab904f 100644 --- a/module/execution/view/task.html.php +++ b/module/execution/view/task.html.php @@ -149,13 +149,13 @@ body {margin-bottom: 25px;} diff --git a/module/extension/lang/en.php b/module/extension/lang/en.php index dc72128b44..f71276b187 100644 --- a/module/extension/lang/en.php +++ b/module/extension/lang/en.php @@ -10,6 +10,7 @@ * @link http://www.zentao.net */ $lang->extension->common = 'Extension'; +$lang->extension->id = 'ID'; $lang->extension->browse = 'Extensions'; $lang->extension->install = 'Install Extension'; $lang->extension->installAuto = 'Auto Installation'; diff --git a/module/extension/lang/zh-cn.php b/module/extension/lang/zh-cn.php index 164c06497d..483c43346f 100644 --- a/module/extension/lang/zh-cn.php +++ b/module/extension/lang/zh-cn.php @@ -10,6 +10,7 @@ * @link http://www.zentao.net */ $lang->extension->common = '插件管理'; +$lang->extension->id = '编号'; $lang->extension->browse = '浏览插件'; $lang->extension->install = '安装插件'; $lang->extension->installAuto = '自动安装'; diff --git a/module/extension/lang/zh-tw.php b/module/extension/lang/zh-tw.php index 578f2256b8..cd15001edf 100644 --- a/module/extension/lang/zh-tw.php +++ b/module/extension/lang/zh-tw.php @@ -10,6 +10,7 @@ * @link http://www.zentao.net */ $lang->extension->common = '插件管理'; +$lang->extension->id = '編號'; $lang->extension->browse = '瀏覽插件'; $lang->extension->install = '安裝插件'; $lang->extension->installAuto = '自動安裝'; diff --git a/module/file/control.php b/module/file/control.php index ff5e46caa4..ba4318d1d4 100644 --- a/module/file/control.php +++ b/module/file/control.php @@ -114,6 +114,7 @@ class file extends control { if(session_id() != $this->app->sessionID) helper::restartSession($this->app->sessionID); $file = $this->file->getById($fileID); + if(empty($file)) die("{$this->lang->file->fileNotFound}"); /* Judge the mode, down or open. */ $mode = 'down'; @@ -154,7 +155,7 @@ class file extends control } else { - die($this->lang->file->fileNotFound); + die("{$this->lang->file->fileNotFound}"); } } diff --git a/module/file/lang/en.php b/module/file/lang/en.php index 0ad4e896ff..d48da55706 100644 --- a/module/file/lang/en.php +++ b/module/file/lang/en.php @@ -11,6 +11,10 @@ */ $lang->file = new stdclass(); $lang->file->common = 'File'; +$lang->file->id = 'ID'; +$lang->file->objectType = 'Object Type'; +$lang->file->objectID = 'Object ID'; +$lang->file->deleted = 'Deleted'; $lang->file->uploadImages = 'Batch Upload Images'; $lang->file->download = 'Download Files'; $lang->file->uploadDate = 'Uploaded'; diff --git a/module/file/lang/zh-cn.php b/module/file/lang/zh-cn.php index 366b670688..31112ac912 100644 --- a/module/file/lang/zh-cn.php +++ b/module/file/lang/zh-cn.php @@ -11,6 +11,10 @@ */ $lang->file = new stdclass(); $lang->file->common = '附件'; +$lang->file->id = '编号'; +$lang->file->objectType = '对象类型'; +$lang->file->objectID = '对象ID'; +$lang->file->deleted = '已删除'; $lang->file->uploadImages = '多图上传'; $lang->file->download = '下载附件'; $lang->file->uploadDate = '上传时间:'; diff --git a/module/file/lang/zh-tw.php b/module/file/lang/zh-tw.php index 8243981fd1..52768a7be0 100644 --- a/module/file/lang/zh-tw.php +++ b/module/file/lang/zh-tw.php @@ -11,6 +11,10 @@ */ $lang->file = new stdclass(); $lang->file->common = '附件'; +$lang->file->id = '編號'; +$lang->file->objectType = '對象類型'; +$lang->file->objectID = '對象ID'; +$lang->file->deleted = '已刪除'; $lang->file->uploadImages = '多圖上傳'; $lang->file->download = '下載附件'; $lang->file->uploadDate = '上傳時間:'; diff --git a/module/file/view/buildform.html.php b/module/file/view/buildform.html.php index ee0eebfd20..528e27f1c3 100644 --- a/module/file/view/buildform.html.php +++ b/module/file/view/buildform.html.php @@ -4,6 +4,7 @@ .file-input-list .input-group-btn{float:left} config->file->dangers . ',');?> +
@@ -32,11 +33,38 @@
app->getWebRoot() . 'js/zui/imgcutter/min.js');?> app->getWebRoot() . 'js/zui/imgcutter/min.css');?> diff --git a/module/webhook/lang/en.php b/module/webhook/lang/en.php index 4feed17a3b..4f86f4403c 100644 --- a/module/webhook/lang/en.php +++ b/module/webhook/lang/en.php @@ -36,6 +36,11 @@ $lang->webhook->editedDate = 'EditedDate'; $lang->webhook->date = 'Sent'; $lang->webhook->data = 'Data'; $lang->webhook->result = 'Result'; +$lang->webhook->products = $lang->productCommon; +$lang->webhook->executions = $lang->execution->common; +$lang->webhook->actions = 'Log'; +$lang->webhook->editedBy = 'Edited By'; +$lang->webhook->deleted = 'Deleted'; $lang->webhook->typeList[''] = ''; $lang->webhook->typeList['dinggroup'] = 'Dingding Robot'; diff --git a/module/webhook/lang/zh-cn.php b/module/webhook/lang/zh-cn.php index 986e3e66dc..b79ad11ec7 100644 --- a/module/webhook/lang/zh-cn.php +++ b/module/webhook/lang/zh-cn.php @@ -36,6 +36,11 @@ $lang->webhook->editedDate = '编辑时间'; $lang->webhook->date = '发送时间'; $lang->webhook->data = '数据'; $lang->webhook->result = '结果'; +$lang->webhook->products = $lang->productCommon; +$lang->webhook->executions = $lang->execution->common; +$lang->webhook->actions = '系统日志'; +$lang->webhook->editedBy = '由谁编辑'; +$lang->webhook->deleted = '已删除'; $lang->webhook->typeList[''] = ''; $lang->webhook->typeList['dinggroup'] = '钉钉群通知机器人'; diff --git a/module/webhook/lang/zh-tw.php b/module/webhook/lang/zh-tw.php index 739603b945..0bc8745994 100644 --- a/module/webhook/lang/zh-tw.php +++ b/module/webhook/lang/zh-tw.php @@ -36,6 +36,11 @@ $lang->webhook->editedDate = '編輯時間'; $lang->webhook->date = '發送時間'; $lang->webhook->data = '數據'; $lang->webhook->result = '結果'; +$lang->webhook->products = $lang->productCommon; +$lang->webhook->executions = $lang->execution->common; +$lang->webhook->actions = '系統日誌'; +$lang->webhook->editedBy = '由誰編輯'; +$lang->webhook->deleted = '已刪除'; $lang->webhook->typeList[''] = ''; $lang->webhook->typeList['dinggroup'] = '釘釘群通知機器人'; diff --git a/www/js/my.full.js b/www/js/my.full.js index ef085c9a27..a1ba191b7f 100644 --- a/www/js/my.full.js +++ b/www/js/my.full.js @@ -674,7 +674,7 @@ function notifyMessage(data) } else if(Notification.permission != "denied") { - Notification.requestPermission(function(permission) + Notification.requestPermission().then(function(permission) { notify = new Notification("", {body:message, tag:'zentao', data:data}); }); diff --git a/www/js/zui/min.js b/www/js/zui/min.js index ffacb10d26..25de27d5ae 100644 --- a/www/js/zui/min.js +++ b/www/js/zui/min.js @@ -1,7 +1,7 @@ /*! - * ZUI: ZUI for Zentao - v1.9.2 - 2021-09-15 + * ZUI: ZUI for Zentao - v1.9.2 - 2021-09-26 * http://openzui.com - * GitHub: https://github.com/easysoft/zui.git + * GitHub: https://github.com/easysoft/zui.git * Copyright (c) 2021 cnezsoft.com; Licensed MIT */ !function(t,e,i){"use strict";if("undefined"==typeof t)throw new Error("ZUI requires jQuery");t.zui||(t.zui=function(e){t.isPlainObject(e)&&t.extend(t.zui,e)});var n={all:-1,left:0,middle:1,right:2},o=0;t.zui({uuid:function(t){var e=1e5*(Date.now()-1580890015292)+10*Math.floor(1e4*Math.random())+o++%10;return t?e:e.toString(36)},callEvent:function(t,e,n){if("function"==typeof t){n!==i&&(t=t.bind(n));var o=t(e);return e&&(e.result=o),!(o!==i&&!o)}return 1},strCode:function(t){var e=0;if("string"!=typeof t&&(t=String(t)),t&&t.length)for(var i=0;i=e.innerWidth)return 0;if(!t.zui._scrollbarWidth){var i=document.createElement("div");i.className="scrollbar-measure",document.body.appendChild(i),t.zui._scrollbarWidth=i.offsetWidth-i.clientWidth,document.body.removeChild(i)}return t.zui._scrollbarWidth},fixBodyScrollbar:function(){if(t.zui.checkBodyScrollbar()){var e=t("body"),i=parseInt(e.css("padding-right")||0,10);return t.zui._scrollbarWidth&&e.css({paddingRight:i+t.zui._scrollbarWidth,overflowY:"hidden"}),!0}},resetBodyScrollbar:function(){t("body").css({paddingRight:"",overflowY:""})}}),t.fn.callEvent=function(e,n,o){var a=t(this),s=e.indexOf(".zui."),r=s<0?e:e.substring(0,s),l=t.Event(r,n);if(o===i&&s>0&&(o=a.data(e.substring(s+1))),o&&o.options){var h=o.options[r];"function"==typeof h&&(l.result=t.zui.callEvent(h,l,o))}return a.trigger(l),l},t.fn.callComEvent=function(t,e,n){n===i||Array.isArray(n)||(n=[n]);var o,a=this;a.trigger(e,n);var s=t.options[e];return s&&(o=s.apply(t,n)),o}}(jQuery,window,void 0),function(t){"use strict";t.fn.fixOlPd=function(e){return e=e||10,this.each(function(){var i=t(this);i.css("paddingLeft",Math.ceil(Math.log10(i.children().length))*e+10)})},t(function(){t(".ol-pd-fix,.article ol").fixOlPd()})}(jQuery),+function(t){"use strict";var e='[data-dismiss="alert"]',i="zui.alert",n=function(i){t(i).on("click",e,this.close)};n.prototype.close=function(e){function n(){s.trigger("closed."+i).remove()}var o=t(this),a=o.attr("data-target");a||(a=o.attr("href"),a=a&&a.replace(/.*(?=#[^\s]*$)/,""));var s=t(a);e&&e.preventDefault(),s.length||(s=o.hasClass("alert")?o:o.parent()),s.trigger(e=t.Event("close."+i)),e.isDefaultPrevented()||(s.removeClass("in"),t.support.transition&&s.hasClass("fade")?s.one(t.support.transition.end,n).emulateTransitionEnd(150):n())};var o=t.fn.alert;t.fn.alert=function(e){return this.each(function(){var o=t(this),a=o.data(i);a||o.data(i,a=new n(this)),"string"==typeof e&&a[e].call(o)})},t.fn.alert.Constructor=n,t.fn.alert.noConflict=function(){return t.fn.alert=o,this},t(document).on("click."+i+".data-api",e,n.prototype.close)}(window.jQuery),function(t,e){"use strict";var i="zui.pager",n={page:1,recTotal:0,recPerPage:10},o={zh_cn:{pageOfText:"第 {0} 页",prev:"上一页",next:"下一页",first:"第一页",last:"最后一页","goto":"跳转",pageOf:"第 {page} 页",totalPage:"共 {totalPage} 页",totalCount:"共 {recTotal} 项",pageSize:"每页 {recPerPage} 项",itemsRange:"第 {start} ~ {end} 项",pageOfTotal:"第 {page}/{totalPage} 页"},zh_tw:{pageOfText:"第 {0} 頁",prev:"上一頁",next:"下一頁",first:"第一頁",last:"最後一頁","goto":"跳轉",pageOf:"第 {page} 頁",totalPage:"共 {totalPage} 頁",totalCount:"共 {recTotal} 項",pageSize:"每頁 {recPerPage} 項",itemsRange:"第 {start} ~ {end} 項",pageOfTotal:"第 {page}/{totalPage} 頁"},en:{pageOfText:"Page {0}",prev:"Prev",next:"Next",first:"First",last:"Last","goto":"Goto",pageOf:"Page {page}",totalPage:"{totalPage} pages",totalCount:"Total: {recTotal} items",pageSize:"{recPerPage} per page",itemsRange:"From {start} to {end}",pageOfTotal:"Page {page} of {totalPage}"}},a=function(e,n){var s=this;s.name=i,s.$=t(e),n=s.options=t.extend({},a.DEFAULTS,this.$.data(),n),s.langName=n.lang||t.zui.clientLang(),s.lang=t.zui.getLangData(i,s.langName,o),s.state={},s.set(n.page,n.recTotal,n.recPerPage,!0),s.$.on("click",".pager-goto-btn",function(){var e=t(this).closest(".pager-goto"),i=parseInt(e.find(".pager-goto-input").val());NaN!==i&&s.set(i)}).on("click",".pager-item",function(){var e=t(this).data("page");"number"==typeof e&&e>0&&s.set(e)}).on("click",".pager-size-menu [data-size]",function(){var e=t(this).data("size");"number"==typeof e&&e>0&&s.set(-1,-1,e)})};a.prototype.set=function(e,i,o,a){var s=this;"object"==typeof e&&null!==e&&(o=e.recPerPage,i=e.recTotal,e=e.page);var r=s.state;r||(r=t.extend({},n));var l=t.extend({},r);return"number"==typeof o&&o>0&&(r.recPerPage=o),"number"==typeof i&&i>=0&&(r.recTotal=i),"number"==typeof e&&e>=0&&(r.page=e),r.totalPage=r.recTotal&&r.recPerPage?Math.ceil(r.recTotal/r.recPerPage):1,r.page=Math.max(0,Math.min(r.page,r.totalPage)),r.pageRecCount=r.recTotal,r.page&&r.recTotal&&(r.page1&&(r.pageRecCount=r.recTotal-r.recPerPage*(r.page-1))),r.skip=r.page>1?(r.page-1)*r.recPerPage:0,r.start=r.skip+1,r.end=r.skip+r.pageRecCount,r.prev=r.page>1?r.page-1:0,r.next=r.page').attr("href",i?a.createLink(i,a.state):"###").html(n);return o||(s=t("
  • ").append(s).toggleClass("active",i===a.state.page).toggleClass("disabled",!i||i===a.state.page)),s},a.prototype.createNavItems=function(t){var i=this,n=i.$,o=i.state,a=o.totalPage,s=o.page,r=function(t,o){if(t===!1)return void n.append(i.createLinkItem(0,o||i.options.navEllipsisItem));o===e&&(o=t);for(var a=t;a<=o;++a)n.append(i.createLinkItem(a))};t===e&&(t=i.options.maxNavCount||10),r(1),a>1&&(a<=t?r(2,a):sa-t+2?(r(!1),r(a-t+2,a)):(r(!1),r(s-Math.ceil((t-4)/2),s+Math.floor((t-4)/2)),r(!1),r(a)))},a.prototype.createGoto=function(){var e=this,i=this.state,n=t('
    ");return n},a.prototype.createSizeMenu=function(){var e=this,i=this.state,n=t(''),o=e.options.pageSizeOptions;"string"==typeof o&&(o=o.split(","));for(var a=0;a'+s+"
  • ").toggleClass("active",s===i.recPerPage);n.append(r)}return t('
    ').addClass(e.options.menuDirection).append(n)},a.prototype.createElement=function(e,i,n){var o=this,a=o.createLinkItem.bind(o),s=o.lang;switch(e){case"prev":return a(n.prev,s.prev);case"prev_icon":return a(n.prev,'');case"next":return a(n.next,s.next);case"next_icon":return a(n.next,'');case"first":return a(1,s.first);case"first_icon":return a(1,'');case"last":return a(n.totalPage,s.last);case"last_icon":return a(n.totalPage,'');case"space":case"|":return t('
  • ');case"nav":case"pages":return void o.createNavItems();case"total_text":return t(('
    '+s.totalCount+"
    ").format(n));case"page_text":return t(('
    '+s.pageOf+"
    ").format(n));case"total_page_text":return t(('
    '+s.totalPage+"
    ").format(n));case"page_of_total_text":return t(('
    '+s.pageOfTotal+"
    ").format(n));case"page_size_text":return t(('
    '+s.pageSize+"
    ").format(n));case"items_range_text":return t(('
    '+s.itemsRange+"
    ").format(n));case"goto":return o.createGoto();case"size_menu":return o.createSizeMenu();default:return t("
  • ").html(e.format(n))}},a.prototype.createLink=function(i,n){i===e&&(i=this.state.page),n===e&&(n=this.state);var o=this.options.linkCreator;return"string"==typeof o?o.format(t.extend({},n,{page:i})):"function"==typeof o?o(i,n):"#page="+i},a.prototype.render=function(e){var i=this,n=i.state,o=i.options.elementCreator||i.createElement,a=t.isPlainObject(o);e=e||i.elements||i.options.elements,"string"==typeof e&&(e=e.split(",")),i.elements=e,i.$.empty();for(var s=0;s").append(h)),i.$.append(h))}var c=null;return i.$.children("li").each(function(){var e=t(this),i=!!e.children(".pager-item").length;c?c.toggleClass("pager-item-right",!i):i&&e.addClass("pager-item-left"),c=i?e:null}),c&&c.addClass("pager-item-right"),i.$.callComEvent(i,"onRender",[n]),i},a.DEFAULTS=t.extend({elements:["first_icon","prev_icon","pages","next_icon","last_icon","page_of_total_text","items_range_text","total_text"],prevIcon:"icon-double-angle-left",nextIcon:"icon-double-angle-right",firstIcon:"icon-step-backward",lastIcon:"icon-step-forward",navEllipsisItem:'',maxNavCount:10,menuDirection:"dropdown",pageSizeOptions:[10,20,30,50,100]},n),t.fn.pager=function(e){return this.each(function(){var n=t(this),o=n.data(i),s="object"==typeof e&&e;o||n.data(i,o=new a(this,s)),"string"==typeof e&&o[e]()})},a.NAME=i,a.LANG=o,t.fn.pager.Constructor=a,t(function(){t('[data-ride="pager"]').pager()})}(jQuery,void 0),+function(t){"use strict";var e="zui.tab",i=function(e){this.element=t(e)};i.prototype.show=function(){var i=this.element,n=i.closest("ul:not(.dropdown-menu)"),o=i.attr("data-target")||i.attr("data-tab");if(o||(o=i.attr("href"),o=o&&o.replace(/.*(?=#[^\s]*$)/,"")),!i.parent("li").hasClass("active")){var a=n.find(".active:last a")[0],s=t.Event("show."+e,{relatedTarget:a});if(i.trigger(s),!s.isDefaultPrevented()){var r=t(o);this.activate(i.parent("li"),n),this.activate(r,r.parent(),function(){i.trigger({type:"shown."+e,relatedTarget:a})})}}},i.prototype.activate=function(e,i,n){function o(){a.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),e.addClass("active"),s?(e[0].offsetWidth,e.addClass("in")):e.removeClass("fade"),e.parent(".dropdown-menu")&&e.closest("li.dropdown").addClass("active"),n&&n()}var a=i.find("> .active"),s=n&&t.support.transition&&a.hasClass("fade");s?a.one(t.support.transition.end,o).emulateTransitionEnd(150):o(),a.removeClass("in")};var n=t.fn.tab;t.fn.tab=function(n){return this.each(function(){var o=t(this),a=o.data(e);a||o.data(e,a=new i(this)),"string"==typeof n&&a[n]()})},t.fn.tab.Constructor=i,t.fn.tab.noConflict=function(){return t.fn.tab=n,this},t(document).on("click.zui.tab.data-api",'[data-toggle="tab"], [data-tab]',function(e){e.preventDefault(),t(this).tab("show")})}(window.jQuery),+function(t){"use strict";function e(){var t=document.createElement("bootstrap"),e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var i in e)if(void 0!==t.style[i])return{end:e[i]};return!1}t.fn.emulateTransitionEnd=function(e){var i=!1,n=this;t(this).one("bsTransitionEnd",function(){i=!0});var o=function(){i||t(n).trigger(t.support.transition.end)};return setTimeout(o,e),this},t(function(){t.support.transition=e(),t.support.transition&&(t.event.special.bsTransitionEnd={bindType:t.support.transition.end,delegateType:t.support.transition.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(t){"use strict";var e="zui.collapse",i=function(e,n){this.$element=t(e),this.options=t.extend({},i.DEFAULTS,n),this.transitioning=null,this.options.parent&&(this.$parent=t(this.options.parent)),this.options.toggle&&this.toggle()};i.DEFAULTS={toggle:!0},i.prototype.dimension=function(){var t=this.$element.hasClass("width");return t?"width":"height"},i.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var i=t.Event("show."+e);if(this.$element.trigger(i),!i.isDefaultPrevented()){var n=this.$parent&&this.$parent.find(".in");if(n&&n.length){var o=n.data(e);if(o&&o.transitioning)return;n.collapse("hide"),o||n.data(e,null)}var a=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[a](0),this.transitioning=1;var s=function(){this.$element.removeClass("collapsing").addClass("in")[a]("auto"),this.transitioning=0,this.$element.trigger("shown."+e)};if(!t.support.transition)return s.call(this);var r=t.camelCase(["scroll",a].join("-"));this.$element.one(t.support.transition.end,s.bind(this)).emulateTransitionEnd(350)[a](this.$element[0][r])}}},i.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var i=t.Event("hide."+e);if(this.$element.trigger(i),!i.isDefaultPrevented()){var n=this.dimension();this.$element[n](this.$element[n]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var o=function(){this.transitioning=0,this.$element.trigger("hidden."+e).removeClass("collapsing").addClass("collapse")};return t.support.transition?void this.$element[n](0).one(t.support.transition.end,o.bind(this)).emulateTransitionEnd(350):o.call(this)}}},i.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var n=t.fn.collapse;t.fn.collapse=function(n){return this.each(function(){var o=t(this),a=o.data(e),s=t.extend({},i.DEFAULTS,o.data(),"object"==typeof n&&n);a||o.data(e,a=new i(this,s)),"string"==typeof n&&a[n]()})},t.fn.collapse.Constructor=i,t.fn.collapse.noConflict=function(){return t.fn.collapse=n,this},t(document).on("click."+e+".data-api","[data-toggle=collapse]",function(i){var n,o=t(this),a=o.attr("data-target")||i.preventDefault()||(n=o.attr("href"))&&n.replace(/.*(?=#[^\s]+$)/,""),s=t(a),r=s.data(e),l=r?"toggle":o.data(),h=o.attr("data-parent"),c=h&&t(h);r&&r.transitioning||(c&&c.find('[data-toggle=collapse][data-parent="'+h+'"]').not(o).addClass("collapsed"),o[s.hasClass("in")?"addClass":"removeClass"]("collapsed")),s.collapse(l)})}(window.jQuery),function(t,e){"use strict";var i=1200,n=992,o=768,a=e(t),s=function(){var t=a.width();e("html").toggleClass("screen-desktop",t>=n&&t=i).toggleClass("screen-tablet",t>=o&&t=n)},r="",l=navigator.userAgent;l.match(/(iPad|iPhone|iPod)/i)?r+=" os-ios":l.match(/android/i)?r+=" os-android":l.match(/Win/i)?r+=" os-windows":l.match(/Mac/i)?r+=" os-mac":l.match(/Linux/i)?r+=" os-linux":l.match(/X11/i)&&(r+=" os-unix"),"ontouchstart"in document.documentElement&&(r+=" is-touchable"),e("html").addClass(r),a.resize(s),s()}(window,jQuery),function(t){"use strict";var e={zh_cn:'您的浏览器版本过低,无法体验所有功能,建议升级或者更换浏览器。 了解更多...',zh_tw:'您的瀏覽器版本過低,無法體驗所有功能,建議升級或者更换瀏覽器。了解更多...',en:'Your browser is too old, it has been unable to experience the colorful internet. We strongly recommend that you upgrade a better one. Learn more...'},i=function(){for(var t=!1,e=11;e>5;e--)if(this.isIE(e)){t=e;break}this.ie=t,this.cssHelper()};i.prototype.cssHelper=function(){var e=this.ie,i=t("html");i.toggleClass("ie",e).removeClass("ie-6 ie-7 ie-8 ie-9 ie-10"),e&&i.addClass("ie-"+e).toggleClass("gt-ie-7 gte-ie-8 support-ie",e>=8).toggleClass("lte-ie-7 lt-ie-8 outdated-ie",e<8).toggleClass("gt-ie-8 gte-ie-9",e>=9).toggleClass("lte-ie-8 lt-ie-9",e<9).toggleClass("gt-ie-9 gte-ie-10",e>=10).toggleClass("lte-ie-9 lt-ie-10",e<10).toggleClass("gt-ie-10 gte-ie-11",e>=11).toggleClass("lte-ie-10 lt-ie-11",e<11)},i.prototype.tip=function(i){var n=t("#browseHappyTip");n.length||(n=t('
    '),n.prependTo("body")),i||(i=t.zui.getLangData("zui.browser",t.zui.clientLang(),e),"object"==typeof i&&(i=i.tip)),n.find(".content").html(i)},i.prototype.isIE=function(t){if(11===t)return this.isIE11();if(10===t)return this.isIE10();if(!t&&(this.isIE11()||this.isIE10()))return!0;var e=document.createElement("b");return e.innerHTML="",1===e.getElementsByTagName("i").length},i.prototype.isIE10=function(){return navigator.appVersion.indexOf("MSIE 10")!==-1},i.prototype.isIE11=function(){var t=navigator.userAgent;return t.indexOf("Trident")!==-1&&t.indexOf("rv:11")!==-1},t.zui({browser:new i}),t(function(){t("body").hasClass("disabled-browser-tip")||t.zui.browser.ie&&t.zui.browser.ie<8&&t.zui.browser.tip()})}(jQuery),function(t){"use strict";var e=864e5,i=function(t){return t instanceof Date||("number"==typeof t&&t<1e10&&(t*=1e3),t=new Date(t)),t},n=function(t){return i(t).getTime()},o=function(t,e){t=i(t),void 0===e&&(e="yyyy-MM-dd hh:mm:ss");var n={"M+":t.getMonth()+1,"d+":t.getDate(),"h+":t.getHours(),"m+":t.getMinutes(),"s+":t.getSeconds(),"q+":Math.floor((t.getMonth()+3)/3),"S+":t.getMilliseconds()};/(y+)/i.test(e)&&(e=e.replace(RegExp.$1,(t.getFullYear()+"").substr(4-RegExp.$1.length)));for(var o in n)new RegExp("("+o+")").test(e)&&(e=e.replace(RegExp.$1,1==RegExp.$1.length?n[o]:("00"+n[o]).substr((""+n[o]).length)));return e},a=function(t,e){return t.setTime(t.getTime()+e),t},s=function(t,i){return a(t,i*e)},r=function(t){return new Date(i(t).getTime())},l=function(t){return t%4===0&&t%100!==0||t%400===0},h=function(t,e){return[31,l(t)?29:28,31,30,31,30,31,31,30,31,30,31][e]},c=function(t){return h(t.getFullYear(),t.getMonth())},d=function(t){return t.setHours(0),t.setMinutes(0),t.setSeconds(0),t.setMilliseconds(0),t},u=function(t,e){var i=t.getDate();return t.setDate(1),t.setMonth(t.getMonth()+e),t.setDate(Math.min(i,c(t))),t},f=function(t,e){e=e||1;for(var i=new Date(t.getTime());i.getDay()!=e;)i=s(i,-1);return d(i)},p=function(t,e){return t.toDateString()===e.toDateString()},g=function(t,e){var i=f(t),n=s(r(i),7);return e>=i&&e1){var i;if(2==arguments.length&&"object"==typeof e)for(var n in e)void 0!==e[n]&&(i=new RegExp("({"+n+"})","g"),t=t.replace(i,e[n]));else for(var o=1;othis.length)&&(e=this.length),this.substring(e-t.length,e)===t}),String.prototype.startsWith||Object.defineProperty(String.prototype,"startsWith",{value:function(t,e){return e=!e||e<0?0:+e,this.substring(e,e+t.length)===t}}),String.prototype.includes||(String.prototype.includes=function(){return String.prototype.indexOf.apply(this,arguments)!==-1}))}(),/*! @@ -74,6 +74,6 @@ function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"= * Original idea by: * Binny V A, http://www.openjs.com/scripts/events/keyboard_shortcuts/ */ -function(t){function e(e){if("string"==typeof e.data){var i=e.handler,n=e.data.toLowerCase().split(" ");e.handler=function(e){if(this===e.target||!/textarea|select/i.test(e.target.nodeName)&&"text"!==e.target.type){var o="keypress"!==e.type&&t.hotkeys.specialKeys[e.which],a=String.fromCharCode(e.which).toLowerCase(),s="",r={};e.altKey&&"alt"!==o&&(s+="alt+"),e.ctrlKey&&"ctrl"!==o&&(s+="ctrl+"),e.metaKey&&!e.ctrlKey&&"meta"!==o&&(s+="meta+"),e.shiftKey&&"shift"!==o&&(s+="shift+"),o?r[s+o]=!0:(r[s+a]=!0,r[s+t.hotkeys.shiftNums[a]]=!0,"shift+"===s&&(r[t.hotkeys.shiftNums[a]]=!0));for(var l=0,h=n.length;l","/":"?","\\":"|"}},t.each(["keydown","keyup","keypress"],function(){t.event.special[this]={add:e}})}(jQuery),function(t){"use strict";function e(e,i){if(e===!1)return e;if(!e)return i;e===!0?e={add:!0,"delete":!0,edit:!0,sort:!0}:"string"==typeof e&&(e=e.split(","));var n;return Array.isArray(e)&&(n={},t.each(e,function(e,i){t.isPlainObject(i)?n[i.action]=i:n[i]=!0}),e=n),t.isPlainObject(e)&&(n={},t.each(e,function(e,i){i?n[e]=t.extend({type:e},s[e],t.isPlainObject(i)?i:null):n[e]=!1}),e=n),i?t.extend(!0,{},i,e):e}function i(e,i,n){return i=i||e.type,t(n||e.template).addClass("tree-action").attr(t.extend({"data-type":i,title:e.title||""},e.attr)).data("action",e)}var n="zui.tree",o=0,a=function(e,i){this.name=n,this.$=t(e),this.getOptions(i),this._init()},s={sort:{template:''},add:{template:''},edit:{template:''},"delete":{template:''}};a.DEFAULTS={animate:null,initialState:"normal",toggleTemplate:''},a.prototype.add=function(e,i,n,o,a){var s,r=t(e),l=this.options;if(r.is("li")?(s=r.children("ul"),s.length||(s=t("
  • ");i.$.addClass("load-indicator loading"),s.load(window.location.href+" #"+o,function(r){if(a===o)i.$.empty().html(s.children().html()),i.$.find('[data-ride="pager"]').pager();else{i.$.find("#"+o).empty().html(s.children().html());try{var l=t(r),h=l.find("#"+o).closest('[data-ride="table"],#'+a);if(h.length){var c=h.find(".table-statistic");c.length&&(i.defaultStatistic=c.html());var d=i.$.find('[data-ride="pager"]').data("zui.pager"),u=h.find('[data-ride="pager"]');d&&u.length&&d.set(u.data())}}catch(f){console.error(f)}}i.$.removeClass("load-indicator loading").trigger("beforeTableReload"),delete i.defaultStatistic,i.updateStatistic(),i.initModals(),i.$.datepickerAll();var p=i.$.find("tbody>tr"),g=!1;t.each(i.checkItems,function(t,e){e&&(i.checkRow(p.filter('[data-id="'+t+'"]'),!0,!0),g=!0)}),g&&i.updateCheckUI(),i.$.trigger("tableReload");var m=t("#mainMenu>.btn-toolbar>.btn-active-text>.label");if(m.length){var u=i.$.find(".pager[data-rec-total]"),v=u.length?u.attr("data-rec-total"):i.getTable().find("tbody:first>tr:not(.table-children)").length;m.text(v)}e&&e(),n.afterReload&&n.afterReload()})},r.prototype.initModals=function(){var e=this,i=e.options,n=e.$.find(i.iframeModalTrigger);if(n.length){var o={type:"iframe",onHide:i.replaceId?function(){var n=t.cookie("selfClose");(1==n||i.hot)&&(t("#triggerModal").data("cancel-reload",1),e.reload(function(){t.cookie("selfClose",0)}))}:null};n.modalTrigger(o)}},r.prototype.getTable=function(){var t=this.$;if(this.isDataTable)return t.find("div.datatable");var e=t.is("table")?t:t.find("table:not(.fixed-header-copy)").first();return e.is(".datatable")&&(this.isDataTable=!0,e.data("zui.datatable")||window.initDatatable(e),e=t.find("div.datatable")),e},r.prototype.toggleGroups=function(e){var i=this,n={};i.$.find("tbody>tr").each(function(){var o=t(this).closest("tr").data("id");n[o]||i.toggleRowGroup(o,e)})},r.prototype.toggleRowGroup=function(i,n){var o=this.$.find('tbody>tr[data-id="'+i+'"]'),a=o.filter(".group-summary"),s=n===e?!a.hasClass("hidden"):!!n; -o.not(".group-summary").toggleClass("hidden",!s),a.toggleClass("hidden",s),t("body").toggleClass("table-group-collapsed",!this.$.find("tbody>tr.group-summary.hidden").length)},r.prototype.updateStatistic=function(){var i=this,n=i.$.find(".table-statistic");if(n.length){if(i.defaultStatistic===e&&(i.defaultStatistic=n.html()),i.options.statisticCreator)return void n.html(i.options.statisticCreator(i)||i.defaultStatistic);var o=i.statisticCols;if(!o&&o!==!1){o={};var a=!1;i.getTable().find("thead th").each(function(e){var i=t(this),n=i.data("statistic");n&&(a=!0,o[e]={format:n,name:i.text()})}),i.statisticCols=!!a&&o}var s=0;o&&t.each(o,function(t){o[t].total=0,o[t].checkedTotal=0}),i.$.find(i.isDataTable?".fixed-left tbody>tr":"tbody>tr").each(function(){var e=t(this),i=e.hasClass("checked"),n=e.children("td");i&&s++,o&&t.each(o,function(t){var e=parseFloat(n.eq(t).text());isNaN(e)&&(e=0),o[t].total+=e,i&&(o[t].checkedTotal+=e)})});var r=[];if(s)r.push(i.lang.selectedItems.format(s));else if(i.defaultStatistic)return void n.html(i.defaultStatistic);o&&t.each(o,function(t){var e=o[t],n=e[s?"checkedTotal":"total"];e.format&&(n=e.format.format(n)),r.push(i.lang.attrTotal.format(e.name,n))}),n.html(r.join(", "))}},r.prototype.updateFixUI=function(e){var i=this,n=(new Date).getTime();if(!e&&(i.lastUpdateCall&&clearTimeout(i.lastUpdateCall),!i.lastUpdateTime||n-i.lastUpdateTime
    ').append(t('
    ').addClass(i.attr("class")).append(n.clone())).insertAfter(i)),c){var d=h[0].getBoundingClientRect();l.css({left:d.left,width:h.width(),overflow:"hidden"}),l.find(".fixed-header-copy").css({left:o.left-d.left,position:"relative",minWidth:i.width()}),a||h.data("fixHeaderScroll")||(h.data("fixHeaderScroll",1),i.width()>h.width()&&h.on("scroll",function(){e.fixHeader()}))}else l.css({left:o.left,width:o.width});var u=l.find("th");n.find("th").each(function(e){u.eq(e).css("width",t(this).outerWidth())})}else l.remove()},r.prototype.fixFooter=function(){var e,i=this,n=i.getTable(),o=i.$.find(".table-footer");if(i.isDataTable)e=n[0].getBoundingClientRect();else{var a=n.find("tbody");if(!a.length)return;e=a[0].getBoundingClientRect()}var s=i.options.fixFooter;o.toggleClass("fixed-footer",!!r);var r="function"==typeof s?s(e,o):e.bottom>window.innerHeight-50-("number"==typeof s?s:i.pageFooterHeight||5);o.toggleClass("fixed-footer",!!r),n.toggleClass("with-footer-fixed",!!r),n.trigger("fixFooter",r);var l=t("body"),h=l.hasClass("body-modal");if(r){var c=n.parent(),d=c.is(".table-responsive");o.css({bottom:i.pageFooterHeight||0,left:d?c[0].getBoundingClientRect().left:e.left,width:d?c.width():e.width}),h&&l.css("padding-bottom",40)}else o.css({width:"",left:0,bottom:0}),h&&l.css("padding-bottom",0)},r.prototype.checkAll=function(e){var i=this,n=i.$.find(i.isDataTable?".fixed-left tbody>tr":"tbody>tr");n.each(function(){i.checkRow(t(this),e,!0)}),i.updateCheckUI()},r.prototype.checkRow=function(t,i,n){var o=this;o.isDataTable&&!t.is(".datatable-row-left")&&(t=o.getTable().find('.datatable-row-left[data-index="'+t.data("index")+'"]'));var a=t.find('input[type="checkbox"]');a.length&&!a.is(":disabled")&&(i===e&&(i=!a.is(":checked")),o.isDataTable?o.getTable().find('.datatable-row[data-index="'+t.data("index")+'"]').toggleClass("checked",i):t.toggleClass("checked",i),this.checkItems[t.data("id")]=i,a.prop("checked",i).trigger("change"),n||o.updateCheckUI())},r.prototype.updateCheckUI=function(){var e=this,i=e.getTable(),n=i.find(e.isDataTable?".fixed-left tbody>tr":"tbody>tr").not(".group-summary"),o=!1,a=null,s=0,r=!1,l=n.length;n.each(function(n){var h=t(this),c=h.find('input[type="checkbox"]');if(!c.length)return void l--;r=c.is(":checked");var d=e.isDataTable?i.find('.datatable-row[data-index="'+h.data("index")+'"]'):h;d.toggleClass("checked",r),d.toggleClass("row-check-begin",r&&!o),a&&a.toggleClass("row-check-end",!r&&o),r&&(s+=1),a=d,o=r,l===n+1&&d.toggleClass("row-check-end",r)}),e.$.toggleClass("has-row-checked",s>0).find(".check-all").toggleClass("checked",!(!l||s!==l)),e.updateStatistic(),e.options.onCheckChange&&e.options.onCheckChange(),i.trigger("checkChange")},r.DEFAULTS={checkable:!0,checkOnClickRow:!0,ajaxForm:!1,selectable:!0,fixHeader:!a,fixFooter:!a,iframeWidth:900,replaceId:"self",nestLevelIndent:18,nested:!1,preserveNested:!0,hot:!1,iframeModalTrigger:".iframe"},t.fn.table=function(e){return this.each(function(){var n=t(this),o=n.data(i),a="object"==typeof e&&e;o||n.data(i,o=new r(this,a)),"string"==typeof e&&o[e]()})},r.NAME=i,t.fn.table.Constructor=r,t(function(){t('[data-ride="table"]').table()})}(jQuery,void 0),function(t,e,i){t.fn._ajaxForm=t.fn.ajaxForm;var n={timeout:e.config?e.config.timeout:0,dataType:"json",method:"post"},o="";t.fn.enableForm=function(e,n,o){return e===i&&(e=!0),this.each(function(){var i=t(this);n||i.find('[type="submit"]').attr("disabled",e?null:"disabled"),!o&&i.hasClass("load-indicator")&&i.toggleClass("loading",!e),i.toggleClass("form-disabled",!e)})},t.enableForm=function(e,i,n,o){"string"==typeof e||e instanceof t?e=t(e):(o=n,n=i,i=e,e=t("form")),e.enableForm(i!==!1,n,o)},t.disableForm=function(e,i,n){t.enableForm(e,!1,i,n)};var a=function(e,i,n){"string"==typeof i&&(n=i,i=null),n=n||"show",t.zui.messager?t.zui.messager[n](e,i):alert(e)};t.ajaxForm=function(s,r){var l=t(s);if(l.length>1)return l.each(function(){t.ajaxForm(this,r)});"function"==typeof r&&(r={complete:r}),r=t.extend({},n,l.data(),r);var h=r.beforeSubmit,c=r.error,d=r.success,u=r.finish;delete r.finish,delete r.success,delete r.onError,delete r.beforeSubmit,r=t.extend({beforeSubmit:function(n,a,s){if(l.removeClass("form-watched").enableForm(!1),(h&&h(n,a,s))!==!1){var r={},c=a.find('[type="file"]');r.fileapi=c.length&&c[0].files!==i,r.formdata=e.FormData!==i;var d=r.fileapi&&a.find('input[type="file"]:enabled').filter(function(){return""!==t(this).val()}),u=d.length,f="multipart/form-data",p=a.attr("enctype")==f||a.attr("encoding")==f,g=r.fileapi&&r.formdata,m=u&&!g||p&&!r.formdata;m&&(""==o&&(o=s.url),s.url!=o&&(s.url=o),s.url=s.url.indexOf("&")>=0?s.url+"&HTTP_X_REQUESTED_WITH=XMLHttpRequest":s.url+"?HTTP_X_REQUESTED_WITH=XMLHttpRequest")}},success:function(i,n,o){if((d&&d(i,n,o,l))!==!1){try{"string"==typeof i&&(i=JSON.parse(i))}catch(s){}if(null===i||"object"!=typeof i)return i?alert(i):a("No response.","danger");var h=r.responser?t(r.responser):l.find(".form-responser");h.length||(h=t("#responser"));var c=i.message,f=function(){var n=i.callback;if(n){var o=n.indexOf("("),a=(o>0?n.substr(0,o):n).split("."),s=e,r=a[0];a.length>1&&(r=a[1],"top"===a[0]?s=e.top:"parent"===a[0]&&(s=e.parent));var h=s[r];if("function"==typeof h){var c=[];return o>0&&")"==n[n.length-1]&&(c=t.parseJSON("["+n.substring(o+1,n.length-1)+"]")),c.push(i),h.apply(l,c)}}};if("success"===i.result){var p=r.locate||i.locate;if(l.enableForm(!0,!!p),c){var g=l.find('[type="submit"]').first(),m=!1;g.length&&(g.popover({container:"body",trigger:"manual",content:c,tipClass:"popover-in-modal popover-success popover-form-result",placement:i.placement||g.data("placement")||r.popoverPlacement||"right"}).popover("show"),setTimeout(function(){g.popover("destroy")},r.popoverTime||2e3),m=!0),h.length&&(h.html(''+c+"").show().delay(3e3).fadeOut(100),m=!0),m||a(c,"success")}if(u)return u(i,!0,l);if((r.closeModal||i.closeModal)&&setTimeout(t.zui.closeModal,r.closeModalTime||2e3),f()===!1)return;if(p)if("loadInModal"==p){var v=t(".modal");setTimeout(function(){v.load(v.attr("ref"),function(){t(this).find(".modal-dialog").css("width",t(this).data("width")),t.zui.ajustModalPosition()})},1e3)}else"parent"===p||"top"===p?e[p]&&setTimeout(function(){e[p].location.reload()},1200):"reload"===p?setTimeout(function(){e.location.href=e.location.href},1200):setTimeout(function(){t.tabs?t.tabs.open(p):e.location.href=p},1200);var y=r.ajaxReload||i.ajaxReload;if(y){var b=t(y);b.length&&b.load(e.location.href+" "+y,function(){b.find('[data-toggle="modal"]').modalTrigger()})}}else{if(l.enableForm(),"string"==typeof c)h.length?h.html(''+c+"").show().delay(3e3).fadeOut(100):a(c,"danger");else if("object"==typeof c){var w=!1,x=[];t.each(c,function(e,i){var n=t.isArray(i)?i.join(""):i,o=t("#"+e);if(!o.length)return void x.push(n);var a=e+"Label",s=t("#"+a);if(!s.length){var r=o.closest(".input-group").length,l=o.closest("td").length;s=t('
    ').appendTo(l?o.closest("td"):r?o.closest(".input-group").parent():o.parent())}s.empty().append(n),o.addClass("has-error");var h=function(){var e=t("#"+a);if(e.length)return e.remove(),o.removeClass("has-error"),!0};o.on("change input mousedown",h);var c=t("#"+e+"_chosen");if(c.length&&c.find(".chosen-single,.chosen-choices").addClass("has-error").on("mousedown",function(){h()===!0&&t(this).removeClass("has-error")}),!w){if(o.hasClass("chosen"))o.trigger("chosen:activate");else if(o.is("textarea")&&o.data("keditor")){var d=o.data("keditor");d.focus(),d.edit.doc.body.focus()}else o.focus();w=!0}}),x.length&&a(x.join(";"),"danger")}if(u)return u(i,!1,l);if(f()===!1)return}}},error:function(t,i,n){if((c&&c(t,i,n,l))!==!1){l.enableForm();var o="timeout"==i||"error"==i?e.lang?e.lang.timeout:i:t.responseText+i+n;a(o,"danger")}}},r),l._ajaxForm(r).data("zui.ajaxform",!0),l.on("click","[data-form-action]",function(){l.attr("action",t(this).data("formAction")).submit()})},t.setAjaxForm=function(e,i,n){t.ajaxForm(e,t.isPlainObject(i)?i:{finish:i,beforeSubmit:n})},t.fn.ajaxForm=function(e){return this.each(function(){t.ajaxForm(this,e)})},t.fn.setInputRequired=function(){return this.each(function(){var e=t(this),i=e.parent();i.is(".input-control,td")?i.addClass("required"):e.is(".chosen")?e.attr("required",null).next(".chosen-container").addClass("required"):i.addClass("required"),e.attr("required",null);var n=i.closest(".input-group");n.length&&1===n.find(".required,input[required],select[required]").length&&n.addClass("required")})},t(function(){t('.form-ajax,form[data-type="ajax"]').ajaxForm(),setTimeout(function(){var i=e.config.requiredFields,n=t("form");i&&(i=i.split(",")),i&&i.length&&t.each(i,function(t,e){n.find("#"+e).attr("required","required")}),n.find("input[required],select[required],textarea[required]").setInputRequired()},400),t('form[target="hiddenwin"]').on("submit",function(){var e=t(this);e.data("zui.ajaxform")||e.enableForm(!1).data("disabledTime",(new Date).getTime())}).on("click",function(){var e=t(this),i=e.data("disabledTime");i&&(new Date).getTime()-i>1e4&&e.enableForm(!0).data("disabledTime",null)})})}(jQuery,window,void 0),function(t){"use strict";var e="zui.searchList",i=function(t,e){if(t&&t.length)for(var i=0;i
    ').append(s)),i.$menu.append(s),i.$menu.removeClass("loading"),i.isLoaded=!0,e&&e(!0)},error:function(){i.$menu.removeClass("loading").append('
    '+(n.errorText||window.lang&&window.lang.timeout)+"
    "),e&&e(!1)}},n.ajax))},n.prototype.scrollTo=function(t){t.length&&t[0].scrollIntoViewIfNeeded&&t[0].scrollIntoViewIfNeeded({behavior:"smooth"})},n.prototype.getItems=function(){return this.$.find(this.options.selector).addClass("search-list-item")},n.prototype.getActiveItem=function(){return this.getItems().filter(".active:first")},n.prototype.search=function(e){var n=this,o=void 0===e||null===e||""===e;n.$.toggleClass("has-search-text",!o);var a=n.getItems().removeClass("active");if(o)a.removeClass("hidden");else{var s=t.trim(e).split(" ");a.each(function(){var e=t(this),n=e.text()+" "+(e.data("key")||e.data("filter"));e.toggleClass("hidden",!i(s,n))})}n.scrollTo(a.not(".hidden").first().addClass("active"))},n.DEFAULTS={selector:".list-group a:not(.not-list-item)",searchBox:".search-box",onSelectItem:null},t.fn.searchList=function(i){return this.each(function(){var o=t(this),a=o.data(e),s="object"==typeof i&&i;a||o.data(e,a=new n(this,s)),"string"==typeof i&&a[i]()})},n.NAME=e,t.fn.searchList.Constructor=n,t(function(){t('[data-ride="searchList"]').searchList()})}(jQuery),function(t){"use strict";var e="zui.labelSelector",i=function(n,o){var a=this;a.name=e,a.$=t(n),o=a.options=t.extend({},i.DEFAULTS,this.$.data(),o),a.$.hide(),a.update()};i.prototype.select=function(t){t+="",this.$wrapper.find(".label.active").removeClass("active"),this.$wrapper.find('.label[data-value="'+t+'"]').addClass("active"),this.$.val(t).trigger("change")},i.prototype.update=function(){var e=this,i=e.options,n=e.$wrapper;if(!n){if(i.wrapper)n=t(i.wrapper);else{var o=e.$.next();n=o.hasClass(".label-selector")?o:t('
    ')}n.parent().length||e.$.after(n),e.$wrapper=n,n.on("click",".label",function(i){var n=e.$.val(),o=t(this).data("value");e.hasEmptyValue!==!1&&o==n&&(o=e.hasEmptyValue),e.select(o),i.preventDefault()})}n.empty();var a=e.$.val();e.hasEmptyValue=!1,e.$.children("option").each(function(){var e=t(this),o={label:e.text(),value:e.val()},s=""===o.value||"0"===o.value,r=t(i.labelTemplate||'');i.labelClass&&!s&&r.addClass(i.labelClass),i.labelCreator?r=i.labelCreator(r):(r.data("option",o).attr("data-value",o.value),s&&!o.label?r.addClass("empty").append(''):r.text(o.label).toggleClass("active",a===o.value)),n.append(r)})},i.DEFAULTS={},t.fn.labelSelector=function(n){return this.each(function(){var o=t(this),a=o.data(e),s="object"==typeof n&&n;a||o.data(e,a=new i(this,s)),"string"==typeof n&&a[n]()})},i.NAME=e,t.fn.labelSelector.Constructor=i,t(function(){t('[data-provide="labelSelector"]').labelSelector()})}(jQuery),function(t){"use strict";var e="zui.fileInput",i=t.BYTE_UNITS={B:1,KB:1024,MB:1048576,GB:1073741824,TB:1099511627776},n=t.formatBytes=function(t,e,n){return void 0===e&&(e=2),n||(n=ts.fileMaxSize&&(h.val(""),(window.bootbox||window).alert(s.fileSizeError.format(n(s.fileMaxSize)))),r.update()}),r.update()};a.prototype.getFile=function(){var t=this.$input.prop("files");return t&&t[0]},a.prototype.update=function(){var t=this,e=t.$,i=t.getFile(),o=!i;e.toggleClass("normal",!o).toggleClass("empty",o),i?(t.oldName=i.name,e.find(".file-title").text(i.name).attr("title",i.name),e.find(".file-size").text(n(i.size)),e.find(".file-editbox").val(i.name).attr("size",i.name.length),t.options.onSelect&&t.options.onSelect(i,t)):e.find(".file-editbox").val("")},a.DEFAULTS={fileMaxSize:0,fileSizeError:"无法上传大于 {0} 的文件。"},t.fn.fileInput=function(i){return this.each(function(){var n=t(this),o=n.data(e),s="object"==typeof i&&i;o||n.data(e,o=new a(this,s)),"string"==typeof i&&o[i]()})},a.NAME=e,t.fn.fileInput.Constructor=a,t(function(){t('[data-provide="fileInput"]').fileInput()});var s="zui.fileInputList",r=function(e,i){var n=this;n.name=s;var o=n.$=t(e);i=n.options=t.extend({},r.DEFAULTS,this.$.data(),i),n.$template=o.find(".file-input").detach(),n.add()};r.prototype.add=function(){var t=this,e=t.options,i=t.$template.clone();"before"===e.appendWay?t.$.prepend(i):t.$.append(i),i.fileInput({fileMaxSize:e.eachFileMaxSize,fileSizeError:e.fileSizeError,onDelete:function(e){e.$.remove(),t.options.onDelete&&t.options.onDelete(e,t)},onSelect:function(e,i){t.add(),t.options.onSelect&&t.options.onSelect(e,i,t)}})},r.DEFAULTS={fileMaxSize:0,eachFileMaxSize:0,appendWay:"after",fileSizeError:"无法上传大于 {0} 的文件。"},t.fn.fileInputList=function(e){return this.each(function(){var i=t(this),n=i.data(s),o="object"==typeof e&&e;n||i.data(s,n=new r(this,o)),"string"==typeof e&&n[e]()})},r.NAME=s,t.fn.fileInputList.Constructor=r,t(function(){t('[data-provide="fileInputList"]').fileInputList()})}(jQuery),function(t){window.config||(window.config={}),t.createLink=window.createLink=function(e,n,o,a,s,r,l){if("object"==typeof e)return t.createLink(e.moduleName,e.methodName,e.vars,e.viewType,e.isOnlyBody,e.hash,e.tid);if(t.tabSession&&!l&&(l=t.tabSession.getTid()),a||(a=config.defaultView),s||(s=!1),o)for("string"==typeof o&&(o=o.split("&")),i=0;i'+d+"")}}t.val()||(time=e(a.format("hh:mm")),time=time-time%10+10,t.val(n(time)))};t.fn.timeSpanControl=function(i){return this.each(function(){var s=t(this),r=t.extend({},i,s.data()),l=s.find('[name="begin"],.control-time-begin'),h=s.find('[name="end"],.control-time-end'),c=function(){var t=l.val();if(s.find(".hide-empty-begin").toggleClass("hide",!t),t){var i=n(e(t)+30);h.find('option[value="'+i+'"]').length&&h.val(i),r.onChange&&r.onChange(h,i)}};if(s.data("timeSpanControlInit")){if(r.begin){var d=o(r.begin).format("hh:mm");l.find('option[value="'+d+'"]').length&&l.val(d),r.onChange&&r.onChange(l,d)}if(r.end){var u=o(r.end).format("hh:mm");h.find('option[value="'+u+'"]').length&&h.val(u),r.onChange&&r.onChange(h,u)}}else l.on("change",c),a(l,r.begin),a(h,r.end),s.data("timeSpanControlInit",!0);r.end||c()})},t.timeSpanControl={convertTimeToNum:e,convertNumToTime:n,initTimeSelect:a,createTime:o};var s=t.setSearchType=function(e,i){var n=t("#searchType");e||(e=n.val()),e=e||"bug",n.val(e);var o=t("#searchTypeMenu");o.find("li.selected").removeClass("selected");var a=o.find('a[data-value="'+e+'"]'),s=a.text();a.parent().addClass("selected"),t("#searchTypeName").text(s),i||t("#searchInput").focus()};t.gotoObject=function(e,i){if(e||(e=t("#searchType").val()),i||(i=t("#searchInput").val()),i&&e)if(i=i.replace(/[^\d]/g,"")){var n=e.split("-");e=n[0];var o=n.length>1?n[1]:"testsuite"===e?"library":"view",a=t.createLink(e,o,"id="+i);t.apps?t.apps.open(a):window.location.href=a}else{var s={zh_cn:"请输入数字ID进行搜索",zh_tw:"請輸入數值ID行搜索"};alert(lang.searchTip||s[t.zui.clientLang()]||"Please enter a numberic id to search")}t("#searchInput").val(i).focus()},t(function(){s(null,!0),t(document).on("keydown",function(e){e.ctrlKey&&71===e.keyCode&&(t("#searchInput").val("").focus(),e.stopPropagation(),e.preventDefault())})}),t.removeAnchor=window.removeAnchor=function(t){var e=t.lastIndexOf("#");return e>-1?t.substr(0,e):t},t.refreshPage=function(t){t?window.parent.location.reload():window.location.reload()},t.selectLang=window.selectLang=function(e){t.cookie("lang",e,{expires:config.cookieLife,path:config.webRoot}),t.ajaxSendScore("selectLang"),t.refreshPage(1)},t.selectTheme=window.selectTheme=function(e){t.cookie("theme",e,{expires:config.cookieLife,path:config.webRoot}),t.ajaxSendScore("selectTheme"),t.refreshPage(1)},t.zui.Picker&&t.zui.Picker.enableChosen(),t.chosenDefaultOptions={middle_highlight:!0,disable_search_threshold:1,compact_search:!0,allow_single_deselect:!0,placeholder_text_single:" ",placeholder_text_multiple:" ",search_contains:!0,max_drop_width:500,max_drop_height:245,no_wrap:!0,drop_direction:function(){var e=t(this.container).closest(".table-responsive:not(.scroll-none)");if(e.length){if(this.drop_directionFixed)return this.drop_directionFixed;e.css("position","relative");var i="down",n=this.container.find(".chosen-drop"),o=this.container.position(),a=n.outerHeight();return o.top>=a&&o.top+31+a>e.outerHeight()&&(i="up"),this.drop_directionFixed=i,i}return"auto"}},t.chosenSimpleOptions=t.extend({},t.chosenDefaultOptions,{disable_search_threshold:6}),t.fn._chosen=t.fn.chosen,t.fn.chosen=function(e){return"string"==typeof e?this._chosen(e):this.each(function(){var i=t(this).addClass("chosen-controled");return i._chosen(t.extend({},i.hasClass("chosen-simple")?t.chosenSimpleOptions:t.chosenDefaultOptions,i.data(),e))})},t.fn.chosen.Constructor=t.fn._chosen.Constructor,t(function(){t(".chosen,.chosen-simple").each(function(){var e=t(this);e.closest(".template").length||e.chosen()})}),t.extend(t.fn.pager.Constructor.DEFAULTS,{maxNavCount:8,prevIcon:"icon-angle-left",nextIcon:"icon-angle-right",firstIcon:"icon-first-page",lastIcon:"icon-last-page",navEllipsisItem:"…",menuDirection:"dropup",pageSizeOptions:[5,10,15,20,25,30,35,40,45,50,100,200,500,1e3,2e3],elements:["total_text","size_menu","first_icon","prev_icon",'
    {page}/{totalPage}
    ',"next_icon","last_icon"],onPageChange:function(e,i){e.recPerPage!==i.recPerPage&&t.cookie(this.options.pageCookie,e.recPerPage,{expires:config.cookieLife,path:config.webRoot}),e.recPerPage!==i.recPerPage&&(window.location.href=this.createLink())}}),t.extend(!0,t.zui.Messager.DEFAULTS,{cssClass:"messagger-zt",icons:{success:"check-circle",info:"chat-line",warning:"exclamation-sign",danger:"exclamation-sign"}}),t.fn.reverseOrder=function(){return this.each(function(){var e=t(this);e.prependTo(e.parent())})};var r=function(e,i){var n=t(e);if(!n.data("historiesInited")){n.data("historiesInited",1),i=t.extend({},n.data(),i);var o=n.find(".histories-list"),a=!0,s=!1;n.on("click",".btn-reverse",function(){o.children("li").reverseOrder(),a=!a,t(this).find(".icon").toggleClass("icon-arrow-up",a).toggleClass("icon-arrow-down",!a);var e="#lastComment",i=t(e);i.length&&window.KindEditor&&(window.KindEditor.remove(e),i.kindeditor())}).on("click",".btn-expand-all",function(){var e=t(this).find(".icon");s=!s,e.toggleClass("icon-plus",!s).toggleClass("icon-minus",s),o.children("li").toggleClass("show-changes",s)}).on("click",".btn-expand",function(){t(this).closest("li").toggleClass("show-changes")}).on("click",".btn-strip",function(){var e=t(this),n=e.find(".icon"),o=n.hasClass("icon-code");n.toggleClass("icon-code",!o).toggleClass("icon-text",o),e.attr("title",o?i.original:i.textdiff),e.closest("li").toggleClass("show-original",o)}),o.find(".btn-strip").attr("title",i.original);var r=n.find(".modal-comment").modal({show:!1}).on("shown.zui.modal",function(){var t=r.find("#comment");t.length&&(t.focus(),window.editor&&window.editor.comment&&window.editor.comment.focus())}).on("show.zui.modal",function(){var e=r.find("#comment");e.length&&!e.data("keditor")&&t.fn.kindeditor&&e.kindeditor()});n.on("click",".btn-comment",function(t){r.modal("toggle"),t.preventDefault()}).on("click",".btn-edit-comment,.btn-hide-form",function(){t(this).closest("li").toggleClass("show-form")});var l=n.find(".comment-edit-form");l.ajaxForm({success:function(t,e,i,n){setTimeout(function(){l.closest("li").removeClass("show-form")},2e3)}})}};t.fn.histories=function(t){return this.each(function(){r(this,t)})},t(function(){t(".histories").histories()});var l=0,h=0;t.toggleSidebar=function(e){var i=t("#sidebar");if(i.length){var n=t("main");if(void 0===e)e=n.hasClass("hide-sidebar");else if(e&&!n.hasClass("hide-sidebar"))return;n.toggleClass("hide-sidebar",!e),clearTimeout(l),t.zui.store.set(h,e);var o=i.children(".cell"),a={overflow:"visible",maxHeight:"initial"};e?(i.addClass("showing"),l=setTimeout(function(){i.removeClass("showing"),i.trigger("sidebar.toggle",e)},210)):(i.trigger("sidebar.toggle",e),t(window).width()<1900&&(a={overflow:"hidden",maxHeight:t(window).height()-45})),o.css(a)}};var c=t.initSidebar=function(){var e=t("#sidebar");if(e.length){if(e.data("init"))return!0;h="sidebar:"+(e.data("id")||config.currentModule+"/"+config.currentMethod);var i=t("main");if(i.length){i.on("click",".sidebar-toggle",function(){t.toggleSidebar(i.hasClass("hide-sidebar"))});var n=t.zui.store.get(h,e.data("hide")!==!1);n===!1&&e.addClass("no-animate"),t.toggleSidebar(n),n===!1&&setTimeout(function(){e.removeClass("no-animate")},500);var o=e.find(".sidebar-toggle");if(o.length){var a=function(){var e=o[0].getBoundingClientRect(),i=t(window).height(),n=Math.max(0,Math.floor(Math.min(i-40,e.top+e.height)-Math.max(e.top,0))/2)+(e.top<0?0-e.top:0);o.removeClass("fade").find(".icon").css("top",n+(t.zui.browser.isIE()?(i-80)/2:0))};a(),e.data("init",1).on("sidebar.toggle",a);var s=t.zui.browser.isIE()?1500:0,r=0,l=null,c=function(){var t=Date.now();return l&&(clearTimeout(l),l=null),t-rtr input[type="checkbox"]:checked');i.each(function(){var i=parseInt(t(this).val(),10);NaN!==i&&e.push(i)}),t.cookie("checkedItem",e.join(","),{expires:config.cookieLife,path:config.webRoot})},t.extend(t.fn.modal.bs.Constructor.DEFAULTS,{scrollInside:!0,backdrop:"static",headerHeight:100}),t.extend(t.zui.ModalTrigger.DEFAULTS,{scrollInside:!0,backdrop:"static",headerHeight:40}),t.fn.initIframeModal=function(){return this.each(function(){var e=t(this);if(!e.parents('[data-ride="table"],.skip-iframe-modal').length){var i={type:"iframe"};e.hasClass("export")&&t.extend(i,{width:800,shown:setCheckedCookie},e.data()),e.modalTrigger(i)}})},t(function(){t("a.iframe,.export").initIframeModal()});var d=function(){var e,i,n=t(this),o=t.extend({limitSize:40,suffix:"…"},n.data()),a=n.text();if(a.length>o.limitSize){e=a,i=a.substr(0,o.limitSize)+o.suffix,n.text(i).addClass("limit-text-on");var s=o.toggleBtn?t(o.toggleBtn):n.next(".text-limit-toggle");s.text(s.data("textExpand")),s.on("click",function(){var t=n.toggleClass("limit-text-on").hasClass("limit-text-on");n.text(t?i:e),s.text(s.data(t?"textExpand":"textCollapse"))})}else(o.toggleBtn?t(o.toggleBtn):n.next(".text-limit-toggle")).hide()};t.fn.textLimit=function(){return this.each(d)},t(function(){t(".text-limit").textLimit()}),t.fixedTableHead=window.fixedTableHead=function(e,i){var n=t(e);if(n.is("table")||(n=n.find("table")),n.length){var o=t(i||window),a=null,s=function(){var e=n.children("thead"),i=e[0].getBoundingClientRect(),o=n.next(".fixed-head-table");if(i.top<0){var s=e.width();if(o.length){if(a!==s){a=s;var r=o.find("th"); -e.find("th").each(function(e){r.eq(e).width(t(this).width())})}}else{var o=t("
    ").addClass(n.attr("class")),l=e.clone(),r=l.find("th");e.find("th").each(function(e){r.eq(e).width(t(this).width())}),o.append(l).insertAfter(n)}o.css({left:i.left,width:i.width}).show()}else o.hide()};o.on("scroll",s).on("resize",s),s()}},t(document).on("click","tr[data-url]",function(){var e=t(this),i=e.data("href")||e.data("url");i&&(window.location.href=i)}),"yes"===config.onlybody&&self===parent&&(window.location.href=window.location.href.replace("?onlybody=yes","").replace("&onlybody=yes","")),t(function(){t("body").addClass("m-{currentModule}-{currentMethod}".format(config))});var u,f,p,g,m,v=function(){u||(u=t("#subNavbar"),f=t("#pageNav"),p=t("#pageActions"),g=u.children(".nav"),m=g.outerWidth());var e=u.outerWidth(),i=f.outerWidth()||0,n=p.outerWidth()||0;if(i=i?i+15:0,n=n?n+15:0,!i&&!n)return void g.css({maxWidth:null,left:null,position:"static"});var o=Math.max(300,e-i-n),a=Math.min(o,m),s=(e-a)/2,r=i&&s.btn-toolbar");if(e.length){var i,n,o=e.children(),a=o.length,s=!1,r=null;if(a)for(o.each(function(e){i=t(this),n=i.is(".divider"),n&&!r&&i.hide(),s||n||(s=!0),r=n?null:i,!n||e!==a-1&&0!==e||i.hide()});i.length&&i.is(".divider");)i=i.hide().prev();s||e.hide()}};t(function(){t(".input-group,.btn-group").fixInputGroup(),k()}),window.holders&&t.each(window.holders,function(e){var i=t("#"+e);i.length&&i.is("input")&&i.attr("placeholder",window.holders[e])}),t(function(){var e=t(".table-responsive"),i=t.fixTableResponsive=function(){e.each(function(){this.scrollHeight-3<=this.clientHeight&&this.scrollWidth-3<=this.clientWidth?t(this).addClass("scroll-none").css("overflow","visible"):t(this).removeClass("scroll-none").css("overflow","auto")})};e.length&&(t(window).on("resize",i),setTimeout(i,100))});var T=function(){var e=this,i=t(e),n=i.closest("tr").find("textarea");if(n.length){var o=32;n.each(function(){var e=t(this).closest("td"),i=e.css("height");e.css("height",this.style.height),this.style.height="auto";var n=this.value?this.scrollHeight+2:32;o=Math.max(o,n),e.css("height",i)}),n.css("height",o)}else{e.style.height="auto";var a=e.value?e.scrollHeight+2:32;e.style.height=a+"px"}};t.autoResizeTextarea=function(e){t(e).each(T)},t(function(){t("textarea.autosize").each(T),t(document).on("input paste change","textarea.autosize",T)}),t(function(){var e=t("#dropMenu,.drop-menu");e.length&&e.on("click",".toggle-right-col",function(e){t(this).closest("#dropMenu,.drop-menu").toggleClass("show-right-col"),e.stopPropagation(),e.preventDefault()})});var S="undefined"!=typeof InstallTrigger;t.zui.browser.firefox=S,t("html").toggleClass("is-firefox",S).toggleClass("not-firefox",!S),t(function(){var e=t("#mainContent>.main-col"),i=e.children(".main-actions");if(i.length){var n=i.prev();if(i.length&&n.length){t('
    ').css("height",i.outerHeight()).insertAfter(i);var o=0,a=function(){var e=n[0].getBoundingClientRect(),s=e.top+e.height+120>t(window).height();if(t("body").toggleClass("main-actions-fixed",s),s){var r=n.width();r?i.width(r):o<10&&setTimeout(a,1e3)}o++};t.resetToolbarPosition=a,a(),t(window).on("resize scroll",a)}}}),t(document).on("show.zui.modal",function(e){t("body.body-modal").length&&window.parent&&window.parent!==window&&t(e.target).is(".modal")&&window.parent.$("body").addClass("hide-modal-close")}).on("hidden.zui.modal",function(){t("body.body-modal").length&&window.parent&&window.parent!==window&&window.parent.$("body").removeClass("hide-modal-close")}),t(function(){var e=t(".dropdown-menu.with-search");e.length&&(e.find(".menu-search").on("click",function(t){return t.stopPropagation(),!1}),e.on("keyup change paste","input",function(){var e=t(this),i=e.closest(".dropdown-menu.with-search"),n=e.val().toLowerCase(),o=i.find(".option");""==n?o.removeClass("hide"):o.each(function(){var e=t(this);e.toggleClass("hide",e.text().toString().toLowerCase().indexOf(n)<0&&e.data("key").toString().toLowerCase().indexOf(n)<0)})}),e.parents(".dropdown-submenu").one("mouseenter",function(){var e=t(this).find(".dropdown-list")[0];e&&e.getBoundingClientRect&&setTimeout(function(){var t=270,i=e.getBoundingClientRect();i.top<0&&(t=Math.min(270,i.height)+i.top),e.style.maxHeight=Math.min(270,t)+"px"},50)})),t(".dropdown-menu.with-search .menu-search").on("click",function(t){return t.stopPropagation(),!1})})}(jQuery),function(t){function e(){var e=window.parent,i=config.currentModule,n=config.currentMethod,o="index"===i&&"index"===n,a="#_single"===location.hash||o||!t("#mainHeader,#editorNav").length||"tutorial"===i||"install"===i||"upgrade"===i||"user"===i&&("login"===n||"deny"===n)||"my"===i&&"changepassword"===n||t("body").hasClass("allow-self-open"),s=location.href;if(e===window&&!a){var r=location.pathname+location.search+location.hash,l="";return location.href=t.createLink("index","index",l)+"#app="+encodeURIComponent(r)}if(e!==window&&e.$.apps){o&&e.location.reload();var h=window.name;if(0===h.indexOf("app-")){t.apps=window.apps=e.$.apps;var c=h.substr(4);t.appCode=c,t(document).on("click",function(t){var i=e.document.getElementById(window.name);if(i){var n=e.document.getElementById(i.name)||i;n&&n.dispatchEvent(new Event(t.type,{bubbles:!0}))}}).on("click","a,.open-in-app,.show-in-app",function(e){var i=t(this);if(!i.is("[data-modal],[data-toggle],[data-ride],[data-tab],.iframe,.not-in-app,[target]")&&!i.data("zui.modaltrigger")){var n=i.hasClass("show-in-app")?"":i.attr("href")||(i.is("a")?"":i.data("url")),o=i.data("app")||i.data("group");if(n){if(0===n.indexOf("javascript:")||"#"===n[0])return;var a=t.parseLink(n);if("index"===a.moduleName&&"index"===a.methodName)return window.location.reload(),void e.preventDefault()}else if(!o)return;o||(o=t.apps.getAppCode(n)),o&&("help"===o&&(t.apps.appsMap.help.text=i.text(),t.apps.appsMap.help.url||(t.apps.appsMap.help.url=n)),t.apps.open(n,o)&&e.preventDefault())}}),t.apps.updateUrl(c,s,document.title)}}}function i(){var e=t("#navbar>.nav");if(e.length){var i=t("#heading"),n=+i.css("left").replace("px",""),o=i.outerWidth(),a=e.width(),s=t("#mainHeader>.container").width()-2*n,r=Math.floor((s-a)/2);e.css("marginLeft",r>>0;if(0===o)return!1;for(var a=0|e,s=Math.max(a>=0?a:o-Math.abs(a),0);s1&&("?"===e[0]&&(e=e.substr(1)),e.split("&").forEach(function(t){var e=t.split("=",2);if(e.length>1)try{i[e[0]]=decodeURIComponent(e[1])}catch(n){i[e[0]]=""}else i[e[0]]=""})),t?i[t]:i},t.parseLink=function(e){if(!e)return{};if((0===e.indexOf("http:")||0===e.indexOf("https:"))&&e.indexOf(window.location.origin)<0)return{};var i=e.split("#"),n=i[0].split("?"),o=n[1],a=o?t.getSearchParam("",o):{},s=n[0],r={isOnlyBody:"yes"===a.onlybody,vars:[],hash:i[1]||"",params:a,tid:a.tid||""};if("GET"===config.requestType){r.moduleName=a[config.moduleVar]||"index",r.methodName=a[config.methodVar]||"index",r.viewType=a[config.viewVar]||config.defaultView;for(var l in a)l!==config.moduleVar&&l!==config.methodVar&&l!==config.viewVar&&"onlybody"!==l&&"tid"!==l&&r.vars.push([l,a[l]])}else{var h=s.lastIndexOf("/");h===s.length-1&&(s=s.substr(0,h),h=s.lastIndexOf("/")),h>=0&&(s=s.substr(h+1));var c=s.lastIndexOf(".");c>=0?(r.viewType=s.substr(c+1),s=s.substr(0,c)):r.viewType=config.defaultView;var d=s.split(config.requestFix);if(r.moduleName=d[0]||"index",r.methodName=d[1]||"index",d.length>2)for(var u=2;u.nav>li").length>10&&(i(),t(window).on("resize",i)),setTimeout(n,1e3)})}(jQuery),$.zui.lang("de",{"zui.pager":{pageOfText:"Seite {0}",prev:"Zurück",next:"Nächste Seite",first:"Erste Seite",last:"Letzte Seite","goto":"Goto",pageOf:"Seite {page}",totalPage:"{totalPage} Seiten",totalCount:"Total: {recTotal} Artikel",pageSize:"{recPerPage} Artikel pro Seite",itemsRange:"Seiten {start} bis {end}",pageOfTotal:"Seite {page}/{totalPage}"},"zui.boards":{append2end:"Gehen Sie zum Ende"},"zui.browser":{tip:"Online. Sorgenfrei. Aktualisiere deinen Browser noch heute!"},"zui.calendar":{weekNames:["Son","Mon","Die","Mit","Don","Fri","Sam"],monthNames:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],today:"Heute",year:"{0}Jahr",month:"{0}Monat",yearMonth:"{0}-{1}"},"zui.chosenIcons":{emptyIcon:"[Kein Icon]",commonIcons:"Gemeinsame Symbole",webIcons:"Web-Symbol",editorIcons:"Editor-Symbol",directionalIcons:"Pfeil Zusammenfluss",otherIcons:"Andere Symbole"},"zui.colorPicker":{errorTip:"Kein gültiger Farbwert"},"zui.datagrid":{errorCannotGetDataFromRemote:"Daten vom Remote-Server ({0}) können nicht abgerufen werden.",errorCannotHandleRemoteData:"Die vom Remote-Server zurückgegebenen Daten können nicht verarbeitet werden."},"zui.guideViewer":{prevStep:"Vorheriger Schritt",nextStep:"Nächster Schritt"},"zui.tabs":{reload:"Neu laden",close:"Schliessen",closeOthers:"Schließen Sie andere Registerkarten",closeRight:"Schließen Sie die rechte Registerkarte",reopenLast:"Letzten geschlossenen Tab wiederherstellen",errorCannotFetchFromRemote:"Inhalt kann nicht vom Remote-Server abgerufen werden ({0})."},"zui.uploader":{},datetimepicker:{days:["Sonntag","Montag","Diensteg","Mittwoch","Donnerstag","Freitag","Samstag"],daysShort:["Son","Mon","Die","Mit","Don","Fri","Sam"],daysMin:["Son","Mon","Die","Mit","Don","Fri","Sam"],months:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],monthsShort:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],today:"Heute",suffix:[],meridiem:[]},chosen:{no_results_text:"Nicht gefunden"},bootbox:{OK:"OK",CANCEL:"Stornieren",CONFIRM:"Bestätigen"}}),$.zui.lang("fr",{"zui.pager":{pageOfText:"Page {0}",prev:"Prev",next:"Suivant",first:"First",last:"Last","goto":"Goto",pageOf:"Page {page}",totalPage:"{totalPage} pages",totalCount:"Total: {recTotal} items",pageSize:"{recPerPage} per page",itemsRange:"De {start} à {end}",pageOfTotal:"Page {page} de {totalPage}"},"zui.boards":{append2end:"Aller jusqu'au bout"},"zui.browser":{tip:"Naviguez sans crainte sur Internet. Mettez votre navigateur à jour dès aujourd'hui!"},"zui.calendar":{weekNames:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],monthNames:["Jan","Fév","Mar","Avr","Mai","Juin","Juil","Août","Sep","Oct","Nov","Déc"],today:"Aujourd'hui",year:"{0} Année",month:"{0} Mois",yearMonth:"{0}-{1}"},"zui.chosenIcons":{emptyIcon:"[Aucune icône]",commonIcons:"Icônes communes",webIcons:"Icône Web",editorIcons:"Icône de l'éditeur",directionalIcons:"Flèche confluence",otherIcons:"Autres icônes"},"zui.colorPicker":{errorTip:"Pas une valeur de couleur valide"},"zui.datagrid":{errorCannotGetDataFromRemote:"Impossible d'obtenir les données du serveur distant ({0}).",errorCannotHandleRemoteData:"Impossible de traiter les données renvoyées par le serveur distant."},"zui.guideViewer":{prevStep:"Étape précédente",nextStep:"Prochaine étape"},"zui.tabs":{reload:"Recharger",close:"Fermer",closeOthers:"Fermez les autres onglets",closeRight:"Fermer l'onglet de droite",reopenLast:"Restaurer le dernier onglet fermé",errorCannotFetchFromRemote:"Impossible d'obtenir le contenu du serveur distant ({0})."},"zui.uploader":{},datetimepicker:{days:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"],daysShort:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],daysMin:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],months:["Jan","Fév","Mar","Avr","Mai","Juin","Juil","Août","Sep","Oct","Nov","Déc"],monthsShort:["Jan","Fév","Mar","Avr","Mai","Juin","Juil","Août","Sep","Oct","Nov","Déc"],today:"Aujourd'hui",suffix:[],meridiem:[]},chosen:{no_results_text:"Pas trouvé"},bootbox:{OK:"D'accord",CANCEL:"Annuler",CONFIRM:"Confirmer"}}); \ No newline at end of file +function(t){function e(e){if("string"==typeof e.data){var i=e.handler,n=e.data.toLowerCase().split(" ");e.handler=function(e){if(this===e.target||!/textarea|select/i.test(e.target.nodeName)&&"text"!==e.target.type){var o="keypress"!==e.type&&t.hotkeys.specialKeys[e.which],a=String.fromCharCode(e.which).toLowerCase(),s="",r={};e.altKey&&"alt"!==o&&(s+="alt+"),e.ctrlKey&&"ctrl"!==o&&(s+="ctrl+"),e.metaKey&&!e.ctrlKey&&"meta"!==o&&(s+="meta+"),e.shiftKey&&"shift"!==o&&(s+="shift+"),o?r[s+o]=!0:(r[s+a]=!0,r[s+t.hotkeys.shiftNums[a]]=!0,"shift+"===s&&(r[t.hotkeys.shiftNums[a]]=!0));for(var l=0,h=n.length;l","/":"?","\\":"|"}},t.each(["keydown","keyup","keypress"],function(){t.event.special[this]={add:e}})}(jQuery),function(t){"use strict";function e(e,i){if(e===!1)return e;if(!e)return i;e===!0?e={add:!0,"delete":!0,edit:!0,sort:!0}:"string"==typeof e&&(e=e.split(","));var n;return Array.isArray(e)&&(n={},t.each(e,function(e,i){t.isPlainObject(i)?n[i.action]=i:n[i]=!0}),e=n),t.isPlainObject(e)&&(n={},t.each(e,function(e,i){i?n[e]=t.extend({type:e},s[e],t.isPlainObject(i)?i:null):n[e]=!1}),e=n),i?t.extend(!0,{},i,e):e}function i(e,i,n){return i=i||e.type,t(n||e.template).addClass("tree-action").attr(t.extend({"data-type":i,title:e.title||""},e.attr)).data("action",e)}var n="zui.tree",o=0,a=function(e,i){this.name=n,this.$=t(e),this.getOptions(i),this._init()},s={sort:{template:''},add:{template:''},edit:{template:''},"delete":{template:''}};a.DEFAULTS={animate:null,initialState:"normal",toggleTemplate:''},a.prototype.add=function(e,i,n,o,a){var s,r=t(e),l=this.options;if(r.is("li")?(s=r.children("ul"),s.length||(s=t("
      "),r.append(s),this._initList(s,r))):s=r,s){var h=this;Array.isArray(i)||(i=[i]),t.each(i,function(e,i){var n=t("
    • ").data(i).appendTo(s);void 0!==i.id&&n.attr("data-id",i.id);var o=l.itemWrapper?t(l.itemWrapper===!0?'
    • ').append(i(h.add,"add",h.add.templateInList)).appendTo(n)}h.sort&&n.sortable(t.extend({dragCssClass:"tree-drag-holder",trigger:".sort-handler",selector:"li:not(.tree-action-item)",finish:function(t){r.callEvent("action",{action:h.sort,$list:n,target:t.target,item:s})}},h.sort.options,t.isPlainObject(this.options.sortable)?this.options.sortable:null))}o&&(o.hasClass("open")||s&&s.open)&&o.addClass("open in")},a.prototype._initItem=function(n,o,a,s){if(void 0===o){var r=n.prev("li");o=r.length?r.data("idx")+1:1}if(a=a||n.closest("ul"),n.attr("data-idx",o).removeClass("tree-single-item"),!n.data("id")){var l=o;a.hasClass("tree")||(l=a.parent("li").data("id")+"-"+l),n.attr("data-id",l)}n.hasClass("active")&&a.parent("li").addClass("has-active-item"),s=s||n.data();var h=e(s.actions,this.actions);if(h){var c=n.find(".tree-actions");c.length||(c=t('
      ').appendTo(this.options.itemWrapper?n.find(".tree-item-wrapper"):n),t.each(h,function(t,e){e&&c.append(i(e,t))}))}var d=n.children("ul");d.length&&this._initList(d,n,o,s)},a.prototype._init=function(){var i=this.options,a=this;this.actions=e(i.actions),this.$.addClass("tree"),i.animate&&this.$.addClass("tree-animate"),this._initList(this.$);var s=i.initialState,r=t.zui&&t.zui.store&&t.zui.store.enable;r&&(this.selector=n+"::"+(i.name||"")+"#"+(this.$.attr("id")||o++),this.store=t.zui.store[i.name?"get":"pageGet"](this.selector,{})),"preserve"===s&&(r?this.isPreserve=!0:this.options.initialState=s="normal"),this.reload(i.data),r&&(this.isPreserve=!0),"expand"===s?this.expand():"collapse"===s?this.collapse():"active"===s&&this.expandSelect(".active"),this.$.on("click",'.list-toggle,a[href="#"],.tree-toggle',function(e){var i=t(this),n=i.parent("li");a.callEvent("hit",{target:n,item:n.data()}),a.toggle(n),i.is("a")&&e.preventDefault()}).on("click",".tree-action",function(){var e=t(this),i=e.data();if(i.action&&(i=i.action),"sort"!==i.type){var n=e.closest("li:not(.tree-action-item)");a.callEvent("action",{action:i,target:this,$item:n,item:n.data()})}})},a.prototype.preserve=function(e,i,n){if(this.isPreserve)if(e)i=i||e.data("id"),n=void 0===n&&e.hasClass("open"),n?this.store[i]=n:delete this.store[i],this.store.time=(new Date).getTime(),t.zui.store[this.options.name?"set":"pageSet"](this.selector,this.store);else{var o=this;this.store={},this.$.find("li").each(function(){o.preserve(t(this))})}},a.prototype.expandSelect=function(t){this.show(t,!0)},a.prototype.expand=function(t,e,i){t?(t.addClass("open"),!e&&this.options.animate?setTimeout(function(){t.addClass("in")},10):t.addClass("in")):t=this.$.find("li.has-list").addClass("open in"),i||this.preserve(t),this.callEvent("expand",t,this)},a.prototype.show=function(e,i,n){var o=this;e instanceof t||(e=o.$.find("li").filter(e)),e.each(function(){var e=t(this);if(o.expand(e,i,n),e)for(var a=e.parent("ul");a&&a.length&&!a.hasClass("tree");){var s=a.parent("li");s.length?(o.expand(s,i,n),a=s.parent("ul")):a=!1}})},a.prototype.collapse=function(t,e,i){t?!e&&this.options.animate?(t.removeClass("in"),setTimeout(function(){t.removeClass("open")},300)):t.removeClass("open in"):t=this.$.find("li.has-list").removeClass("open in"),i||this.preserve(t),this.callEvent("collapse",t,this)},a.prototype.toggle=function(t){var e=t&&t.hasClass("open")||t===!1||void 0===t&&this.$.find("li.has-list.open").length;this[e?"collapse":"expand"](t)},a.prototype.getOptions=function(e){this.options=t.extend({},a.DEFAULTS,this.$.data(),e),null===this.options.animate&&this.$.hasClass("tree-animate")&&(this.options.animate=!0)},a.prototype.toData=function(e,i){"function"==typeof e&&(i=e,e=null),e=e||this.$;var n=this;return e.children("li:not(.tree-action-item)").map(function(){var e=t(this),o=e.data();delete o["zui.droppable"];var a=e.children("ul");return a.length&&(o.children=n.toData(a)),"function"==typeof i?i(o,e):o}).get()},a.prototype.callEvent=function(e,i){var n;return"function"==typeof this.options[e]&&(n=this.options[e](i,this)),this.$.trigger(t.Event(e+"."+this.name,i)),n},t.fn.tree=function(e,i){return this.each(function(){var o=t(this),s=o.data(n),r="object"==typeof e&&e;s||o.data(n,s=new a(this,r)),"string"==typeof e&&s[e](i)})},t.fn.tree.Constructor=a,t(function(){t('[data-ride="tree"]').tree()})}(jQuery),function(t){"use strict";var e="zui.colorPicker",i='
      ',n={zh_cn:{errorTip:"不是有效的颜色值"},zh_tw:{errorTip:"不是有效的顏色值"},en:{errorTip:"Not a valid color value"}},o=function(i,n){this.name=e,this.$=t(i),this.getOptions(n),this.init()};o.prototype.init=function(){var e=this,n=e.options,o=e.$,a=o.parent(),s=!1;a.hasClass("colorpicker")?e.$picker=a:(e.$picker=t(n.template||i),s=!0),e.$picker.addClass(n.wrapper).find(".cp-title").toggle(void 0!==n.title).text(n.title),e.$menu=e.$picker.find(".dropdown-menu").toggleClass("pull-right",n.pullMenuRight),e.$btn=e.$picker.find(".btn.dropdown-toggle"),e.$btn.find(".ic").addClass("icon-"+n.icon),n.btnTip&&e.$picker.attr("data-toggle","tooltip").tooltip({title:n.btnTip,placement:n.tooltip,container:"body"}),o.attr("data-provide",null),s&&o.after(e.$picker),e.colors={},t.each(n.colors,function(i,n){if(t.zui.Color.isColor(n)){var o=new t.zui.Color(n);e.colors[o.toCssStr()]=o}}),e.updateColors(),e.$picker.on("click",".cp-tile",function(){e.setValue(t(this).data("color"))});var r=function(){var i=o.val(),a=t.zui.Color.isColor(i);o.parent().toggleClass("has-error",!(a||n.optional&&""===i)),a?e.setValue(i,!0):n.optional&&""===i?o.tooltip("hide"):o.is(":focus")||o.tooltip("show",n.errorTip)};o.is("input:not([type=hidden])")?(n.tooltip&&o.attr("data-toggle","tooltip").tooltip({trigger:"manual",placement:n.tooltip,tipClass:"tooltip-danger",container:"body"}),o.on("keyup paste input change",r)):o.appendTo(e.$picker),r()},o.prototype.addColor=function(e){e instanceof t.zui.Color||(e=new t.zui.Color(e));var i=e.toCssStr(),n=this.options;this.colors[i]||(this.colors[i]=e);var o=t('
      ',{titile:e}).data("color",e).css({color:e.contrast().toCssStr(),background:i,"border-color":e.luma()>.43?"#ccc":"transparent"}).attr("data-color",i);this.$menu.append(t("
    • ").css({width:n.tileSize,height:n.tileSize}).append(o)),n.optional&&this.$menu.find(".cp-tile.empty").parent().detach().appendTo(this.$menu)},o.prototype.updateColors=function(e){var i=this.$menu,n=this.options,e=e||this.colors,o=this,a=0;if(i.children("li:not(.heading)").remove(),t.each(e,function(t,e){o.addColor(e),a++}),n.optional){var s=t('
    • ').css({width:n.tileSize,height:n.tileSize});this.$menu.append(s),a++}i.css("width",Math.min(a,n.lineCount)*n.tileSize+6)},o.prototype.setValue=function(e,i){var n=this,o=n.options,a=n.$btn,s="";n.$menu.find(".cp-tile.active").removeClass("active");var r=o.updateBtn;if("auto"===r){var l=a.find(".color-bar");r=!l.length||function(t){l.css("background",t||"")}}if(e){var h=new t.zui.Color(e);s=h.toCssStr().toLowerCase(),r&&("function"==typeof r?r(s,a,n):a.css({background:s,color:h.contrast().toCssStr(),borderColor:h.luma()>.43?"#ccc":s})),n.colors[s]||n.addColor(h),i||n.$.val().toLowerCase()===s||n.$.val(s).trigger("change"),n.$menu.find('.cp-tile[data-color="'+s+'"]').addClass("active"),n.$.tooltip("hide"),n.$.trigger("colorchange",h)}else r&&("function"==typeof r?r(null,a,n):a.attr("style",null)),i||""===n.$.val()||n.$.val(s).trigger("change"),o.optional&&n.$.tooltip("hide"),n.$menu.find(".cp-tile.empty").addClass("active"),n.$.trigger("colorchange",null);o.updateBorder&&t(o.updateBorder).css("border-color",s),o.updateBackground&&t(o.updateBackground).css("background-color",s),o.updateColor&&t(o.updateColor).css("color",s),o.updateText&&t(o.updateText).text(s)},o.prototype.getOptions=function(i){var a=t.extend({},o.DEFAULTS,this.$.data(),i);"string"==typeof a.colors&&(a.colors=a.colors.split(","));var s=a.lang||t.zui.clientLang(),r=this.lang=t.zui.getLangData?t.zui.getLangData(e,s,n):n[s]||n.en;a.errorTip||(a.errorTip=r.errorTip),t.fn.tooltip||(a.btnTip=!1),this.options=a},o.DEFAULTS={colors:["#00BCD4","#388E3C","#3280fc","#3F51B5","#9C27B0","#795548","#F57C00","#F44336","#E91E63"],pullMenuRight:!0,wrapper:"btn-wrapper",tileSize:30,lineCount:5,optional:!0,tooltip:"top",icon:"caret-down",updateBtn:"auto"},o.LANG=n,t.fn.colorPicker=function(e){return this.each(function(){var i=t(this),n=i.data(name),a="object"==typeof e&&e;n||i.data(name,n=new o(this,a)),"string"==typeof e&&n[e]()})},t.fn.colorPicker.Constructor=o,t(function(){t('[data-provide="colorpicker"]').colorPicker()})}(jQuery),function(t,e){function i(t){return t===e&&(t=o+=1),a[t%a.length]}function n(e,i){var n=t(e);i=t.extend({percent:0,size:20,backColor:"#eee",color:"#00da88",borderColor:"#ccc",borderSize:1,rotate:-90,doughnut:8},n.data(),i);var o=i.percent,a=i.size;"string"==typeof o&&(o=Number.parseFloat(o,10)),"string"==typeof a&&(a=Number.parseFloat(a,10)),a=Math.floor(a);var s=a/2,r=3.14*s,l="http://www.w3.org/2000/svg",h=document.createElementNS(l,"svg"),c=document.createElementNS(l,"circle"),d=document.createElementNS(l,"circle"),u=document.createElementNS(l,"circle");d.setAttribute("r",s),d.setAttribute("cx",s),d.setAttribute("cy",s),d.setAttribute("fill",i.backColor),d.setAttribute("stroke",i.borderColor),d.setAttribute("stroke-width",i.borderSize),u.setAttribute("r",i.doughnut),u.setAttribute("cx",s),u.setAttribute("cy",s),u.setAttribute("fill",i.backColor),c.setAttribute("r",s/2),c.setAttribute("cx",s),c.setAttribute("cy",s),c.setAttribute("fill","transparent"),c.setAttribute("stroke-dasharray",(o*r/100).toFixed(1)+" "+r),c.setAttribute("stroke-width",s),c.setAttribute("stroke",i.color),c.setAttribute("transform","rotate(-90) translate(-"+a+")"),h.setAttribute("viewBox","0 0 "+a+" "+a),h.setAttribute("width",a),h.setAttribute("height",a),h.setAttribute("transform","rotate(180)"),h.appendChild(d),h.appendChild(c),h.appendChild(u),n[0].appendChild(h);var f={width:a,height:a};"inline"===n.css("display")&&(f.display="inline-block",f.verticalAlign="middle"),n.css(f)}var o=0,a=["#00a9fc","#ff5d5d","#fdc137","#00da88","#7ec5ff","#8666b8","#bd7b46","#ff9100","#ff3d00","#f57f17","#00e5ff","#00b0ff","#2979ff","#3d5afe","#651fff","#d500f9","#f50057","#ff1744"];jQuery.fn.tableChart=function(){t(this).each(function(){var e=t(this),n=e.data(),o=n.chart||"pie",a=t(n.target);if(a.length){var s=null;if("pie"===o){n=t.extend({scaleShowLabels:!0,scaleLabel:"<%=label%>: <%=value%>"},n);var r=[],l=e.find("tbody > tr").each(function(e){var n=t(this),o=i();n.attr("data-id",e).find(".chart-color-dot").css("background",o),r.push({label:n.find(".chart-label").text(),value:parseFloat(n.data("value")||n.find(".chart-value").text()),color:o,id:e})});r.length>1?n.scaleLabelPlacement="outside":1===r.length&&(n.scaleLabelPlacement="inside",r.push({label:"",value:r[0].value/2e3,color:"#fff",showLabel:!1})),s=a.pieChart(r,n),a.on("mousemove",function(t){var e=s.getSegmentsAtEvent(t);l.removeClass("active"),e.length&&l.filter('[data-id="'+e[0].id+'"]').addClass("active")})}else if("bar"===o){var h=i(),c=[],d={label:e.find("thead .chart-label").text(),color:h,data:[]},l=e.find("tbody > tr").each(function(e){var i=t(this);c.push(i.find(".chart-label").text()),d.data.push(i.data("value")||parseFloat(i.find(".chart-value").text())),i.find(".chart-color-dot").css("background",h)}),r={labels:c,datasets:[d]};c.length&&(n.barValueSpacing=5),s=a.barChart(r,n)}else if("line"===o){var h=i(),c=[],d={label:e.find("thead .chart-label").text(),color:h,data:[]},l=e.find("tbody > tr").each(function(e){var i=t(this);c.push(i.find(".chart-label").text()),d.data.push(parseInt(i.find(".chart-value").text())),i.find(".chart-color-dot").css("background",h)}),r={labels:c,datasets:[d]};c.length&&(n.barValueSpacing=5),s=a.lineChart(r,n)}null!==s&&e.data("zui.chart",s)}})},t(".table-chart").tableChart();var s=function(i,n){var o=t(i);if(!o.data("pieChart")){var a=o.is("canvas")?o:o.find("canvas"),s=t.extend({value:0,color:t.getThemeColor("primary")||"#006af1",backColor:t.getThemeColor("pale")||"#E9F2FB",doughnut:!0,doughnutSize:85,width:20,height:20,showTip:!1,name:"",tipTemplate:"<%=value%>%",animation:"auto",realValue:parseFloat(o.find(".progress-value").text())},n,o.data()),r=a.length;r||(a=t("").appendTo(o)),a.attr("width")!==e?s.width=a.width():a.attr("width",s.width),a.attr("height")!==e?s.height=a.height():a.attr("height",s.height),r||8!=t.zui.browser.ie||G_vmlCanvasManager.initElement(a[0]),"auto"===s.animation&&(s.animation=s.width>30),o.addClass("progress-pie-"+s.width).css({width:s.width,height:s.height}),s.value=Math.max(0,Math.min(100,s.value));var l=[{value:s.value,label:s.name,color:s.color,circleBeginEnd:!0},{value:100-s.value,label:"",color:s.backColor}],h=a[s.doughnut?"doughnutChart":"pieChart"](l,t.extend({segmentShowStroke:!1,animation:s.animation,showTooltips:s.showTip,tooltipTemplate:s.tipTemplate,percentageInnerCutout:s.doughnutSize,reverseDrawOrder:!0,animationEasing:"easeInOutQuart",onAnimationProgress:s.realValue?function(t){o.find(".progress-value").text(Math.floor(s.realValue*t))}:e,onAnimationComplete:s.realValue?function(t){o.find(".progress-value").text(s.realValue)}:e},s.chartOptions));o.data("pieChart",h)}};jQuery.fn.progressPie=function(e){t(this).each(function(){var i=t(this);if(!i.closest(".hidden").length){var n=i.closest(".tab-pane");n.length&&!n.hasClass("active")?t('[data-toggle="tab"][data-target="#'+n.attr("id")+'"]').one("shown.zui.tab",function(){s(i,e)}):s(this,e)}})},t.fn.pieIcon=function(e){t(this).each(function(){n(this,e)})},t(function(){t(".table-chart").tableChart();var e=t(".progress-pie:visible");e.length<100&&t(".progress-pie:visible").progressPie(),setTimeout(function(){t(".progress-pie:visible").progressPie()},e.length>100?1e3:50),t(".pie-icon:visible").pieIcon()})}(jQuery,void 0),function(t){jQuery.fn.sparkline=function(e){t(this).each(function(){var i=t(this),n=t.extend({values:i.attr("values"),width:i.width()-4,height:i.height()-4},i.data(),e),o=n.height,a=[],s=n.width,r=n.values.split(","),l=0;for(var h in r){var c=parseFloat(r[h]);NaN!=c&&(a.push(c),l=Math.max(c,l))}var d=(Math.min(l,30),Math.min(s,Math.max(10,a.length*s/30))),u=i.children("canvas");u.length||(i.append(''),u=i.children("canvas")),u.attr("width",d).attr("height",o);var f={labels:a,datasets:[{fillColor:t.getThemeColor("pale")||"rgba(0,0,255,0.05)",strokeColor:t.getThemeColor("primary")||"#0054EC",pointColor:t.getThemeColor("secondary")||"rgba(255,136,0,1)",pointStrokeColor:"#fff",data:a}]},p={animation:!0,scaleOverride:!0,scaleStepWidth:Math.ceil(l/10),scaleSteps:10,scaleStartValue:0,showScale:!1,showTooltips:!1,pointDot:!1,scaleShowGridLines:!1,datasetStrokeWidth:1},g=t(u).lineChart(f,p);i.data("sparklineChart",g)})},t(function(){t(".sparkline").sparkline()})}(jQuery),function(t){t.fn.fixedDate=function(){return t(this).each(function(){var e=t(this).attr("autocomplete","off");"0000-00-00"==e.val()&&e.focus(function(){"0000-00-00"==e.val()&&e.val("").datetimepicker("update")}).blur(function(){""==e.val()&&e.val("0000-00-00")})})},window.datepickerOptions={language:t("html").attr("lang"),weekStart:1,todayBtn:1,autoclose:1,todayHighlight:1,startView:2,forceParse:0,showMeridian:1,format:"yyyy-mm-dd hh:ii",startDate:"1970-1-1"},t.extend(t.fn.datetimepicker.defaults,window.datepickerOptions),t(function(){var e={minView:2,format:"yyyy-mm-dd"},i={startView:1,minView:0,maxView:1,format:"hh:ii"},n={minView:3,startView:3,format:"yyyy-mm"};t(".datepicker-wrapper").click(function(){t(this).find(".form-date, .form-datetime, .form-time, .form-month").datetimepicker("show").focus()}),t.fn.datepicker=function(i){return this.datetimepicker(t.extend({},e,i))},t.fn.timepicker=function(e){return this.datetimepicker(t.extend({},i,e))},t.fn.monthpicker=function(e){return this.datetimepicker(t.extend({},n,e))},t.fn.datepickerAll=function(){return this.find(".form-datetime").fixedDate().datetimepicker(),this.find(".form-date").fixedDate().datepicker(),this.find(".form-time").fixedDate().timepicker(),this.find(".form-month").fixedDate().monthpicker(),this},t("body").datepickerAll()})}(jQuery),function(t){var e=function(e,i){i=t.extend({idStart:0,idEnd:9,chosen:!0,datetimepicker:!0,colorPicker:!0,hotkeys:!0},i,e.data());var n=e.find(".template");!n.length&&i.template&&(n=t(i.template));var o=0,a=0,s=function(t){t.is("select.chosen")?t.next(".chosen-container").find("input").focus():t.focus()},r=function(t){var i=e.find("[data-ctrl-index]:focus,.chosen-container-active").first();if(i.length){if(i.is(".chosen-container-active")){if(i.hasClass("chosen-with-drop")&&("down"===t||"up"===t))return;i=i.prev("select.chosen")}var n=i.data("ctrlIndex"),r=i.closest("tr").data("row");"down"===t?r0?r-=1:r=a-1:"left"===t?n>0?n-=1:n=o-1:"right"===t&&(n").html(s);return r.attr("data-row",e).addClass(n.attr("class")).removeClass("template"),i.rowCreator&&i.rowCreator(r,e,i),o?o.after(r):h.append(r),c(r),r};t.extend(l,{createRow:u,template:d});for(var f=i.idStart;f<=i.idEnd;++f)u(f)}else c(e);e.on("click",".btn-copy",function(){var e=t(this),i=t(e.data("copyFrom")).val(),n=t(e.data("copyTo")).val(i).addClass("highlight");setTimeout(function(){n.removeClass("highlight")},2e3)}),i.hotkeys&&t(document).on("keydown",function(t){var e={"Ctrl+#37":"left","Ctrl+#39":"right","#38":"up","#40":"down","Ctrl+#38":"up","Ctrl+#40":"down"},i=[];t.ctrlKey&&i.push("Ctrl"),i.push("#"+t.keyCode);var n=e[i.join("+")];n&&(r(n),t.ctrlKey&&(t.stopPropagation(),t.preventDefault()))}),e.data("zui.batchActionForm",l),setTimeout(t.fixTableResponsive,0)};t.fn.batchActionForm=function(i){return this.each(function(){e(t(this),i)})}}(jQuery),function(t,e){"use strict";var i="zui.table",n={zh_cn:{selectedItems:"已选择 {0} 项",attrTotal:"{0}总计 {1}"},zh_tw:{selectedItems:"已选择 {0} 项",attrTotal:"{0}总计 {1}"},en:{selectedItems:"Seleted {0} items",attrTotal:"{0} total {1}"},de:{selectedItems:"{0} ausgewählt",attrTotal:"{0} insgesamt {1}"},fr:{selectedItems:"{0} sélectionnés",attrTotal:"{0} total {1}"}},o=/^((?!chrome|android).)*safari/i.test(navigator.userAgent),a=t.zui.browser.isIE(),s=a?200:100,r=function(e,o){var a=this;a.name=i;var s=a.$=t(e);o=a.options=t.extend({},r.DEFAULTS,this.$.data(),o),a.langName=o.lang||t.zui.clientLang(),a.lang=t.zui.getLangData(i,a.langName,n),a.id=s.attr("id"),a.id||(a.id=o.id||"table-"+t.zui.uuid(),a.noID=!0,s.attr("id",a.id),o.hot&&console.warn("ZUI: table hot replace id not defined, the element id attribute should be set.")),s.attr("data-ride")||s.attr("data-ride","table");var l=a.getTable();if(l.length){l.find("thead>tr>th").each(function(){var e=t(this);if(!e.attr("title")){var i=t.trim(e.find("a:first").text()||e.text()||"");i.length&&e.attr("title",i)}}),o.nested&&a.initNestedList(),o.checkable&&(s.on("click",".check-all",function(){a.checkAll(!t(this).hasClass("checked"))}),o.checkOnClickRow&&s.on("click","tbody>tr",function(e){t(e.target).closest('.btn,a,.not-check,.form-control,input[type="text"],.chosen-container').length||a.checkRow(t(this))}),s.on("click",'tbody input[type="checkbox"],tbody label[for]',function(e){e.stopPropagation();var i=t(this);i.is("label")&&(i=i.closest(".checkbox-primary").find('input[type="checkbox"]')),a.checkRow(i.closest("tr"),i.is(":checked"))}),o.selectable&&s.selectable(t.extend({},{selector:a.isDataTable?".fixed-left tbody>tr":"tbody>tr",selectClass:"",trigger:"td.c-id",clickBehavior:"multi",listenClick:!1,start:function(){this.syncSelectionsFromClass()},select:function(e){a.checkRow(e.target,!0),t.cookie("ajax_dragSelected")||(t.cookie("ajax_dragSelected","on",{expires:config.cookieLife,path:config.webRoot}),t.ajaxSendScore("dragSelected"))},unselect:function(t){a.checkRow(t.target,!1)},rangeStyle:{border:"1px solid #006af1",backgroundColor:"rgba(50,128,252,0.2)",borderRadius:"2px"}},t.isPlainObject(o.selectable)?o.selectable:null)));var h=a.$form=s.is("form")?s:s.find("form");h.length&&(o.ajaxForm?h.ajaxForm(t.isPlainObject(o.ajaxForm)?o.ajaxForm:null):h.on("click","[data-form-action]",function(){h.attr("action",t(this).data("formAction")).submit()})),(o.fixFooter||o.fixHeader)&&(a.pageFooterHeight=t("#footer").outerHeight(),a.updateFixUI(!0),t(window).on("scroll resize",function(){a.updateFixUI()}).on("sidebar.toggle",function(){setTimeout(function(){a.updateFixUI()},200)})),o.group&&(s.on("click",".group-toggle",function(){a.toggleRowGroup(t(this).closest("tr").data("id"))}),t(document).on("click",".group-collapse-all",function(){a.toggleGroups(!1)}).on("click",".group-expand-all",function(){a.toggleGroups(!0)})),a.defaultStatistic=s.find(".table-statistic").html(),a.updateStatistic(),a.initModals(),a.checkItems={},a.updateCheckUI()}};r.prototype.initNestedList=function(){var e=this,i=e.options,n=e.getTable().addClass("table-nested"),o=n.find("tbody"),a=o.children("tr[data-id]"),s={},r=[],l=i.preserveNested,h=i.enableEmptyNestedRow;n.toggleClass("disable-empty-nest-row",!h),a.each(function(e){var i=t(this),n=i.data();n.realOrder=e,n.$row=i,n.nestPath?(n.nestPathList=n.nestPath.split(","),n.nestPathList[0]||n.nestPathList.shift(),n.nestPathList[n.nestPathList.length-1]||n.nestPathList.pop(),n.nestPathLevel=n.nestPathList.length,i.attr("data-level",n.nestPathLevel)):(n.nestPath=","+n.id+",",n.nestPathList=[n.id],n.nestPathLevel=1),s[n.id]=n,delete n.children,r.push(n)});var c=[];t.each(r,function(t,n){return n.nestParent&&(n.parent=s[n.nestParent],n.parent)?(n.parent.children?n.parent.children.push(n):n.parent.children=[n],void(i.expandNestChild||e._initedNestedList||(n.$row.addClass("table-nest-hide"),n.parent.$row.addClass("table-nest-child-hide")))):(n.$row.removeClass("table-nest-hide"),void c.push(n))}),e.nestRowsMap=s,e.$nestBody=o;var d=function(e){for(var n=0;n').prependTo(s)),r.toggleClass("table-nest-toggle",!!a.children||h&&a.nested).css("marginLeft",(a.nestPathLevel-1)*i.nestLevelIndent),delete a.$row}};if(d(c),e.nestConfigStoreName="/"+window.config.currentModule+"/"+window.config.currentMethod+"/table."+e.id+".nestConfig",e.nestConfig=l?t.zui.store.get(e.nestConfigStoreName,{}):{},l)for(var u=0;u");i.$.addClass("load-indicator loading"),s.load(window.location.href+" #"+o,function(r){if(a===o)i.$.empty().html(s.children().html()),i.$.find('[data-ride="pager"]').pager();else{i.$.find("#"+o).empty().html(s.children().html());try{var l=t(r),h=l.find("#"+o).closest('[data-ride="table"],#'+a);if(h.length){var c=h.find(".table-statistic");c.length&&(i.defaultStatistic=c.html());var d=i.$.find('[data-ride="pager"]').data("zui.pager"),u=h.find('[data-ride="pager"]');d&&u.length&&d.set(u.data())}}catch(f){console.error(f)}}i.$.removeClass("load-indicator loading").trigger("beforeTableReload"),delete i.defaultStatistic,i.updateStatistic(),i.initModals(),i.$.datepickerAll();var p=i.$.find("tbody>tr"),g=!1;t.each(i.checkItems,function(t,e){e&&(i.checkRow(p.filter('[data-id="'+t+'"]'),!0,!0),g=!0)}),g&&i.updateCheckUI(),i.$.trigger("tableReload");var m=t("#mainMenu>.btn-toolbar>.btn-active-text>.label");if(m.length){var u=i.$.find(".pager[data-rec-total]"),v=u.length?u.attr("data-rec-total"):i.getTable().find("tbody:first>tr:not(.table-children)").length;m.text(v)}e&&e(),n.afterReload&&n.afterReload()})},r.prototype.initModals=function(){var e=this,i=e.options,n=e.$.find(i.iframeModalTrigger);if(n.length){var o={type:"iframe",onHide:i.replaceId?function(){var n=t.cookie("selfClose");(1==n||i.hot)&&(t("#triggerModal").data("cancel-reload",1),e.reload(function(){t.cookie("selfClose",0)}))}:null};n.modalTrigger(o)}},r.prototype.getTable=function(){var t=this.$;if(this.isDataTable)return t.find("div.datatable");var e=t.is("table")?t:t.find("table:not(.fixed-header-copy)").first();return e.is(".datatable")&&(this.isDataTable=!0,e.data("zui.datatable")||window.initDatatable(e),e=t.find("div.datatable")),e},r.prototype.toggleGroups=function(e){var i=this,n={};i.$.find("tbody>tr").each(function(){var o=t(this).closest("tr").data("id");n[o]||i.toggleRowGroup(o,e)})},r.prototype.toggleRowGroup=function(i,n){var o=this.$.find('tbody>tr[data-id="'+i+'"]'),a=o.filter(".group-summary"),s=n===e?!a.hasClass("hidden"):!!n; +o.not(".group-summary").toggleClass("hidden",!s),a.toggleClass("hidden",s),t("body").toggleClass("table-group-collapsed",!this.$.find("tbody>tr.group-summary.hidden").length)},r.prototype.updateStatistic=function(){var i=this,n=i.$.find(".table-statistic");if(n.length){if(i.defaultStatistic===e&&(i.defaultStatistic=n.html()),i.options.statisticCreator)return void n.html(i.options.statisticCreator(i)||i.defaultStatistic);var o=i.statisticCols;if(!o&&o!==!1){o={};var a=!1;i.getTable().find("thead th").each(function(e){var i=t(this),n=i.data("statistic");n&&(a=!0,o[e]={format:n,name:i.text()})}),i.statisticCols=!!a&&o}var s=0;o&&t.each(o,function(t){o[t].total=0,o[t].checkedTotal=0}),i.$.find(i.isDataTable?".fixed-left tbody>tr":"tbody>tr").each(function(){var e=t(this),i=e.hasClass("checked"),n=e.children("td");i&&s++,o&&t.each(o,function(t){var e=parseFloat(n.eq(t).text());isNaN(e)&&(e=0),o[t].total+=e,i&&(o[t].checkedTotal+=e)})});var r=[];if(s)r.push(i.lang.selectedItems.format(s));else if(i.defaultStatistic)return void n.html(i.defaultStatistic);o&&t.each(o,function(t){var e=o[t],n=e[s?"checkedTotal":"total"];e.format&&(n=e.format.format(n)),r.push(i.lang.attrTotal.format(e.name,n))}),n.html(r.join(", "))}},r.prototype.updateFixUI=function(e){var i=this,n=(new Date).getTime();if(!e&&(i.lastUpdateCall&&clearTimeout(i.lastUpdateCall),!i.lastUpdateTime||n-i.lastUpdateTime').append(t('
      ').addClass(i.attr("class")).append(n.clone())).insertAfter(i)),c){var d=h[0].getBoundingClientRect();l.css({left:d.left,width:h.width(),overflow:"hidden"}),l.find(".fixed-header-copy").css({left:o.left-d.left,position:"relative",minWidth:i.width()}),a||h.data("fixHeaderScroll")||(h.data("fixHeaderScroll",1),i.width()>h.width()&&h.on("scroll",function(){e.fixHeader()}))}else l.css({left:o.left,width:o.width});var u=l.find("th");n.find("th").each(function(e){u.eq(e).css("width",t(this).outerWidth())})}else l.remove()},r.prototype.fixFooter=function(){var e,i=this,n=i.getTable(),o=i.$.find(".table-footer");if(i.isDataTable)e=n[0].getBoundingClientRect();else{var a=n.find("tbody");if(!a.length)return;e=a[0].getBoundingClientRect()}var s=i.options.fixFooter;o.toggleClass("fixed-footer",!!r);var r="function"==typeof s?s(e,o):e.bottom>window.innerHeight-50-("number"==typeof s?s:i.pageFooterHeight||5);o.toggleClass("fixed-footer",!!r),n.toggleClass("with-footer-fixed",!!r),n.trigger("fixFooter",r);var l=t("body"),h=l.hasClass("body-modal");if(r){var c=n.parent(),d=c.is(".table-responsive");o.css({bottom:i.pageFooterHeight||0,left:d?c[0].getBoundingClientRect().left:e.left,width:d?c.width():e.width}),h&&l.css("padding-bottom",40)}else o.css({width:"",left:0,bottom:0}),h&&l.css("padding-bottom",0)},r.prototype.checkAll=function(e){var i=this,n=i.$.find(i.isDataTable?".fixed-left tbody>tr":"tbody>tr");n.each(function(){i.checkRow(t(this),e,!0)}),i.updateCheckUI()},r.prototype.checkRow=function(t,i,n){var o=this;o.isDataTable&&!t.is(".datatable-row-left")&&(t=o.getTable().find('.datatable-row-left[data-index="'+t.data("index")+'"]'));var a=t.find('input[type="checkbox"]');a.length&&!a.is(":disabled")&&(i===e&&(i=!a.is(":checked")),o.isDataTable?o.getTable().find('.datatable-row[data-index="'+t.data("index")+'"]').toggleClass("checked",i):t.toggleClass("checked",i),this.checkItems[t.data("id")]=i,a.prop("checked",i).trigger("change"),n||o.updateCheckUI())},r.prototype.updateCheckUI=function(){var e=this,i=e.getTable(),n=i.find(e.isDataTable?".fixed-left tbody>tr":"tbody>tr").not(".group-summary"),o=!1,a=null,s=0,r=!1,l=n.length;n.each(function(n){var h=t(this),c=h.find('input[type="checkbox"]');if(!c.length)return void l--;r=c.is(":checked");var d=e.isDataTable?i.find('.datatable-row[data-index="'+h.data("index")+'"]'):h;d.toggleClass("checked",r),d.toggleClass("row-check-begin",r&&!o),a&&a.toggleClass("row-check-end",!r&&o),r&&(s+=1),a=d,o=r,l===n+1&&d.toggleClass("row-check-end",r)}),e.$.toggleClass("has-row-checked",s>0).find(".check-all").toggleClass("checked",!(!l||s!==l)),e.updateStatistic(),e.options.onCheckChange&&e.options.onCheckChange(),i.trigger("checkChange")},r.DEFAULTS={checkable:!0,checkOnClickRow:!0,ajaxForm:!1,selectable:!0,fixHeader:!a,fixFooter:!a,iframeWidth:900,replaceId:"self",nestLevelIndent:18,nested:!1,preserveNested:!0,hot:!1,iframeModalTrigger:".iframe"},t.fn.table=function(e){return this.each(function(){var n=t(this),o=n.data(i),a="object"==typeof e&&e;o||n.data(i,o=new r(this,a)),"string"==typeof e&&o[e]()})},r.NAME=i,t.fn.table.Constructor=r,t(function(){t('[data-ride="table"]').table()})}(jQuery,void 0),function(t,e,i){t.fn._ajaxForm=t.fn.ajaxForm;var n={timeout:e.config?e.config.timeout:0,dataType:"json",method:"post"},o="";t.fn.enableForm=function(e,n,o){return e===i&&(e=!0),this.each(function(){var i=t(this);n||i.find('[type="submit"]').attr("disabled",e?null:"disabled"),!o&&i.hasClass("load-indicator")&&i.toggleClass("loading",!e),i.toggleClass("form-disabled",!e)})},t.enableForm=function(e,i,n,o){"string"==typeof e||e instanceof t?e=t(e):(o=n,n=i,i=e,e=t("form")),e.enableForm(i!==!1,n,o)},t.disableForm=function(e,i,n){t.enableForm(e,!1,i,n)};var a=function(e,i,n){"string"==typeof i&&(n=i,i=null),n=n||"show",t.zui.messager?t.zui.messager[n](e,i):alert(e)};t.ajaxForm=function(s,r){var l=t(s);if(l.length>1)return l.each(function(){t.ajaxForm(this,r)});"function"==typeof r&&(r={complete:r}),r=t.extend({},n,l.data(),r);var h=r.beforeSubmit,c=r.error,d=r.success,u=r.finish;delete r.finish,delete r.success,delete r.onError,delete r.beforeSubmit,r=t.extend({beforeSubmit:function(n,a,s){if(l.removeClass("form-watched").enableForm(!1),(h&&h(n,a,s))!==!1){var r={},c=a.find('[type="file"]');r.fileapi=c.length&&c[0].files!==i,r.formdata=e.FormData!==i;var d=r.fileapi&&a.find('input[type="file"]:enabled').filter(function(){return""!==t(this).val()}),u=d.length,f="multipart/form-data",p=a.attr("enctype")==f||a.attr("encoding")==f,g=r.fileapi&&r.formdata,m=u&&!g||p&&!r.formdata;m&&(""==o&&(o=s.url),s.url!=o&&(s.url=o),s.url=s.url.indexOf("&")>=0?s.url+"&HTTP_X_REQUESTED_WITH=XMLHttpRequest":s.url+"?HTTP_X_REQUESTED_WITH=XMLHttpRequest")}},success:function(i,n,o){if((d&&d(i,n,o,l))!==!1){try{"string"==typeof i&&(i=JSON.parse(i))}catch(s){}if(null===i||"object"!=typeof i)return i?alert(i):a("No response.","danger");var h=r.responser?t(r.responser):l.find(".form-responser");h.length||(h=t("#responser"));var c=i.message,f=function(){var n=i.callback;if(n){var o=n.indexOf("("),a=(o>0?n.substr(0,o):n).split("."),s=e,r=a[0];a.length>1&&(r=a[1],"top"===a[0]?s=e.top:"parent"===a[0]&&(s=e.parent));var h=s[r];if("function"==typeof h){var c=[];return o>0&&")"==n[n.length-1]&&(c=t.parseJSON("["+n.substring(o+1,n.length-1)+"]")),c.push(i),h.apply(l,c)}}};if("success"===i.result){var p=r.locate||i.locate,g=r.closeModal||i.closeModal,m=r.ajaxReload||i.ajaxReload;if(l.enableForm(!0,!!(p||g||m)),c){var v=l.find('[type="submit"]').first(),y=!1;v.length&&(v.popover({container:"body",trigger:"manual",content:c,tipClass:"popover-in-modal popover-success popover-form-result",placement:i.placement||v.data("placement")||r.popoverPlacement||"right"}).popover("show"),setTimeout(function(){v.popover("destroy")},r.popoverTime||2e3),y=!0),h.length&&(h.html(''+c+"").show().delay(3e3).fadeOut(100),y=!0),y||a(c,"success")}if(u)return u(i,!0,l);if(g&&setTimeout(t.zui.closeModal,r.closeModalTime||2e3),f()===!1)return;if(p)if("loadInModal"==p){var b=t(".modal");setTimeout(function(){b.load(b.attr("ref"),function(){t(this).find(".modal-dialog").css("width",t(this).data("width")),t.zui.ajustModalPosition()})},1e3)}else"parent"===p||"top"===p?e[p]&&setTimeout(function(){e[p].location.reload()},1200):"reload"===p?setTimeout(function(){e.location.href=e.location.href},1200):setTimeout(function(){t.tabs?t.tabs.open(p):e.location.href=p},1200);if(m){var w=t(m);w.length&&w.load(e.location.href+" "+m,function(){w.find('[data-toggle="modal"]').modalTrigger()})}}else{if(l.enableForm(),"string"==typeof c)h.length?h.html(''+c+"").show().delay(3e3).fadeOut(100):a(c,"danger");else if("object"==typeof c){var x=!1,C=[];t.each(c,function(e,i){var n=t.isArray(i)?i.join(""):i,o=t("#"+e);if(!o.length)return void C.push(n);var a=e+"Label",s=t("#"+a);if(!s.length){var r=o.closest(".input-group").length,l=o.closest("td").length;s=t('
      ').appendTo(l?o.closest("td"):r?o.closest(".input-group").parent():o.parent())}s.empty().append(n),o.addClass("has-error");var h=function(){var e=t("#"+a);if(e.length)return e.remove(),o.removeClass("has-error"),!0};o.on("change input mousedown",h);var c=t("#"+e+"_chosen");if(c.length&&c.find(".chosen-single,.chosen-choices").addClass("has-error").on("mousedown",function(){h()===!0&&t(this).removeClass("has-error")}),!x){if(o.hasClass("chosen"))o.trigger("chosen:activate");else if(o.is("textarea")&&o.data("keditor")){var d=o.data("keditor");d.focus(),d.edit.doc.body.focus()}else o.focus();x=!0}}),C.length&&a(C.join(";"),"danger")}if(u)return u(i,!1,l);if(f()===!1)return}}},error:function(t,i,n){if((c&&c(t,i,n,l))!==!1){l.enableForm();var o="timeout"==i||"error"==i?e.lang?e.lang.timeout:i:t.responseText+i+n;a(o,"danger")}}},r),l._ajaxForm(r).data("zui.ajaxform",!0),l.on("click","[data-form-action]",function(){l.attr("action",t(this).data("formAction")).submit()})},t.setAjaxForm=function(e,i,n){t.ajaxForm(e,t.isPlainObject(i)?i:{finish:i,beforeSubmit:n})},t.fn.ajaxForm=function(e){return this.each(function(){t.ajaxForm(this,e)})},t.fn.setInputRequired=function(){return this.each(function(){var e=t(this),i=e.parent();i.is(".input-control,td")?i.addClass("required"):e.is(".chosen")?e.attr("required",null).next(".chosen-container").addClass("required"):i.addClass("required"),e.attr("required",null);var n=i.closest(".input-group");n.length&&1===n.find(".required,input[required],select[required]").length&&n.addClass("required")})},t(function(){t('.form-ajax,form[data-type="ajax"]').ajaxForm(),setTimeout(function(){var i=e.config.requiredFields,n=t("form");i&&(i=i.split(",")),i&&i.length&&t.each(i,function(t,e){n.find("#"+e).attr("required","required")}),n.find("input[required],select[required],textarea[required]").setInputRequired()},400),t('form[target="hiddenwin"]').on("submit",function(){var e=t(this);e.data("zui.ajaxform")||e.enableForm(!1).data("disabledTime",(new Date).getTime())}).on("click",function(){var e=t(this),i=e.data("disabledTime");i&&(new Date).getTime()-i>1e4&&e.enableForm(!0).data("disabledTime",null)})})}(jQuery,window,void 0),function(t){"use strict";var e="zui.searchList",i=function(t,e){if(t&&t.length)for(var i=0;i
      ').append(s)),i.$menu.append(s),i.$menu.removeClass("loading"),i.isLoaded=!0,e&&e(!0)},error:function(){i.$menu.removeClass("loading").append('
      '+(n.errorText||window.lang&&window.lang.timeout)+"
      "),e&&e(!1)}},n.ajax))},n.prototype.scrollTo=function(t){t.length&&t[0].scrollIntoViewIfNeeded&&t[0].scrollIntoViewIfNeeded({behavior:"smooth"})},n.prototype.getItems=function(){return this.$.find(this.options.selector).addClass("search-list-item")},n.prototype.getActiveItem=function(){return this.getItems().filter(".active:first")},n.prototype.search=function(e){var n=this,o=void 0===e||null===e||""===e;n.$.toggleClass("has-search-text",!o);var a=n.getItems().removeClass("active");if(o)a.removeClass("hidden");else{var s=t.trim(e).split(" ");a.each(function(){var e=t(this),n=e.text()+" "+(e.data("key")||e.data("filter"));e.toggleClass("hidden",!i(s,n))})}n.scrollTo(a.not(".hidden").first().addClass("active"))},n.DEFAULTS={selector:".list-group a:not(.not-list-item)",searchBox:".search-box",onSelectItem:null},t.fn.searchList=function(i){return this.each(function(){var o=t(this),a=o.data(e),s="object"==typeof i&&i;a||o.data(e,a=new n(this,s)),"string"==typeof i&&a[i]()})},n.NAME=e,t.fn.searchList.Constructor=n,t(function(){t('[data-ride="searchList"]').searchList()})}(jQuery),function(t){"use strict";var e="zui.labelSelector",i=function(n,o){var a=this;a.name=e,a.$=t(n),o=a.options=t.extend({},i.DEFAULTS,this.$.data(),o),a.$.hide(),a.update()};i.prototype.select=function(t){t+="",this.$wrapper.find(".label.active").removeClass("active"),this.$wrapper.find('.label[data-value="'+t+'"]').addClass("active"),this.$.val(t).trigger("change")},i.prototype.update=function(){var e=this,i=e.options,n=e.$wrapper;if(!n){if(i.wrapper)n=t(i.wrapper);else{var o=e.$.next();n=o.hasClass(".label-selector")?o:t('
      ')}n.parent().length||e.$.after(n),e.$wrapper=n,n.on("click",".label",function(i){var n=e.$.val(),o=t(this).data("value");e.hasEmptyValue!==!1&&o==n&&(o=e.hasEmptyValue),e.select(o),i.preventDefault()})}n.empty();var a=e.$.val();e.hasEmptyValue=!1,e.$.children("option").each(function(){var e=t(this),o={label:e.text(),value:e.val()},s=""===o.value||"0"===o.value,r=t(i.labelTemplate||'');i.labelClass&&!s&&r.addClass(i.labelClass),i.labelCreator?r=i.labelCreator(r):(r.data("option",o).attr("data-value",o.value),s&&!o.label?r.addClass("empty").append(''):r.text(o.label).toggleClass("active",a===o.value)),n.append(r)})},i.DEFAULTS={},t.fn.labelSelector=function(n){return this.each(function(){var o=t(this),a=o.data(e),s="object"==typeof n&&n;a||o.data(e,a=new i(this,s)),"string"==typeof n&&a[n]()})},i.NAME=e,t.fn.labelSelector.Constructor=i,t(function(){t('[data-provide="labelSelector"]').labelSelector()})}(jQuery),function(t){"use strict";var e="zui.fileInput",i=t.BYTE_UNITS={B:1,KB:1024,MB:1048576,GB:1073741824,TB:1099511627776},n=t.formatBytes=function(t,e,n){return void 0===e&&(e=2),n||(n=ts.fileMaxSize&&(h.val(""),(window.bootbox||window).alert(s.fileSizeError.format(n(s.fileMaxSize)))),r.update()}),r.update()};a.prototype.getFile=function(){var t=this.$input.prop("files");return t&&t[0]},a.prototype.update=function(){var t=this,e=t.$,i=t.getFile(),o=!i;e.toggleClass("normal",!o).toggleClass("empty",o),i?(t.oldName=i.name,e.find(".file-title").text(i.name).attr("title",i.name),e.find(".file-size").text(n(i.size)),e.find(".file-editbox").val(i.name).attr("size",i.name.length),t.options.onSelect&&t.options.onSelect(i,t)):e.find(".file-editbox").val("")},a.DEFAULTS={fileMaxSize:0,fileSizeError:"无法上传大于 {0} 的文件。"},t.fn.fileInput=function(i){return this.each(function(){var n=t(this),o=n.data(e),s="object"==typeof i&&i;o||n.data(e,o=new a(this,s)),"string"==typeof i&&o[i]()})},a.NAME=e,t.fn.fileInput.Constructor=a,t(function(){t('[data-provide="fileInput"]').fileInput()});var s="zui.fileInputList",r=function(e,i){var n=this;n.name=s;var o=n.$=t(e);i=n.options=t.extend({},r.DEFAULTS,this.$.data(),i),n.$template=o.find(".file-input").detach(),n.add()};r.prototype.add=function(){var t=this,e=t.options,i=t.$template.clone();"before"===e.appendWay?t.$.prepend(i):t.$.append(i),i.fileInput({fileMaxSize:e.eachFileMaxSize,fileSizeError:e.fileSizeError,onDelete:function(e){e.$.remove(),t.options.onDelete&&t.options.onDelete(e,t)},onSelect:function(e,i){t.add(),t.options.onSelect&&t.options.onSelect(e,i,t)}})},r.DEFAULTS={fileMaxSize:0,eachFileMaxSize:0,appendWay:"after",fileSizeError:"无法上传大于 {0} 的文件。"},t.fn.fileInputList=function(e){return this.each(function(){var i=t(this),n=i.data(s),o="object"==typeof e&&e;n||i.data(s,n=new r(this,o)),"string"==typeof e&&n[e]()})},r.NAME=s,t.fn.fileInputList.Constructor=r,t(function(){t('[data-provide="fileInputList"]').fileInputList()})}(jQuery),function(t){window.config||(window.config={}),t.createLink=window.createLink=function(e,n,o,a,s,r,l){if("object"==typeof e)return t.createLink(e.moduleName,e.methodName,e.vars,e.viewType,e.isOnlyBody,e.hash,e.tid);if(t.tabSession&&!l&&(l=t.tabSession.getTid()),a||(a=config.defaultView),s||(s=!1),o)for("string"==typeof o&&(o=o.split("&")),i=0;i'+d+"")}}t.val()||(time=e(a.format("hh:mm")),time=time-time%10+10,t.val(n(time)))};t.fn.timeSpanControl=function(i){return this.each(function(){var s=t(this),r=t.extend({},i,s.data()),l=s.find('[name="begin"],.control-time-begin'),h=s.find('[name="end"],.control-time-end'),c=function(){var t=l.val();if(s.find(".hide-empty-begin").toggleClass("hide",!t),t){var i=n(e(t)+30);h.find('option[value="'+i+'"]').length&&h.val(i),r.onChange&&r.onChange(h,i)}};if(s.data("timeSpanControlInit")){if(r.begin){var d=o(r.begin).format("hh:mm");l.find('option[value="'+d+'"]').length&&l.val(d),r.onChange&&r.onChange(l,d)}if(r.end){var u=o(r.end).format("hh:mm");h.find('option[value="'+u+'"]').length&&h.val(u),r.onChange&&r.onChange(h,u)}}else l.on("change",c),a(l,r.begin),a(h,r.end),s.data("timeSpanControlInit",!0);r.end||c()})},t.timeSpanControl={convertTimeToNum:e,convertNumToTime:n,initTimeSelect:a,createTime:o};var s=t.setSearchType=function(e,i){var n=t("#searchType");e||(e=n.val()),e=e||"bug",n.val(e);var o=t("#searchTypeMenu");o.find("li.selected").removeClass("selected");var a=o.find('a[data-value="'+e+'"]'),s=a.text();a.parent().addClass("selected"),t("#searchTypeName").text(s),i||t("#searchInput").focus()};t.gotoObject=function(e,i){if(e||(e=t("#searchType").val()),i||(i=t("#searchInput").val()),i&&e)if(i=i.replace(/[^\d]/g,"")){var n=e.split("-");e=n[0];var o=n.length>1?n[1]:"testsuite"===e?"library":"view",a=t.createLink(e,o,"id="+i);t.apps?t.apps.open(a):window.location.href=a}else{var s={zh_cn:"请输入数字ID进行搜索",zh_tw:"請輸入數值ID行搜索"};alert(lang.searchTip||s[t.zui.clientLang()]||"Please enter a numberic id to search")}t("#searchInput").val(i).focus()},t(function(){s(null,!0),t(document).on("keydown",function(e){e.ctrlKey&&71===e.keyCode&&(t("#searchInput").val("").focus(),e.stopPropagation(),e.preventDefault())})}),t.removeAnchor=window.removeAnchor=function(t){var e=t.lastIndexOf("#");return e>-1?t.substr(0,e):t},t.refreshPage=function(t){t?window.parent.location.reload():window.location.reload()},t.selectLang=window.selectLang=function(e){t.cookie("lang",e,{expires:config.cookieLife,path:config.webRoot}),t.ajaxSendScore("selectLang"),t.refreshPage(1)},t.selectTheme=window.selectTheme=function(e){t.cookie("theme",e,{expires:config.cookieLife,path:config.webRoot}),t.ajaxSendScore("selectTheme"),t.refreshPage(1)},t.zui.Picker&&t.zui.Picker.enableChosen(),t.chosenDefaultOptions={middle_highlight:!0,disable_search_threshold:1,compact_search:!0,allow_single_deselect:!0,placeholder_text_single:" ",placeholder_text_multiple:" ",search_contains:!0,max_drop_width:500,max_drop_height:245,no_wrap:!0,drop_direction:function(){var e=t(this.container).closest(".table-responsive:not(.scroll-none)");if(e.length){if(this.drop_directionFixed)return this.drop_directionFixed;e.css("position","relative");var i="down",n=this.container.find(".chosen-drop"),o=this.container.position(),a=n.outerHeight();return o.top>=a&&o.top+31+a>e.outerHeight()&&(i="up"),this.drop_directionFixed=i,i}return"auto"}},t.chosenSimpleOptions=t.extend({},t.chosenDefaultOptions,{disable_search_threshold:6}),t.fn._chosen=t.fn.chosen,t.fn.chosen=function(e){return"string"==typeof e?this._chosen(e):this.each(function(){var i=t(this).addClass("chosen-controled");return i._chosen(t.extend({},i.hasClass("chosen-simple")?t.chosenSimpleOptions:t.chosenDefaultOptions,i.data(),e))})},t.fn.chosen.Constructor=t.fn._chosen.Constructor,t(function(){t(".chosen,.chosen-simple").each(function(){var e=t(this);e.closest(".template").length||e.chosen()})}),t.extend(t.fn.pager.Constructor.DEFAULTS,{maxNavCount:8,prevIcon:"icon-angle-left",nextIcon:"icon-angle-right",firstIcon:"icon-first-page",lastIcon:"icon-last-page",navEllipsisItem:"…",menuDirection:"dropup",pageSizeOptions:[5,10,15,20,25,30,35,40,45,50,100,200,500,1e3,2e3],elements:["total_text","size_menu","first_icon","prev_icon",'
      {page}/{totalPage}
      ',"next_icon","last_icon"],onPageChange:function(e,i){e.recPerPage!==i.recPerPage&&t.cookie(this.options.pageCookie,e.recPerPage,{expires:config.cookieLife,path:config.webRoot}),e.recPerPage!==i.recPerPage&&(window.location.href=this.createLink())}}),t.extend(!0,t.zui.Messager.DEFAULTS,{cssClass:"messagger-zt",icons:{success:"check-circle",info:"chat-line",warning:"exclamation-sign",danger:"exclamation-sign"}}),t.fn.reverseOrder=function(){return this.each(function(){var e=t(this);e.prependTo(e.parent())})};var r=function(e,i){var n=t(e);if(!n.data("historiesInited")){n.data("historiesInited",1),i=t.extend({},n.data(),i);var o=n.find(".histories-list"),a=!0,s=!1;n.on("click",".btn-reverse",function(){o.children("li").reverseOrder(),a=!a,t(this).find(".icon").toggleClass("icon-arrow-up",a).toggleClass("icon-arrow-down",!a);var e="#lastComment",i=t(e);i.length&&window.KindEditor&&(window.KindEditor.remove(e),i.kindeditor())}).on("click",".btn-expand-all",function(){var e=t(this).find(".icon");s=!s,e.toggleClass("icon-plus",!s).toggleClass("icon-minus",s),o.children("li").toggleClass("show-changes",s)}).on("click",".btn-expand",function(){t(this).closest("li").toggleClass("show-changes")}).on("click",".btn-strip",function(){var e=t(this),n=e.find(".icon"),o=n.hasClass("icon-code");n.toggleClass("icon-code",!o).toggleClass("icon-text",o),e.attr("title",o?i.original:i.textdiff),e.closest("li").toggleClass("show-original",o)}),o.find(".btn-strip").attr("title",i.original);var r=n.find(".modal-comment").modal({show:!1}).on("shown.zui.modal",function(){var t=r.find("#comment");t.length&&(t.focus(),window.editor&&window.editor.comment&&window.editor.comment.focus())}).on("show.zui.modal",function(){var e=r.find("#comment");e.length&&!e.data("keditor")&&t.fn.kindeditor&&e.kindeditor()});n.on("click",".btn-comment",function(t){r.modal("toggle"),t.preventDefault()}).on("click",".btn-edit-comment,.btn-hide-form",function(){t(this).closest("li").toggleClass("show-form")});var l=n.find(".comment-edit-form");l.ajaxForm({success:function(t,e,i,n){setTimeout(function(){l.closest("li").removeClass("show-form")},2e3)}})}};t.fn.histories=function(t){return this.each(function(){r(this,t)})},t(function(){t(".histories").histories()});var l=0,h=0;t.toggleSidebar=function(e){var i=t("#sidebar");if(i.length){var n=t("main");if(void 0===e)e=n.hasClass("hide-sidebar");else if(e&&!n.hasClass("hide-sidebar"))return;n.toggleClass("hide-sidebar",!e),clearTimeout(l),t.zui.store.set(h,e);var o=i.children(".cell"),a={overflow:"visible",maxHeight:"initial"};e?(i.addClass("showing"),l=setTimeout(function(){i.removeClass("showing"),i.trigger("sidebar.toggle",e)},210)):(i.trigger("sidebar.toggle",e),t(window).width()<1900&&(a={overflow:"hidden",maxHeight:t(window).height()-45})),o.css(a)}};var c=t.initSidebar=function(){var e=t("#sidebar");if(e.length){if(e.data("init"))return!0;h="sidebar:"+(e.data("id")||config.currentModule+"/"+config.currentMethod);var i=t("main");if(i.length){i.on("click",".sidebar-toggle",function(){t.toggleSidebar(i.hasClass("hide-sidebar"))});var n=t.zui.store.get(h,e.data("hide")!==!1);n===!1&&e.addClass("no-animate"),t.toggleSidebar(n),n===!1&&setTimeout(function(){e.removeClass("no-animate")},500);var o=e.find(".sidebar-toggle");if(o.length){var a=function(){var e=o[0].getBoundingClientRect(),i=t(window).height(),n=Math.max(0,Math.floor(Math.min(i-40,e.top+e.height)-Math.max(e.top,0))/2)+(e.top<0?0-e.top:0);o.removeClass("fade").find(".icon").css("top",n+(t.zui.browser.isIE()?(i-80)/2:0))};a(),e.data("init",1).on("sidebar.toggle",a);var s=t.zui.browser.isIE()?1500:0,r=0,l=null,c=function(){var t=Date.now();return l&&(clearTimeout(l),l=null),t-rtr input[type="checkbox"]:checked');i.each(function(){var i=parseInt(t(this).val(),10);NaN!==i&&e.push(i)}),t.cookie("checkedItem",e.join(","),{expires:config.cookieLife,path:config.webRoot})},t.extend(t.fn.modal.bs.Constructor.DEFAULTS,{scrollInside:!0,backdrop:"static",headerHeight:100}),t.extend(t.zui.ModalTrigger.DEFAULTS,{scrollInside:!0,backdrop:"static",headerHeight:40}),t.fn.initIframeModal=function(){return this.each(function(){var e=t(this);if(!e.parents('[data-ride="table"],.skip-iframe-modal').length){var i={type:"iframe"};e.hasClass("export")&&t.extend(i,{width:800,shown:setCheckedCookie},e.data()),e.modalTrigger(i)}})},t(function(){t("a.iframe,.export").initIframeModal()});var d=function(){var e,i,n=t(this),o=t.extend({limitSize:40,suffix:"…"},n.data()),a=n.text();if(a.length>o.limitSize){e=a,i=a.substr(0,o.limitSize)+o.suffix,n.text(i).addClass("limit-text-on");var s=o.toggleBtn?t(o.toggleBtn):n.next(".text-limit-toggle");s.text(s.data("textExpand")),s.on("click",function(){var t=n.toggleClass("limit-text-on").hasClass("limit-text-on");n.text(t?i:e),s.text(s.data(t?"textExpand":"textCollapse"))})}else(o.toggleBtn?t(o.toggleBtn):n.next(".text-limit-toggle")).hide()};t.fn.textLimit=function(){return this.each(d)},t(function(){t(".text-limit").textLimit()}),t.fixedTableHead=window.fixedTableHead=function(e,i){var n=t(e);if(n.is("table")||(n=n.find("table")),n.length){var o=t(i||window),a=null,s=function(){var e=n.children("thead"),i=e[0].getBoundingClientRect(),o=n.next(".fixed-head-table");if(i.top<0){var s=e.width();if(o.length){if(a!==s){a=s;var r=o.find("th"); +e.find("th").each(function(e){r.eq(e).width(t(this).width())})}}else{var o=t("
      ").addClass(n.attr("class")),l=e.clone(),r=l.find("th");e.find("th").each(function(e){r.eq(e).width(t(this).width())}),o.append(l).insertAfter(n)}o.css({left:i.left,width:i.width}).show()}else o.hide()};o.on("scroll",s).on("resize",s),s()}},t(document).on("click","tr[data-url]",function(){var e=t(this),i=e.data("href")||e.data("url");i&&(window.location.href=i)}),"yes"===config.onlybody&&self===parent&&(window.location.href=window.location.href.replace("?onlybody=yes","").replace("&onlybody=yes","")),t(function(){t("body").addClass("m-{currentModule}-{currentMethod}".format(config))});var u,f,p,g,m,v=function(){u||(u=t("#subNavbar"),f=t("#pageNav"),p=t("#pageActions"),g=u.children(".nav"),m=g.outerWidth());var e=u.outerWidth(),i=f.outerWidth()||0,n=p.outerWidth()||0;if(i=i?i+15:0,n=n?n+15:0,!i&&!n)return void g.css({maxWidth:null,left:null,position:"static"});var o=Math.max(300,e-i-n),a=Math.min(o,m),s=(e-a)/2,r=i&&s.btn-toolbar");if(e.length){var i,n,o=e.children(),a=o.length,s=!1,r=null;if(a)for(o.each(function(e){i=t(this),n=i.is(".divider"),n&&!r&&i.hide(),s||n||(s=!0),r=n?null:i,!n||e!==a-1&&0!==e||i.hide()});i.length&&i.is(".divider");)i=i.hide().prev();s||e.hide()}};t(function(){t(".input-group,.btn-group").fixInputGroup(),k()}),window.holders&&t.each(window.holders,function(e){var i=t("#"+e);i.length&&i.is("input")&&i.attr("placeholder",window.holders[e])}),t(function(){var e=t(".table-responsive"),i=t.fixTableResponsive=function(){e.each(function(){this.scrollHeight-3<=this.clientHeight&&this.scrollWidth-3<=this.clientWidth?t(this).addClass("scroll-none").css("overflow","visible"):t(this).removeClass("scroll-none").css("overflow","auto")})};e.length&&(t(window).on("resize",i),setTimeout(i,100))});var T=function(){var e=this,i=t(e),n=i.closest("tr").find("textarea");if(n.length){var o=32;n.each(function(){var e=t(this).closest("td"),i=e.css("height");e.css("height",this.style.height),this.style.height="auto";var n=this.value?this.scrollHeight+2:32;o=Math.max(o,n),e.css("height",i)}),n.css("height",o)}else{e.style.height="auto";var a=e.value?e.scrollHeight+2:32;e.style.height=a+"px"}};t.autoResizeTextarea=function(e){t(e).each(T)},t(function(){t("textarea.autosize").each(T),t(document).on("input paste change","textarea.autosize",T)}),t(function(){var e=t("#dropMenu,.drop-menu");e.length&&e.on("click",".toggle-right-col",function(e){t(this).closest("#dropMenu,.drop-menu").toggleClass("show-right-col"),e.stopPropagation(),e.preventDefault()})});var S="undefined"!=typeof InstallTrigger;t.zui.browser.firefox=S,t("html").toggleClass("is-firefox",S).toggleClass("not-firefox",!S),t(function(){var e=t("#mainContent>.main-col"),i=e.children(".main-actions");if(i.length){var n=i.prev();if(i.length&&n.length){t('
      ').css("height",i.outerHeight()).insertAfter(i);var o=0,a=function(){var e=n[0].getBoundingClientRect(),s=e.top+e.height+120>t(window).height();if(t("body").toggleClass("main-actions-fixed",s),s){var r=n.width();r?i.width(r):o<10&&setTimeout(a,1e3)}o++};t.resetToolbarPosition=a,a(),t(window).on("resize scroll",a)}}}),t(document).on("show.zui.modal",function(e){t("body.body-modal").length&&window.parent&&window.parent!==window&&t(e.target).is(".modal")&&window.parent.$("body").addClass("hide-modal-close")}).on("hidden.zui.modal",function(){t("body.body-modal").length&&window.parent&&window.parent!==window&&window.parent.$("body").removeClass("hide-modal-close")}),t(function(){var e=t(".dropdown-menu.with-search");e.length&&(e.find(".menu-search").on("click",function(t){return t.stopPropagation(),!1}),e.on("keyup change paste","input",function(){var e=t(this),i=e.closest(".dropdown-menu.with-search"),n=e.val().toLowerCase(),o=i.find(".option");""==n?o.removeClass("hide"):o.each(function(){var e=t(this);e.toggleClass("hide",e.text().toString().toLowerCase().indexOf(n)<0&&e.data("key").toString().toLowerCase().indexOf(n)<0)})}),e.parents(".dropdown-submenu").one("mouseenter",function(){var e=t(this).find(".dropdown-list")[0];e&&e.getBoundingClientRect&&setTimeout(function(){var t=270,i=e.getBoundingClientRect();i.top<0&&(t=Math.min(270,i.height)+i.top),e.style.maxHeight=Math.min(270,t)+"px"},50)})),t(".dropdown-menu.with-search .menu-search").on("click",function(t){return t.stopPropagation(),!1})})}(jQuery),function(t){function e(){var e=window.parent,i=config.currentModule,n=config.currentMethod,o="index"===i&&"index"===n,a="#_single"===location.hash||o||!t("#mainHeader,#editorNav").length||"tutorial"===i||"install"===i||"upgrade"===i||"user"===i&&("login"===n||"deny"===n)||"my"===i&&"changepassword"===n||t("body").hasClass("allow-self-open"),s=location.href;if(e===window&&!a){var r=location.pathname+location.search;return void(location.href=t.createLink("index","index","")+"#app="+encodeURIComponent(r))}if(e!==window&&e.$.apps){o&&e.location.reload();var l=window.name;if(0===l.indexOf("app-")){t.apps=window.apps=e.$.apps;var h=l.substr(4);t.appCode=h,t(document).on("click",function(t){var i=e.document.getElementById(window.name);if(i){var n=e.document.getElementById(i.name)||i;n&&n.dispatchEvent(new Event(t.type,{bubbles:!0}))}}).on("click","a,.open-in-app,.show-in-app",function(e){var i=t(this);if(!i.is("[data-modal],[data-toggle],[data-ride],[data-tab],.iframe,.not-in-app,[target]")&&!i.data("zui.modaltrigger")){var n=i.hasClass("show-in-app")?"":i.attr("href")||(i.is("a")?"":i.data("url")),o=i.data("app")||i.data("group");if(n){if(0===n.indexOf("javascript:")||"#"===n[0])return;var a=t.parseLink(n);if("index"===a.moduleName&&"index"===a.methodName)return window.location.reload(),void e.preventDefault()}else if(!o)return;o||(o=t.apps.getAppCode(n)),o&&("help"===o&&(t.apps.appsMap.help.text=i.text(),t.apps.appsMap.help.url||(t.apps.appsMap.help.url=n)),t.apps.open(n,o)&&e.preventDefault())}}),t.apps.updateUrl(h,s,document.title)}}}function i(){var e=t("#navbar>.nav");if(e.length){var i=t("#heading"),n=+i.css("left").replace("px",""),o=i.outerWidth(),a=e.width(),s=t("#mainHeader>.container").width()-2*n,r=Math.floor((s-a)/2);e.css("marginLeft",r>>0;if(0===o)return!1;for(var a=0|e,s=Math.max(a>=0?a:o-Math.abs(a),0);s1&&("?"===e[0]&&(e=e.substr(1)),e.split("&").forEach(function(t){var e=t.split("=",2);if(e.length>1)try{i[e[0]]=decodeURIComponent(e[1])}catch(n){i[e[0]]=""}else i[e[0]]=""})),t?i[t]:i},t.parseLink=function(e){if(!e)return{};var i=0===e.indexOf("http:")||0===e.indexOf("https:");if(i){var n=window.location.origin;if(e.indexOf(n)<0)return{};e=e.substr((n+config.webRoot).length)}var o=e.split("#"),a=o[0].split("?"),s=a[1],r=s?t.getSearchParam("",s):{},l=a[0],h={isOnlyBody:"yes"===r.onlybody,vars:[],hash:o[1]||"",params:r,tid:r.tid||""};if("GET"===config.requestType){h.moduleName=r[config.moduleVar]||"index",h.methodName=r[config.methodVar]||"index",h.viewType=r[config.viewVar]||config.defaultView;for(var c in r)c!==config.moduleVar&&c!==config.methodVar&&c!==config.viewVar&&"onlybody"!==c&&"tid"!==c&&h.vars.push([c,r[c]])}else{var d=l.lastIndexOf("/");d===l.length-1&&(l=l.substr(0,d),d=l.lastIndexOf("/")),d>=0&&(l=l.substr(d+1));var u=l.lastIndexOf(".");u>=0?(h.viewType=l.substr(u+1),l=l.substr(0,u)):h.viewType=config.defaultView;var f=l.split(config.requestFix);if(h.moduleName=f[0]||"index",h.methodName=f[1]||"index",f.length>2)for(var p=2;p.nav>li").length>10&&(i(),t(window).on("resize",i)),setTimeout(n,1e3)})}(jQuery),$.zui.lang("de",{"zui.pager":{pageOfText:"Seite {0}",prev:"Zurück",next:"Nächste Seite",first:"Erste Seite",last:"Letzte Seite","goto":"Goto",pageOf:"Seite {page}",totalPage:"{totalPage} Seiten",totalCount:"Total: {recTotal} Artikel",pageSize:"{recPerPage} Artikel pro Seite",itemsRange:"Seiten {start} bis {end}",pageOfTotal:"Seite {page}/{totalPage}"},"zui.boards":{append2end:"Gehen Sie zum Ende"},"zui.browser":{tip:"Online. Sorgenfrei. Aktualisiere deinen Browser noch heute!"},"zui.calendar":{weekNames:["Son","Mon","Die","Mit","Don","Fri","Sam"],monthNames:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],today:"Heute",year:"{0}Jahr",month:"{0}Monat",yearMonth:"{0}-{1}"},"zui.chosenIcons":{emptyIcon:"[Kein Icon]",commonIcons:"Gemeinsame Symbole",webIcons:"Web-Symbol",editorIcons:"Editor-Symbol",directionalIcons:"Pfeil Zusammenfluss",otherIcons:"Andere Symbole"},"zui.colorPicker":{errorTip:"Kein gültiger Farbwert"},"zui.datagrid":{errorCannotGetDataFromRemote:"Daten vom Remote-Server ({0}) können nicht abgerufen werden.",errorCannotHandleRemoteData:"Die vom Remote-Server zurückgegebenen Daten können nicht verarbeitet werden."},"zui.guideViewer":{prevStep:"Vorheriger Schritt",nextStep:"Nächster Schritt"},"zui.tabs":{reload:"Neu laden",close:"Schliessen",closeOthers:"Schließen Sie andere Registerkarten",closeRight:"Schließen Sie die rechte Registerkarte",reopenLast:"Letzten geschlossenen Tab wiederherstellen",errorCannotFetchFromRemote:"Inhalt kann nicht vom Remote-Server abgerufen werden ({0})."},"zui.uploader":{},datetimepicker:{days:["Sonntag","Montag","Diensteg","Mittwoch","Donnerstag","Freitag","Samstag"],daysShort:["Son","Mon","Die","Mit","Don","Fri","Sam"],daysMin:["Son","Mon","Die","Mit","Don","Fri","Sam"],months:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],monthsShort:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],today:"Heute",suffix:[],meridiem:[]},chosen:{no_results_text:"Nicht gefunden"},bootbox:{OK:"OK",CANCEL:"Stornieren",CONFIRM:"Bestätigen"}}),$.zui.lang("fr",{"zui.pager":{pageOfText:"Page {0}",prev:"Prev",next:"Suivant",first:"First",last:"Last","goto":"Goto",pageOf:"Page {page}",totalPage:"{totalPage} pages",totalCount:"Total: {recTotal} items",pageSize:"{recPerPage} per page",itemsRange:"De {start} à {end}",pageOfTotal:"Page {page} de {totalPage}"},"zui.boards":{append2end:"Aller jusqu'au bout"},"zui.browser":{tip:"Naviguez sans crainte sur Internet. Mettez votre navigateur à jour dès aujourd'hui!"},"zui.calendar":{weekNames:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],monthNames:["Jan","Fév","Mar","Avr","Mai","Juin","Juil","Août","Sep","Oct","Nov","Déc"],today:"Aujourd'hui",year:"{0} Année",month:"{0} Mois",yearMonth:"{0}-{1}"},"zui.chosenIcons":{emptyIcon:"[Aucune icône]",commonIcons:"Icônes communes",webIcons:"Icône Web",editorIcons:"Icône de l'éditeur",directionalIcons:"Flèche confluence",otherIcons:"Autres icônes"},"zui.colorPicker":{errorTip:"Pas une valeur de couleur valide"},"zui.datagrid":{errorCannotGetDataFromRemote:"Impossible d'obtenir les données du serveur distant ({0}).",errorCannotHandleRemoteData:"Impossible de traiter les données renvoyées par le serveur distant."},"zui.guideViewer":{prevStep:"Étape précédente",nextStep:"Prochaine étape"},"zui.tabs":{reload:"Recharger",close:"Fermer",closeOthers:"Fermez les autres onglets",closeRight:"Fermer l'onglet de droite",reopenLast:"Restaurer le dernier onglet fermé",errorCannotFetchFromRemote:"Impossible d'obtenir le contenu du serveur distant ({0})."},"zui.uploader":{},datetimepicker:{days:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"],daysShort:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],daysMin:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],months:["Jan","Fév","Mar","Avr","Mai","Juin","Juil","Août","Sep","Oct","Nov","Déc"],monthsShort:["Jan","Fév","Mar","Avr","Mai","Juin","Juil","Août","Sep","Oct","Nov","Déc"],today:"Aujourd'hui",suffix:[],meridiem:[]},chosen:{no_results_text:"Pas trouvé"},bootbox:{OK:"D'accord",CANCEL:"Annuler",CONFIRM:"Confirmer"}}); diff --git a/www/theme/blue/style.css b/www/theme/blue/style.css index 37329b688f..7ef1317a5e 100644 --- a/www/theme/blue/style.css +++ b/www/theme/blue/style.css @@ -1,6 +1,6 @@ /*! - * ZUI: Zentao Theme - blue - v1.9.2 - 2021-09-03 + * ZUI: Zentao Theme - blue - v1.9.2 - 2021-09-27 * http://openzui.com * GitHub: https://github.com/easysoft/zui.git * Copyright (c) 2021 cnezsoft.com; Licensed MIT - */a{color:#3c4353}a:focus,a:hover{color:#2b80ff}.btn{color:#3c4353;background-color:#fff;border-color:#d6dae3;border-radius:4px}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#3c4353;background-color:#ebebeb;border-color:#b2b9ca;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#b8bfce;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d6dae3}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#3c4353;background-color:#ebebeb;border-color:#b2b9ca;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#b8bfce;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d6dae3}.btn-primary{color:#fff;background-color:#2b80ff;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#0268ff;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#0059de;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#2b80ff;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#0268ff;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#0059de;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#2b80ff;border-color:transparent}.btn-warning{color:#fff;background-color:#ff9800;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#d68000;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#b36a00;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ff9800;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#d68000;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#b36a00;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ff9800;border-color:transparent}.btn-danger{color:#fff;background-color:#ff5d5d;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#ff3434;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#f11;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#ff5d5d;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#ff3434;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#f11;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#ff5d5d;border-color:transparent}.btn-success{color:#fff;background-color:#00da88;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#00b16f;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#008e58;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#00da88;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#00b16f;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#008e58;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#00da88;border-color:transparent}.btn-info{color:#2b80ff;background-color:#ebf3fe;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#2b80ff;background-color:#c4dcfc;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#a2c7fa;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#ebf3fe;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#2b80ff;background-color:#c4dcfc;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#a2c7fa;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#ebf3fe;border-color:transparent}.btn-link{color:#3c4353;background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover,.btn-link[disabled],fieldset[disabled] .btn-link{border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link:focus,.btn-link:hover{color:#2b80ff}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#cbd0db}.popover,.tooltip-inner{border-radius:4px}.label{border-radius:3px}.label-badge{border-radius:9px}.label-dot{border-radius:5px}.label-primary{background-color:#2b80ff}.label-primary[href]:focus,.label-primary[href]:hover{color:#fff;background-color:#0063f7}.label-primary.label-outline{color:#2b80ff;background:0 0;border:1px solid #2b80ff}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#0063f7}.label-success{background-color:#00da88}.label-success[href]:focus,.label-success[href]:hover{color:#fff;background-color:#00a768}.label-success.label-outline{color:#00da88;background:0 0;border:1px solid #00da88}.label-success[href]:focus,.label-success[href]:hover{background-color:#00a768}.label-info{background-color:#2196f3}.label-info[href]:focus,.label-info[href]:hover{color:#fff;background-color:#0c7cd5}.label-info.label-outline{color:#2196f3;background:0 0;border:1px solid #2196f3}.label-info[href]:focus,.label-info[href]:hover{background-color:#0c7cd5}.label-warning{background-color:#ff9800}.label-warning[href]:focus,.label-warning[href]:hover{color:#fff;background-color:#cc7a00}.label-warning.label-outline{color:#ff9800;background:0 0;border:1px solid #ff9800}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#cc7a00}.label-danger{background-color:#ff5d5d}.label-danger[href]:focus,.label-danger[href]:hover{color:#fff;background-color:#ff2a2a}.label-danger.label-outline{color:#ff5d5d;background:0 0;border:1px solid #ff5d5d}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#ff2a2a}.btn-primary .label-badge,.btn-primary .label-dot{background-color:#91bdff}.text-primary{color:#2b80ff}.text-primary:hover{color:#0063f7}.text-warning{color:#ff9800}.text-warning:hover{color:#cc7a00}.text-danger{color:#ff5d5d}.text-danger:hover{color:#ff2a2a}.text-success{color:#00da88}.text-success:hover{color:#00a768}.text-info{color:#2196f3}.text-info:hover{color:#0c7cd5}.text-important{color:#bd7b46}.text-important:hover{color:#996337}.text-special{color:#8666b8}.text-special:hover{color:#6c4aa1}.text-muted a:active,.text-muted a:hover{color:#3c4353}.text-link:active,.text-link:hover{color:#3c4353}.bg-primary{background-color:#2b80ff}a.bg-primary:hover{background-color:#0063f7}.hl-primary{background-color:#ebf3fe}a.hl-primary:hover{background-color:#bad6fc}.progress{background-color:#ebf3fe;border-radius:3px}.progress-bar{color:#fff;background-color:#2b80ff;border-radius:3px}.form-control{border-radius:2px}.form-control.focus,.form-control:focus{border-color:#2b80ff;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(43,128,255,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(43,128,255,.6)}.form-control:focus{border-color:#2b80ff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(43,128,255,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(43,128,255,.6)}.form-condensed .btn,.form-condensed .form-control{border-radius:4px}.switch>input:checked+label:before{background-color:#2b80ff;border-color:#2b80ff}.switch input:focus+label{color:#2b80ff}.switch input:focus+label:before{border-color:#2b80ff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #2b80ff;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #2b80ff}.checkbox-primary>label:after,.radio-primary>label:after{background:#fff;border:1px solid #838a9d}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#2b80ff;border-color:#2b80ff}.checkbox-primary.checked>label:before,.checkbox-primary>input:checked+label:before,.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{color:#fff}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#2b80ff;-webkit-box-shadow:0 0 8px #2b80ff;box-shadow:0 0 8px #2b80ff}.checkbox-primary input:disabled+label:after,.checkbox-primary.disabled>label:after,.radio-primary input:disabled+label:after,.radio-primary.disabled>label:after{background-color:#e5e5e5;border-color:#bbb}.checkbox-primary input:disabled:checked+label:after,.checkbox-primary.checked.disabled>label:after,.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#bbb}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#fff;border-color:#2b80ff}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#2b80ff}.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#fff;border-color:#bbb}.radio-primary input:disabled:checked+label:before,.radio-primary.checked.disabled>label:before{background-color:#bbb}.form-control:focus+.input-control-label-left{color:#16a8f8}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.input-group-addon{background-color:#eee}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon{border-radius:4px}.input-group-btn.fix-border>.btn{border-radius:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.list-group-item{background-color:#fff;border:1px solid #cbd0db}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{color:#3c4353;text-decoration:none;background-color:#ebf3fe}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{color:#fff;background-color:#2b80ff;border-color:#2b80ff}.list-group-item.active .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#e6e6e6}.list-group-item-heading{color:#3c495c}.navbar-toggle{border-radius:4px}@media (min-width:768px){.navbar{border-radius:4px}}.navbar-inverse{background-color:#16a8f8;border-color:#068cd5}.navbar-inverse .navbar-nav>li.nav-heading{background-color:#079ced}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{background-color:#34b3f9}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{background-color:#48baf9}.navbar-inverse .navbar-toggle{border-color:#48baf9}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#079ced}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#0795e3}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#48baf9}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#068cd5}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{background-color:#34b3f9}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#48baf9}}.navbar-fixed-left.navbar-inverse .navbar-header,.navbar-fixed-left.navbar-inverse .navbar-nav{border-bottom:1px solid #48baf9;-webkit-box-shadow:inset 0 -1px 0 #068cd5;box-shadow:inset 0 -1px 0 #068cd5}.navbar-fixed-left.navbar-inverse.navbar-collapsed .navbar-nav>li.nav-heading:hover{color:#dadee5;background-color:#0792df}.nav>li>a:focus,.nav>li>a:hover{color:#2b80ff}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{border-color:#3c4353}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{background-color:#2b80ff}.nav-primary>li:first-child>a{border-top-left-radius:4px;border-bottom-left-radius:4px}.nav-primary>li:last-child>a{border-top-right-radius:4px;border-bottom-right-radius:4px}.nav-primary>li>a{border:1px solid #cbd0db}.nav-primary>li.active>a,.nav-primary>li.active>a:focus,.nav-primary>li.active>a:hover{color:#fff;background-color:#2b80ff;border-color:#2b80ff}.nav-secondary>li.active>a,.nav-secondary>li.active>a:focus,.nav-secondary>li.active>a:hover{color:#2b80ff;border-bottom-color:#2b80ff}.nav-stacked.nav-primary>li,.nav-stacked.nav-primary>li>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.nav-stacked.nav-primary>li:first-child.nav-heading,.nav-stacked.nav-primary>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px}.nav-stacked.nav-primary>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.nav-stacked.nav-primary>li.nav-heading{background-color:#f1f1f1;border:1px solid #cbd0db}.nav-stacked.nav-secondary>li>a{border-top-right-radius:4px;border-bottom-right-radius:4px;-webkit-box-shadow:inset 2px 0 0 #f5f5f5;box-shadow:inset 2px 0 0 #f5f5f5}.nav-stacked.nav-secondary>li>a:hover{-webkit-box-shadow:inset 2px 0 0 #eee;box-shadow:inset 2px 0 0 #eee}.nav-stacked.nav-secondary>li.active>a,.nav-stacked.nav-secondary>li.active>a:focus,.nav-stacked.nav-secondary>li.active>a:hover{background-color:#f5f5f5;-webkit-box-shadow:inset 2px 0 0 #2b80ff;box-shadow:inset 2px 0 0 #2b80ff}.nav-stacked.nav-secondary>li.nav-heading{border-bottom:1px solid #cbd0db}.nav-tabs>li>a{border-radius:4px 4px 0 0}.pager{border-radius:4px}.pager>li>a,.pager>li>span{background-color:#fff;border:1px solid #cbd0db}.pager>li:first-child>a,.pager>li:first-child>span{border-top-left-radius:4px;border-bottom-left-radius:4px}.pager>li:last-child>a,.pager>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pager>li>a:focus,.pager>li>a:hover,.pager>li>span:focus,.pager>li>span:hover{background-color:#eee}.pager>li.active>a,.pager>li.active>a:hover,.pager>li.active>span,.pager>li.active>span:hover{color:#fff;background-color:#2b80ff;border-color:#2b80ff}.pager>li.disabled>a,.pager>li.disabled>a:focus,.pager>li.disabled>a:hover,.pager>li.disabled>span,.pager>li.disabled>span:focus,.pager>li.disabled>span:hover{color:#cbd0db;background-color:#fff;border-color:#cbd0db}.panel{border-radius:4px}.panel>.panel-heading{background-image:none;border-top-left-radius:4px;border-top-right-radius:4px}.panel-group .panel{border-radius:4px}.dashboard .panel{-webkit-box-shadow:none;box-shadow:none}.panel-primary{border-color:#2b80ff}.panel-primary>.panel-heading{color:#fff;background-color:#2b80ff;border-color:#2b80ff}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#2b80ff}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#2b80ff}.panel-danger>.panel-body,.panel-info>.panel-body,.panel-primary>.panel-body,.panel-success>.panel-body,.panel-warning>.panel-body{-webkit-box-shadow:none;box-shadow:none}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#ebf3fe}.table tr.active>td,.table tr.active>th,.table tr>td.active,.table tr>th.active{background-color:#ffe9c6}table.tablesorter thead tr .headerSortDown:after,table.tablesorter thead tr .headerSortUp:after{color:#3c4353!important}.chosen-container-single .chosen-search input[type=text]:focus,.chosen-container-single .chosen-search:focus{border-color:#2b80ff!important}.chosen-container-single .chosen-single{border-radius:2px!important}.chosen-container-single.chosen-with-drop .chosen-single{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-single.chosen-with-drop.chosen-up .chosen-single{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#2b80ff!important;border-bottom-left-radius:#2b80ff!important}.chosen-container .chosen-results li.highlighted{background-color:#2b80ff!important}.chosen-container-active .chosen-single{border-color:#2b80ff!important}.chosen-container-active.chosen-with-drop .chosen-single{border-color:#b6bdcc!important;border-color:rgba(0,0,0,.15)!important}.chosen-container-active .chosen-choices{border-color:#2b80ff!important}.chosen-container-multi .chosen-choices{border-radius:2px!important}.chosen-container-multi.chosen-with-drop .chosen-choices{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-multi.chosen-with-drop.chosen-up .chosen-choices{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#2b80ff!important;border-bottom-left-radius:#2b80ff!important}.chosen-container.chosen-highlight-selected .result-selected{color:#2b80ff;background:#ebf3fe}.menu>.nav>li>.nav{background-color:#f6f6f6}.menu>.nav>li>.nav>li>a{border:1px solid #cbd0db}.menu>.nav>li>.nav>li>a:focus,.menu>.nav>li>.nav>li>a:hover{background-color:#e4e4e4}.menu>.nav>li>.nav>li.active>a,.menu>.nav>li>.nav>li.active>a:focus,.menu>.nav>li>.nav>li.active>a:hover{color:#fff;background-color:#2b80ff;border-color:#2b80ff}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px}.menu>.nav>li.show>a,.menu>.nav>li.show>a:focus,.menu>.nav>li.show>a:hover{color:#3c4353;background-color:#fff;border-color:#cbd0db}.menu>.nav>li.show>a:focus>[class*=icon-],.menu>.nav>li.show>a:hover>[class*=icon-],.menu>.nav>li.show>a>[class*=icon-]{color:#3c4353}.menu>.nav>li.show>a:hover{background-color:#f1f1f1}.menu>.nav>li.show:last-child>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li.show:last-child>.nav>li:last-child>a{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.menu>.nav>li.nav-heading{background-color:#f1f1f1;border:1px solid #cbd0db}.dropdown-menu{border-radius:4px}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#2b80ff}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#2b80ff}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{background-color:#2b80ff}.dropdown-submenu:hover>a:after{border-left-color:#fff}.datetimepicker td.day.today{background-color:#ff9800!important;border-color:#ff9800!important}.datetimepicker td.day.active{background-color:#2b80ff!important;border-color:#0063f7!important}.datetimepicker td.day.active:hover{background-color:#0063f7!important}.datetimepicker td.day.today.active:hover,.datetimepicker td.day.today:hover{background-color:#cc7a00!important}.ke-container{border-radius:4px!important}.ke-container.focus{border-color:#2b80ff!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(43,128,255,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(43,128,255,.6)!important}.ke-menu-item-on{background-color:#2b80ff!important}.ke-colorpicker-cell-on{background-color:#2b80ff!important}.ke-input-text:focus{border-color:#2b80ff!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(43,128,255,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(43,128,255,.6)!important}.messager{border-radius:4px}.messager-primary{background-color:#2b80ff}.messager-success{background-color:#00da88}.messager-info{background-color:#2196f3}.messager-warning{background-color:#ff9800}.messager-danger{background-color:#ff5d5d}.messager-important{background-color:#bd7b46}.messager-special{background-color:#8666b8}.comment:hover>.content>.actions>a{color:#3c4353}.alert:not(.alert-block){border-radius:3px}.alert-primary{color:#313744;background-color:#ebf3fe}.alert-primary hr{border-top-color:#c9dffc}.alert-primary .alert-link{color:#22262f}.alert-success{color:#00c178;background-color:#e8f5e9}.alert-success hr{border-top-color:#c7e6c4}.alert-success .alert-link{color:#009d62}.alert-info{color:#0d8aee;background-color:#e3f2fd}.alert-info hr{border-top-color:#9ce0f8}.alert-info .alert-link{color:#0b76cc}.alert-warning{color:#e68900;background-color:#fff3e0}.alert-warning hr{border-top-color:#ffe0c6}.alert-warning .alert-link{color:#c27400}.alert-danger{color:#ff4343;background-color:#ffebee}.alert-danger hr{border-top-color:#ffd1e0}.alert-danger .alert-link{color:#ff2020}.alert-primary-inverse{color:#fff;background-color:#2b80ff;border-color:#2b80ff}.alert-primary-inverse hr{border-top-color:#cbd0db;border-top-color:rgba(203,208,219,.25)}.alert-primary-inverse .alert-link{color:rgba(255,255,255,.8)}.modal-dialog{border-radius:6px}.card{border-radius:4px;-webkit-box-shadow:none;box-shadow:none}pre{border-radius:4px}.datagrid .datagrid-hover-col .datagrid-cell.hover,.datagrid .datagrid-hover-col .datagrid-row-cell.active .datagrid-cell.hover,.datagrid .datagrid-hover-row .datagrid-row-cell:hover .datagrid-cell{background-color:#ebf3fe}.datagrid .datagrid-loading>.content>.icon,.datagrid .datagrid-sort-down>.icon-sort:before,.datagrid .datagrid-sort-up>.icon-sort:before{color:#2b80ff}.tree-drag-holder{background-color:#ebf3fe}.tree-menu li.active>a{color:#fff;background-color:#2b80ff;border-color:#2b80ff}.tree-menu li.active>.list-toggle{color:#fff}.text-secondary{color:#16a8f8}a.text-primary{color:#2b80ff}.nav-primary>li.active>a{color:#2b80ff}.nav-primary>li.active>a:hover{color:#2b80ff}.bg-primary,.m-user-login{background:#16a8f8 -webkit-gradient(linear,right top,left top,from(#2b80ff),to(#16a8f8))!important;background:#16a8f8 -webkit-linear-gradient(right,#2b80ff 0,#16a8f8 100%)!important;background:#16a8f8 -o-linear-gradient(right,#2b80ff 0,#16a8f8 100%)!important;background:#16a8f8 linear-gradient(-90deg,#2b80ff 0,#16a8f8 100%)!important}.bg-secondary{background:#16a8f8}.alert-info{color:#2b80ff;background:#ebf3fe}.btn-primary{color:#fff;background-color:#2b80ff;border-color:transparent}.btn-primary.active,.btn-primary.hover,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:rgba(43,128,255,.8);border-color:rgba(0,0,0,0)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#1271ff;background-image:none;border-color:rgba(0,0,0,0)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{color:rgba(255,255,255,.3);background-color:#2b80ff;border-color:transparent}.btn-secondary{color:#fff;background-color:#16a8f8;border-color:transparent}.btn-secondary.active,.btn-secondary.hover,.btn-secondary:active,.btn-secondary:focus,.btn-secondary:hover,.open .dropdown-toggle.btn-secondary{color:#fff;background-color:rgba(22,168,248,.8);border-color:rgba(0,0,0,0)}.btn-secondary.active,.btn-secondary:active,.open .dropdown-toggle.btn-secondary{background-color:#079ced;background-image:none;border-color:rgba(0,0,0,0)}.btn-secondary.disabled,.btn-secondary.disabled.active,.btn-secondary.disabled:active,.btn-secondary.disabled:focus,.btn-secondary.disabled:hover,.btn-secondary[disabled],.btn-secondary[disabled].active,.btn-secondary[disabled]:active,.btn-secondary[disabled]:focus,.btn-secondary[disabled]:hover,fieldset[disabled] .btn-secondary,fieldset[disabled] .btn-secondary.active,fieldset[disabled] .btn-secondary:active,fieldset[disabled] .btn-secondary:focus,fieldset[disabled] .btn-secondary:hover{color:rgba(255,255,255,.3);background-color:#16a8f8;border-color:transparent}.btn-info{color:#2b80ff;background-color:#ebf3fe;border-color:transparent}.btn-info.active,.btn-info.hover,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#2b80ff;background-color:rgba(235,243,254,.8);border-color:rgba(0,0,0,0)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#d3e4fd;background-image:none;border-color:rgba(0,0,0,0)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{color:rgba(43,128,255,.3);background-color:#ebf3fe;border-color:transparent}.btn-icon-left>.icon{color:#16a8f8;background:#ebf3fe}.btn-active-line{color:#2b80ff}.btn-active-line:after{border-bottom-color:#2b80ff}.btn-active-line:hover{color:#2b80ff}.btn-active-text .text{color:#2b80ff}.btn-active-text .text:after{border-bottom-color:#2b80ff}.nav>li>.btn.btn-primary:focus,.nav>li>.btn.btn-primary:hover{background:rgba(43,128,255,.8)}.label-primary{background:#2b80ff!important}.label-pale{background:#bad6fc!important}.label-outline.label-primary{background:#ebf3fe!important;border-color:rgba(43,128,255,.25)!important}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#2b80ff;border-color:#2b80ff}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#2b80ff;-webkit-box-shadow:0 0 0 3px rgba(43,128,255,.2);box-shadow:0 0 0 3px rgba(43,128,255,.2)}.checkbox-primary:hover>label:after,.radio-primary:hover>label:after{border-color:#2b80ff}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{border-color:#2b80ff!important}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#2b80ff!important}.head-fixed .datatable-head-span .table .checkbox-primary.checked label:after,.table.fixed-header-copy .checkbox-primary.checked label:after{border-color:#2b80ff!important}.panel-actions .btn.text-primary{color:#2b80ff}.status-bars .bar{background:#2b80ff}.status-bars-h .bar{background:#2b80ff}.messagger-zt .messager-content>.icon{color:#2b80ff}.tree li.active>a{color:#2b80ff}.tree li>.list-toggle:active,.tree li>.list-toggle:hover{color:#2b80ff}.dropdown-menu>li.active>a,.dropdown-menu>li.selected>a{background-color:#16a8f8}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{color:#3c4353;background-color:#ebf3fe}.dropdown-submenu:hover>a:after{border-left-color:#2b80ff}.dropdown-submenu>a:hover:after{border-left-color:#fff}.pager>li.active>a{background-color:#16a8f8}.timeline>li>a:after,.timeline>li>div:after{background-color:#2b80ff}.timeline>li.active:before{background-color:rgba(43,128,255,.2)}.ke-container{border-color:#dcdcdc!important}.ke-container.focus{border-color:#2b80ff!important}.input-group .chosen-container-active .chosen-choices,.input-group .form-control:focus{border-color:#2b80ff!important}#mainHeader{background:#16a8f8 -webkit-gradient(linear,right top,left top,from(#2b80ff),to(#16a8f8));background:#16a8f8 -webkit-linear-gradient(right,#2b80ff 0,#16a8f8 100%);background:#16a8f8 -o-linear-gradient(right,#2b80ff 0,#16a8f8 100%);background:#16a8f8 linear-gradient(-90deg,#2b80ff 0,#16a8f8 100%);background-color:#16a8f8;border-top-color:#2b80ff;border-bottom-color:#ebf3fe}#searchGo{background-color:#16a8f8}#searchGo:hover{background-color:#2b80ff}#subNavbar{margin-top:7px;font-size:15px;text-align:center}#subNavbar .nav>li.active>a{color:#2b80ff}.btn-toolbar>.angle-btn.active,.btn-toolbar>.angle-btn:last-child{border-color:#2b80ff}.btn-toolbar>.angle-btn.active .btn,.btn-toolbar>.angle-btn:last-child .btn{color:#2b80ff}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn.active:before,.btn-toolbar>.angle-btn:last-child:after,.btn-toolbar>.angle-btn:last-child:before{border-color:transparent transparent transparent #2b80ff}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn:last-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:before,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before{border-color:transparent transparent transparent #2b80ff}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn,.btn-toolbar>.angle-btn.normal{border-color:#cbd0db}.btn-toolbar>.angle-btn.active+.angle-btn .btn,.btn-toolbar>.angle-btn.normal .btn{color:#3c4353}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.active+.angle-btn:before,.btn-toolbar>.angle-btn.normal:after,.btn-toolbar>.angle-btn.normal:before{border-color:transparent transparent transparent #cbd0db}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.normal:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before,.btn-toolbar>.angle-btn.normal>.btn-group:first-child:before{border-color:transparent transparent transparent #cbd0db!important}#sidebarHeader{border-left:3px solid #2b80ff}#sidebarHeader .title{color:#2b80ff}#sidebar>.sidebar-toggle>.icon{background:#79cdfb}#main .querybox-toggle.querybox-opened{color:#2b80ff}#contentNav .nav>li.active>a{color:#2b80ff}#contentNav .nav>li.active>a:before{background:#2b80ff}#mainContent .side-col .nav-tabs>li.active>a:before{background:#2b80ff}td.c-actions .btn{color:#16a8f8}td.c-actions .btn:hover{color:#2b80ff;background-color:#d3e4fd}td.c-actions .btn-link{color:#3c495c;background:0 0}td.c-actions .btn-link:hover{color:#2b80ff;background:#ebf3fe}.main-table table .btn-icon-left:hover>.icon{background:#ebf3fe}.main-table tbody>tr:hover{background:#ebf3fe}.main-table tbody>tr.checked:hover{background:#ffebbc}.main-table tbody>tr>td.c-side+td:before,.main-table tbody>tr>td:first-child:before{background:#2b80ff}.main-table tbody>tr>td.c-side:before{display:none}.main-table .table-grouped tbody>tr:hover{background:#f5f9fe}.main-table .table-grouped tbody>tr:hover td.c-actions .more{background:#f5f9fe}.main-table tbody>tr>td>a,.table-data tbody>tr>td>a{color:#0c60e1}.main-table tbody>tr>td>a:not(.btn):visited,.table-data tbody>tr>td>a:not(.btn):visited{color:#003a91}.main-table tbody>tr>td>a:hover,.main-table tbody>tr>td>a:visited:hover,.table-data tbody>tr>td>a:hover,.table-data tbody>tr>td>a:visited:hover{color:#2b80ff}.table.has-sort-head thead>tr>th>a.sort-down,.table.has-sort-head thead>tr>th>a.sort-up,.table.has-sort-head thead>tr>th>a:hover{color:#2b80ff}.table.has-sort-head thead>tr>th>a.sort-down:after,.table.has-sort-head thead>tr>th>a.sort-up:before,.table.has-sort-head thead>tr>th>a:hover:after,.table.has-sort-head thead>tr>th>a:hover:before{color:#2b80ff}.table.fixed-header-copy thead>tr>th>a.sort-down,.table.fixed-header-copy thead>tr>th>a.sort-down:after,.table.fixed-header-copy thead>tr>th>a.sort-up,.table.fixed-header-copy thead>tr>th>a.sort-up:before,.table.fixed-header-copy thead>tr>th>a:hover,.table.fixed-header-copy thead>tr>th>a:hover:after,.table.fixed-header-copy thead>tr>th>a:hover:before{color:#ebf3fe}.table-footer .checkbox-primary.checked label:after{border-color:#2b80ff!important}.table-footer.fixed-footer .checkbox-primary.checked label:after{background-color:#5e9fff!important;border-color:#5e9fff!important}.datatable .table>tbody>tr.checked.hover>td,.datatable .table>tbody>tr.checked>td.col-hover{background:#ffebbc}.files-list>li>a:hover{color:#2b80ff}.histories .btn-mini:focus,.histories .btn-mini:hover{color:#2b80ff;border-color:#2b80ff}.article-content a{color:#2b80ff}.article-content a:focus,.article-content a:hover{color:#16a8f8}.list-group{overflow-y:auto}.list-group>a.selected{color:#ebf3fe;background-color:#2b80ff}.list-group>a.active{color:#2b80ff;background-color:#ebf3fe}.list-group>a.active:hover,.list-group>a:hover{background-color:#2b80ff}.release-line>li>a:hover:before{background-color:#ebf3fe}.release-line>li>a:hover .title{color:#2b80ff}.release-line>li.active>a:before{border-color:#2b80ff}#footer .breadcrumb>.active:hover,#footer .breadcrumb>li>a:hover{color:#16a8f8}#poweredBy .icon-zentao{color:#16a8f8}#poweredBy a:hover{color:#2b80ff}#poweredBy a:hover .icon-zentao{color:#2b80ff}#poweredBy a.text-primary{color:#2b80ff}#poweredBy a.text-primary:hover{color:#16a8f8}.block-statistic .nav-secondary>li.active>a:before{background:#2b80ff!important}.dynamic.active .dynamic-date,.dynamic.active .timeline{border-color:#16a8f8!important}.dynamic.active .dynamic-date:before{background-color:#16a8f8!important}.tablesorter-header-inner:hover,table.tablesorter tr.tablesorter-headerRow .header.headerSortDown .tablesorter-header-inner:after,table.tablesorter tr.tablesorter-headerRow .header.headerSortUp .tablesorter-header-inner:after{color:#2b80ff!important}.table td.has-child>.task-toggle:hover{color:#2b80ff!important}#openTaskPage.open:hover,#task .task-nav{color:#2b80ff!important;background:#ebf3fe!important}#tasksProgress>.progress-bar{background:#2b80ff!important}#tasksProgress .progress-text{color:#2b80ff!important}#tasks>li.active.finish>a,#tasks>li.active>a{color:#2b80ff!important;background:#ebf3fe!important;border-left-color:#2b80ff!important;-webkit-box-shadow:inset 4px 0 0 #2b80ff!important;box-shadow:inset 4px 0 0 #2b80ff!important}#copyProjectModal a:hover{border-color:#16a8f8!important}#zeroTaskStory.checked{background:#ebf3fe!important;border-color:#16a8f8!important}.cols-list .col:hover{background:#ebf3fe!important}.files-grid .actions,.files-grid .col:hover .file{background:#ebf3fe!important}.dashboard .panel,.panel-default{-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045);box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045)}#menu .nav>li.active>a{background:#2b80ff!important}#menu .nav>li.active>a,#menu .nav>li>a:focus,#menu .nav>li>a:hover{background:#16a8f8!important}#bars>li.active>a,#bars>li.active>a:active,#bars>li.active>a:focus{background:#2b80ff!important}#bars>li.active:after{background:#ebf3fe!important}#userNav>li>a>.icon{filter:none;opacity:1;-webkit-filter:none}body{background-color:#f4f5f7}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#f2f2f2;-webkit-box-shadow:none;box-shadow:none}#mainHeader{font-size:14px;background:#fff;border-bottom:1px solid #e3e1e1;-webkit-box-shadow:0 4px 8px 0 rgba(0,0,0,.04);box-shadow:0 4px 8px 0 rgba(0,0,0,.04)}#heading .header-btn .btn,#navbar .nav>li>a{color:#3c4353}.header-btn+.header-btn:before{color:#3c4353}#navbar .nav>li.active>a{position:relative;font-weight:400;color:#2b80ff;background:0 0}#navbar .nav>li.active>a:before{position:absolute;right:10px;bottom:0;left:10px;display:block;height:2px;content:' ';background-color:#2b80ff}#navbar .nav>li>a.active:hover,#navbar .nav>li>a:hover{background-color:rgba(0,0,0,.1)}#navbar .nav>li.divider{background-color:#f1f1f1}#subNavbar{font-size:14px}#subHeader{margin-top:-1px;border-top:1px solid #efefef;border-bottom:1px solid #e3e1e1;-webkit-box-shadow:0 4px 8px 0 rgba(0,0,0,.04);box-shadow:0 4px 8px 0 rgba(0,0,0,.04)}.main-content>.cell,.main-content>.panel{border:none}.body-modal #mainContent{border:none}.dropdown-menu{border:1px solid #f2f2f2;-webkit-box-shadow:0 4px 10px 0 rgba(0,0,0,.09);box-shadow:0 4px 10px 0 rgba(0,0,0,.09)}.btn.btn-action,.c-actions .btn{width:26px;height:26px;padding:0}.btn.btn-action>i,.c-actions .btn>i{top:3px}.btn.btn-action+.btn,.c-actions .btn+.btn{margin-left:-3px}.btn.btn-action.disabled,.c-actions .btn.disabled{border-color:transparent}.btn.btn-action:hover,.c-actions .btn:hover{border-color:rgba(0,0,0,.1)}.c-actions button.btn>i,button.btn.btn-action>i{top:0}.table>thead>tr>th{font-weight:400}.table.has-sort-head thead>tr>th>a:after,.table.has-sort-head thead>tr>th>a:before{opacity:.2}.table-empty-tip{border:1px solid #ededed;border-radius:4px}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #e5e5e5!important}.main-table tbody>tr.checked{background:#fff3e0!important}.main-table tbody>tr>td,.main-table thead>tr>th{min-height:36px;padding:3px 8px;line-height:30px}.main-table thead>tr>th{font-weight:400;border-color:#e5e5e5}.main-table tbody>tr>td{border-bottom:none!important}.main-table .table-nested>tbody>tr{background:#f5f6f8}.main-table .table-nested>tbody>tr[data-parent="0"]{background:0 0}.main-table .table-nested>tbody>tr[data-parent="0"]+.is-nest-child{border-top:1px solid #e5e5e5}.main-table .table-nested>tbody>tr:hover{background:#ebf3fe!important}.main-table tbody>tr.checked.row-check-begin>td:first-child:before,.main-table tbody>tr.checked.row-check-end>td:first-child:before{border-radius:0}.table-footer{border-top:#e5e5e5 1px solid}#sidebarHeader{height:30px;border:1px solid #b2cdf4;border-radius:4px;-webkit-box-shadow:none;box-shadow:none}#sidebarHeader:after{display:none}#sidebarHeader .title{line-height:28px}#sidebar>.cell>.panel{border:none}#queryBox{border-width:0}#queryBox.show{border-width:1px}.checkbox-primary>label:after,.checkbox-primary>label:before,.radio-primary>label:after,.radio-primary>label:before{top:3px;width:14px;height:14px;line-height:14px}.checkbox-primary>label,.radio-primary>label{padding-left:20px}.checkbox-primary>label:before,.radio-primary>label:before{top:3px}.checkbox-primary>label:after,.radio-primary>label:after{border-color:#d9dbe1}body.m-index-index{height:100vh;background-color:#2b80ff!important;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAAJYBAMAAACuq3YLAAAAG1BMVEUAAAD////////////////////////////////rTT7CAAAACXRSTlMAJhQfBgsPGhdNj7JjAAAHm0lEQVR42uTNQQ0DQAhFwQ0BhCAFCUjAv4iee9tL+5L9Y2COGj933onjQPLceSe2c+eduA9kzp134j2QOneeiV0uDipOudjk4qbikYuXikstdioOuTip2Ki45eKh4qXiUoudikMuTio2Km65eKh4qbjUYqfioOKkYpOLm4qHipeKSy12Kg4qTio2uXjk4qXigmKn4qDipGKTi5uKh4qXiguKnYqDipOKjYqbioeKl4pLLQ652OTikYtLLQ652OTioeKl4oJip+Kg4qRio+Km4qHipeKCYqfioGKj4qbioeKl4oJip+KkYqPipuKh4qXiguKg4qRio+Km4qXigmKn4qBi+2P8pal4qLig2Kk4qNiouKl4qLig2Kk4qNiouKl4qLig2Kk4qNiouKl4qbig2Kk4qdioeKh4odgLioOKjYqbipeKC4qDiu3H8Yd4OraBIISBKLpCQE4JmIBNaYESKIEOtgQ6v/QSbAJG8xt40lje1lnwZMFCggMLdiy4s+DJgoUEBxbsWHBnwZMEeyHBgQU7FjxYsJBgz4IjC+4seLLgnfs+2MIOrg82t4PLg22wYNmVH2ieBcctvB5ofQt/D7S5hduDzAsJjns4Pcg6ATZO/Cow9MRVgaEnLlC4s+C5hzMS9rJvIeGowB8S7grckPBU4ASEvRBg68SvAkNPXJDwJMDmiTMQjhq8gHDX4A8Ii1bDwYEFOxVOOHho7guERavg4MiCuwpnHDxV+IPBXtQaDHY6nGDwYMD20hUGRx0uMLjrcIbBordQcDDgDwU7A24oeBpwAsHecKsCQ5cuKHgYcAbBXowWCI4W3EDwsOCkwMilXwWGLl02MGTp/zIG9mK1MHA04YaBhwknBUYu/SowdOmiwNClMwT2YrYgsLPhBoGHDScFRi5dFRi6dIHA04YXAg5i1xBwF7uEgMWuIuAodgUBD7FbANjLQQ0AuxM4AeApdhUABzmoAOB+Aq/7sJeT2n3YHcHpPjyPTnwfDnJSvg+PI/i7Dns5Kl2H+5Fb78NyVL4OxzP4uw7PM7jdhsOZ+6b/EL/048UObiUHgSiKShZmXyE0LOwtKbCYAAiBDByCNYnPZqS/+hK3de2XwNErCtrqX1JtOJW13DbcF+EGYLPwGTK8LcLVhstiLhneVuGQ4VX3kOG8Cn9keH55xPFW4RIANgtXAKuFPy48l+EGYLPwGSpcllNVOK/DlwqX9YQJ93W3mnAq67lNuAM4RHgHbjXhAeBbhHMBaSI8gXuEB/cC8vHgVEiaBw/inqHBeyH5ePBEcNPgP8g9woJTQbk1uDO4WfDO3BoWPOGkLXgrLCHBCbrVgjuELwneoXuGBA86aQnOBaZJ8NQKx6ObVS4HTkVbrYhHC38ceC80zYEHdWsocC40lwNP6p6hwFuh+ThwwWkK3LFbw4CTXTgeLGzAfuF4qvARBrwXnEuBh184Xi78k2cKnwFgs/ANYLewAWenMIenUpjDueBcADYLHwHg1wvHE4UB/H7h0AvXWIteuCnweKxwyK/02RR46I/lT9zCRyjw8K/ST9TCNRS4Y7gpcHI2i8OdbxaJWPhy4I1vlgNP6J7hwJkPmsUqXANG+3uYRnotmwQnPGgJ7vTpsGA6aAvO9I224AkP2IJ3eMAa3BHcNDjBp1KDN3bAHjzRAXvwjr7fRbijxfLghBZLhPO6+zdMeLzjxveTrqHCHVwkFQYXSYUzuEgqPN5y47vVukKGM7hIKjzARTLhBC6SCuf33MCTPpsD40lLbtBvnjukwEnXsMImfYYWttPtEXiAA1ZhcMAqnMEBq3AHB6zC4CdJhXfwRKtwB4NW4Qk22oQT2GgVzmDQKtzBoFV4gkGbcAJfsyq8gUGr8ACbpcKvF46F9zL+5x/3dWzDIBRDUdRCQP9GSAVz/BH+CGyQEdg85S2sSGm4Rd4CR/a3TfIEvDhf/w4Pd5WAL3WVgFd3soB3d5WAh1sw8HQLBnYLBt7cgoF3t2Dg4RYMPN2Cgd2CgVe3YODdLRh4cf6zdHi4nyXgKX6HydehfuXZMNTSaAFv7i4B727BwIu7S8DD+U3b4enuEvDl7hKwO1rAqztawJs8WsBup4F392oBL+4HEXh0OI8HuHf6qQC7owU85XMJ7J5L4EvuNLDbaWC508Dy9QC2Ow3sXw9gv9MdjpWSOw2s//YA9s9Wh49oKf1sAfvL1OF4KXmZgO0nBvaXqcMRU/4Td/iOmNKfuMNnzJT+xB2+Y6b0J+5w1AAfUVP2oe7wO16A9dkCPuOm9PMB7M8WsD9bwFEDfEROybMFbM8WsD9bwP7dAo6d8oca2B9q4Dt2Sp2tDkcN8Bk9pc8WsH8wge/oqR+H+t/gqAE+4qfkbQK2twnY3ybgd/yUuE0djhrgM/FTP27Tf8GfdurYBkAYiKHoreARIgpoGS0jsDkTIFxEOsX6f4FX2UMNVdOaVOaasmAZRcGnOipzxlHwkFEUPNVRmf8RBctqPXyppTKPKwk+5JQEDzklwY+ckuCplsq8auAFsKyC4Es91SmrIPiQFfDG8JAV8MbwI6sgeMoqCL5lBQwMDAyskhcwMDAwMPBnwMDAwMDAnwEDA//2AvAZt8geDw8jAAAAAElFTkSuQmCC);background-repeat:no-repeat;background-position:left bottom;-webkit-background-size:120px 300px;background-size:120px 300px}.m-index-index #menu{background:0 0!important}.m-index-index #apps{overflow:hidden}.m-index-index #appsBar{border-color:#e2e2e2}.m-index-index #menu .nav>li>a{opacity:.75}.m-index-index #menu .nav>li.active>a,.m-index-index #menu .nav>li>a:focus,.m-index-index #menu .nav>li>a:hover{background:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.2)),to(rgba(0,0,0,0)))!important;background:-webkit-linear-gradient(left,rgba(0,0,0,.2) 0,rgba(0,0,0,0) 100%)!important;background:-o-linear-gradient(left,rgba(0,0,0,.2) 0,rgba(0,0,0,0) 100%)!important;background:linear-gradient(90deg,rgba(0,0,0,.2) 0,rgba(0,0,0,0) 100%)!important;border-radius:4px;opacity:1}.m-index-index #menu .nav>li.active>a:hover{background-color:#2b80ff!important}.m-index-index.menu-hide #menu .nav>li.active>a,.m-index-index.menu-hide #menu .nav>li>a:focus,.m-index-index.menu-hide #menu .nav>li>a:hover{background:rgba(0,0,0,.12)!important}.m-index-index #bars>li.divider{border-color:transparent}.m-index-index #bars>li>a{color:#838a9d}.m-index-index #bars>li>a:hover{color:#fff!important;background-color:#2b80ff!important}.m-index-index #bars>li.active>a:active>span,.m-index-index #bars>li.active>a:focus>span,.m-index-index #bars>li.active>a>span{font-weight:400;border-color:#16a8f8}.m-index-index #bars>li.active>a{color:#3c4353}.m-index-index #bars>li.active>a:hover{color:#fff!important}.m-project-browse #cards{padding:0;margin:0 -10px;background:0 0;border:0;-webkit-box-shadow:none;box-shadow:none}.m-project-browse #cards .pager .btn{background-color:transparent}.m-product-all #productList>thead>tr{border-top:1px solid #ededed}.m-product-all #productList>thead>tr>th{border-color:#ededed!important}.m-product-all #productList>thead>tr:first-child>th:first-child{border-left:none}.m-product-all #productTableList>tr[data-parent="0"]>td:first-child,.m-product-all #productTableList>tr[data-parent="0"]>td:nth-child(10),.m-product-all #productTableList>tr[data-parent="0"]>td:nth-child(11),.m-product-all #productTableList>tr[data-parent="0"]>td:nth-child(2),.m-product-all #productTableList>tr[data-parent="0"]>td:nth-child(6),.m-product-all #productTableList>tr[data-parent="0"]>td:nth-child(9){border-right:1px solid #ededed}.m-product-all #productTableList>tr.is-nest-child>td:nth-child(5),.m-product-all #productTableList>tr.is-nest-child>td:nth-child(8){background-color:rgba(0,0,0,.04)}.m-execution-task #taskList .c-assignedTo,.m-execution-task #taskList .c-finishedBy,.m-execution-task #taskList .c-name,.m-execution-task #taskList .c-pri{border-right:1px solid #ededed}.m-execution-task #taskList .c-actions{border-left:1px solid #ededed}.m-execution-task #taskList tr{border-width:1px!important}.m-execution-task #taskList .c-id{color:#3c4353}.m-repo-browse #logForm,.m-repo-browse .main-table{border:1px solid #ededed} \ No newline at end of file + */a{color:#3c4353}a:focus,a:hover{color:#2b80ff}.btn{color:#3c4353;background-color:#fff;border-color:#d6dae3;border-radius:4px}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#3c4353;background-color:#ebebeb;border-color:#b2b9ca;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#b8bfce;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d6dae3}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#3c4353;background-color:#ebebeb;border-color:#b2b9ca;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#b8bfce;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d6dae3}.btn-primary{color:#fff;background-color:#2b80ff;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#0268ff;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#0059de;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#2b80ff;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#0268ff;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#0059de;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#2b80ff;border-color:transparent}.btn-warning{color:#fff;background-color:#ff9800;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#d68000;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#b36a00;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ff9800;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#d68000;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#b36a00;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ff9800;border-color:transparent}.btn-danger{color:#fff;background-color:#ff5d5d;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#ff3434;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#f11;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#ff5d5d;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#ff3434;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#f11;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#ff5d5d;border-color:transparent}.btn-success{color:#fff;background-color:#00da88;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#00b16f;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#008e58;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#00da88;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#00b16f;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#008e58;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#00da88;border-color:transparent}.btn-info{color:#2b80ff;background-color:#ebf3fe;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#2b80ff;background-color:#c4dcfc;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#a2c7fa;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#ebf3fe;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#2b80ff;background-color:#c4dcfc;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#a2c7fa;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#ebf3fe;border-color:transparent}.btn-link{color:#3c4353;background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover,.btn-link[disabled],fieldset[disabled] .btn-link{border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link:focus,.btn-link:hover{color:#2b80ff}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#cbd0db}.popover,.tooltip-inner{border-radius:4px}.label{border-radius:3px}.label-badge{border-radius:9px}.label-dot{border-radius:5px}.label-primary{background-color:#2b80ff}.label-primary[href]:focus,.label-primary[href]:hover{color:#fff;background-color:#0063f7}.label-primary.label-outline{color:#2b80ff;background:0 0;border:1px solid #2b80ff}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#0063f7}.label-success{background-color:#00da88}.label-success[href]:focus,.label-success[href]:hover{color:#fff;background-color:#00a768}.label-success.label-outline{color:#00da88;background:0 0;border:1px solid #00da88}.label-success[href]:focus,.label-success[href]:hover{background-color:#00a768}.label-info{background-color:#2196f3}.label-info[href]:focus,.label-info[href]:hover{color:#fff;background-color:#0c7cd5}.label-info.label-outline{color:#2196f3;background:0 0;border:1px solid #2196f3}.label-info[href]:focus,.label-info[href]:hover{background-color:#0c7cd5}.label-warning{background-color:#ff9800}.label-warning[href]:focus,.label-warning[href]:hover{color:#fff;background-color:#cc7a00}.label-warning.label-outline{color:#ff9800;background:0 0;border:1px solid #ff9800}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#cc7a00}.label-danger{background-color:#ff5d5d}.label-danger[href]:focus,.label-danger[href]:hover{color:#fff;background-color:#ff2a2a}.label-danger.label-outline{color:#ff5d5d;background:0 0;border:1px solid #ff5d5d}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#ff2a2a}.btn-primary .label-badge,.btn-primary .label-dot{background-color:#91bdff}.text-primary{color:#2b80ff}.text-primary:hover{color:#0063f7}.text-warning{color:#ff9800}.text-warning:hover{color:#cc7a00}.text-danger{color:#ff5d5d}.text-danger:hover{color:#ff2a2a}.text-success{color:#00da88}.text-success:hover{color:#00a768}.text-info{color:#2196f3}.text-info:hover{color:#0c7cd5}.text-important{color:#bd7b46}.text-important:hover{color:#996337}.text-special{color:#8666b8}.text-special:hover{color:#6c4aa1}.text-muted a:active,.text-muted a:hover{color:#3c4353}.text-link:active,.text-link:hover{color:#3c4353}.bg-primary{background-color:#2b80ff}a.bg-primary:hover{background-color:#0063f7}.hl-primary{background-color:#ebf3fe}a.hl-primary:hover{background-color:#bad6fc}.progress{background-color:#ebf3fe;border-radius:3px}.progress-bar{color:#fff;background-color:#2b80ff;border-radius:3px}.form-control{border-radius:2px}.form-control.focus,.form-control:focus{border-color:#2b80ff;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(43,128,255,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(43,128,255,.6)}.form-control:focus{border-color:#2b80ff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(43,128,255,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(43,128,255,.6)}.form-condensed .btn,.form-condensed .form-control{border-radius:4px}.switch>input:checked+label:before{background-color:#2b80ff;border-color:#2b80ff}.switch input:focus+label{color:#2b80ff}.switch input:focus+label:before{border-color:#2b80ff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #2b80ff;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #2b80ff}.checkbox-primary>label:after,.radio-primary>label:after{background:#fff;border:1px solid #838a9d}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#2b80ff;border-color:#2b80ff}.checkbox-primary.checked>label:before,.checkbox-primary>input:checked+label:before,.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{color:#fff}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#2b80ff;-webkit-box-shadow:0 0 8px #2b80ff;box-shadow:0 0 8px #2b80ff}.checkbox-primary input:disabled+label:after,.checkbox-primary.disabled>label:after,.radio-primary input:disabled+label:after,.radio-primary.disabled>label:after{background-color:#e5e5e5;border-color:#bbb}.checkbox-primary input:disabled:checked+label:after,.checkbox-primary.checked.disabled>label:after,.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#bbb}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#fff;border-color:#2b80ff}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#2b80ff}.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#fff;border-color:#bbb}.radio-primary input:disabled:checked+label:before,.radio-primary.checked.disabled>label:before{background-color:#bbb}.form-control:focus+.input-control-label-left{color:#16a8f8}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.input-group-addon{background-color:#eee}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon{border-radius:4px}.input-group-btn.fix-border>.btn{border-radius:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.list-group-item{background-color:#fff;border:1px solid #cbd0db}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{color:#3c4353;text-decoration:none;background-color:#ebf3fe}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{color:#fff;background-color:#2b80ff;border-color:#2b80ff}.list-group-item.active .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#e6e6e6}.list-group-item-heading{color:#3c495c}.navbar-toggle{border-radius:4px}@media (min-width:768px){.navbar{border-radius:4px}}.navbar-inverse{background-color:#16a8f8;border-color:#068cd5}.navbar-inverse .navbar-nav>li.nav-heading{background-color:#079ced}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{background-color:#34b3f9}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{background-color:#48baf9}.navbar-inverse .navbar-toggle{border-color:#48baf9}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#079ced}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#0795e3}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#48baf9}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#068cd5}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{background-color:#34b3f9}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#48baf9}}.navbar-fixed-left.navbar-inverse .navbar-header,.navbar-fixed-left.navbar-inverse .navbar-nav{border-bottom:1px solid #48baf9;-webkit-box-shadow:inset 0 -1px 0 #068cd5;box-shadow:inset 0 -1px 0 #068cd5}.navbar-fixed-left.navbar-inverse.navbar-collapsed .navbar-nav>li.nav-heading:hover{color:#dadee5;background-color:#0792df}.nav>li>a:focus,.nav>li>a:hover{color:#2b80ff}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{border-color:#3c4353}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{background-color:#2b80ff}.nav-primary>li:first-child>a{border-top-left-radius:4px;border-bottom-left-radius:4px}.nav-primary>li:last-child>a{border-top-right-radius:4px;border-bottom-right-radius:4px}.nav-primary>li>a{border:1px solid #cbd0db}.nav-primary>li.active>a,.nav-primary>li.active>a:focus,.nav-primary>li.active>a:hover{color:#fff;background-color:#2b80ff;border-color:#2b80ff}.nav-secondary>li.active>a,.nav-secondary>li.active>a:focus,.nav-secondary>li.active>a:hover{color:#2b80ff;border-bottom-color:#2b80ff}.nav-stacked.nav-primary>li,.nav-stacked.nav-primary>li>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.nav-stacked.nav-primary>li:first-child.nav-heading,.nav-stacked.nav-primary>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px}.nav-stacked.nav-primary>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.nav-stacked.nav-primary>li.nav-heading{background-color:#f1f1f1;border:1px solid #cbd0db}.nav-stacked.nav-secondary>li>a{border-top-right-radius:4px;border-bottom-right-radius:4px;-webkit-box-shadow:inset 2px 0 0 #f5f5f5;box-shadow:inset 2px 0 0 #f5f5f5}.nav-stacked.nav-secondary>li>a:hover{-webkit-box-shadow:inset 2px 0 0 #eee;box-shadow:inset 2px 0 0 #eee}.nav-stacked.nav-secondary>li.active>a,.nav-stacked.nav-secondary>li.active>a:focus,.nav-stacked.nav-secondary>li.active>a:hover{background-color:#f5f5f5;-webkit-box-shadow:inset 2px 0 0 #2b80ff;box-shadow:inset 2px 0 0 #2b80ff}.nav-stacked.nav-secondary>li.nav-heading{border-bottom:1px solid #cbd0db}.nav-tabs>li>a{border-radius:4px 4px 0 0}.pager{border-radius:4px}.pager>li>a,.pager>li>span{background-color:#fff;border:1px solid #cbd0db}.pager>li:first-child>a,.pager>li:first-child>span{border-top-left-radius:4px;border-bottom-left-radius:4px}.pager>li:last-child>a,.pager>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pager>li>a:focus,.pager>li>a:hover,.pager>li>span:focus,.pager>li>span:hover{background-color:#eee}.pager>li.active>a,.pager>li.active>a:hover,.pager>li.active>span,.pager>li.active>span:hover{color:#fff;background-color:#2b80ff;border-color:#2b80ff}.pager>li.disabled>a,.pager>li.disabled>a:focus,.pager>li.disabled>a:hover,.pager>li.disabled>span,.pager>li.disabled>span:focus,.pager>li.disabled>span:hover{color:#cbd0db;background-color:#fff;border-color:#cbd0db}.panel{border-radius:4px}.panel>.panel-heading{background-image:none;border-top-left-radius:4px;border-top-right-radius:4px}.panel-group .panel{border-radius:4px}.dashboard .panel{-webkit-box-shadow:none;box-shadow:none}.panel-primary{border-color:#2b80ff}.panel-primary>.panel-heading{color:#fff;background-color:#2b80ff;border-color:#2b80ff}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#2b80ff}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#2b80ff}.panel-danger>.panel-body,.panel-info>.panel-body,.panel-primary>.panel-body,.panel-success>.panel-body,.panel-warning>.panel-body{-webkit-box-shadow:none;box-shadow:none}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#ebf3fe}.table tr.active>td,.table tr.active>th,.table tr>td.active,.table tr>th.active{background-color:#ffe9c6}table.tablesorter thead tr .headerSortDown:after,table.tablesorter thead tr .headerSortUp:after{color:#3c4353!important}.chosen-container-single .chosen-search input[type=text]:focus,.chosen-container-single .chosen-search:focus{border-color:#2b80ff!important}.chosen-container-single .chosen-single{border-radius:2px!important}.chosen-container-single.chosen-with-drop .chosen-single{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-single.chosen-with-drop.chosen-up .chosen-single{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#2b80ff!important;border-bottom-left-radius:#2b80ff!important}.chosen-container .chosen-results li.highlighted{background-color:#2b80ff!important}.chosen-container-active .chosen-single{border-color:#2b80ff!important}.chosen-container-active.chosen-with-drop .chosen-single{border-color:#b6bdcc!important;border-color:rgba(0,0,0,.15)!important}.chosen-container-active .chosen-choices{border-color:#2b80ff!important}.chosen-container-multi .chosen-choices{border-radius:2px!important}.chosen-container-multi.chosen-with-drop .chosen-choices{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-multi.chosen-with-drop.chosen-up .chosen-choices{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#2b80ff!important;border-bottom-left-radius:#2b80ff!important}.chosen-container.chosen-highlight-selected .result-selected{color:#2b80ff;background:#ebf3fe}.menu>.nav>li>.nav{background-color:#f6f6f6}.menu>.nav>li>.nav>li>a{border:1px solid #cbd0db}.menu>.nav>li>.nav>li>a:focus,.menu>.nav>li>.nav>li>a:hover{background-color:#e4e4e4}.menu>.nav>li>.nav>li.active>a,.menu>.nav>li>.nav>li.active>a:focus,.menu>.nav>li>.nav>li.active>a:hover{color:#fff;background-color:#2b80ff;border-color:#2b80ff}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px}.menu>.nav>li.show>a,.menu>.nav>li.show>a:focus,.menu>.nav>li.show>a:hover{color:#3c4353;background-color:#fff;border-color:#cbd0db}.menu>.nav>li.show>a:focus>[class*=icon-],.menu>.nav>li.show>a:hover>[class*=icon-],.menu>.nav>li.show>a>[class*=icon-]{color:#3c4353}.menu>.nav>li.show>a:hover{background-color:#f1f1f1}.menu>.nav>li.show:last-child>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li.show:last-child>.nav>li:last-child>a{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.menu>.nav>li.nav-heading{background-color:#f1f1f1;border:1px solid #cbd0db}.dropdown-menu{border-radius:4px}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#2b80ff}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#2b80ff}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{background-color:#2b80ff}.dropdown-submenu:hover>a:after{border-left-color:#fff}.datetimepicker td.day.today{background-color:#ff9800!important;border-color:#ff9800!important}.datetimepicker td.day.active{background-color:#2b80ff!important;border-color:#0063f7!important}.datetimepicker td.day.active:hover{background-color:#0063f7!important}.datetimepicker td.day.today.active:hover,.datetimepicker td.day.today:hover{background-color:#cc7a00!important}.ke-container{border-radius:4px!important}.ke-container.focus{border-color:#2b80ff!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(43,128,255,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(43,128,255,.6)!important}.ke-menu-item-on{background-color:#2b80ff!important}.ke-colorpicker-cell-on{background-color:#2b80ff!important}.ke-input-text:focus{border-color:#2b80ff!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(43,128,255,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(43,128,255,.6)!important}.messager{border-radius:4px}.messager-primary{background-color:#2b80ff}.messager-success{background-color:#00da88}.messager-info{background-color:#2196f3}.messager-warning{background-color:#ff9800}.messager-danger{background-color:#ff5d5d}.messager-important{background-color:#bd7b46}.messager-special{background-color:#8666b8}.comment:hover>.content>.actions>a{color:#3c4353}.alert:not(.alert-block){border-radius:3px}.alert-primary{color:#313744;background-color:#ebf3fe}.alert-primary hr{border-top-color:#c9dffc}.alert-primary .alert-link{color:#22262f}.alert-success{color:#00c178;background-color:#e8f5e9}.alert-success hr{border-top-color:#c7e6c4}.alert-success .alert-link{color:#009d62}.alert-info{color:#0d8aee;background-color:#e3f2fd}.alert-info hr{border-top-color:#9ce0f8}.alert-info .alert-link{color:#0b76cc}.alert-warning{color:#e68900;background-color:#fff3e0}.alert-warning hr{border-top-color:#ffe0c6}.alert-warning .alert-link{color:#c27400}.alert-danger{color:#ff4343;background-color:#ffebee}.alert-danger hr{border-top-color:#ffd1e0}.alert-danger .alert-link{color:#ff2020}.alert-primary-inverse{color:#fff;background-color:#2b80ff;border-color:#2b80ff}.alert-primary-inverse hr{border-top-color:#cbd0db;border-top-color:rgba(203,208,219,.25)}.alert-primary-inverse .alert-link{color:rgba(255,255,255,.8)}.modal-dialog{border-radius:6px}.card{border-radius:4px;-webkit-box-shadow:none;box-shadow:none}pre{border-radius:4px}.datagrid .datagrid-hover-col .datagrid-cell.hover,.datagrid .datagrid-hover-col .datagrid-row-cell.active .datagrid-cell.hover,.datagrid .datagrid-hover-row .datagrid-row-cell:hover .datagrid-cell{background-color:#ebf3fe}.datagrid .datagrid-loading>.content>.icon,.datagrid .datagrid-sort-down>.icon-sort:before,.datagrid .datagrid-sort-up>.icon-sort:before{color:#2b80ff}.tree-drag-holder{background-color:#ebf3fe}.tree-menu li.active>a{color:#fff;background-color:#2b80ff;border-color:#2b80ff}.tree-menu li.active>.list-toggle{color:#fff}.text-secondary{color:#16a8f8}a.text-primary{color:#2b80ff}.nav-primary>li.active>a{color:#2b80ff}.nav-primary>li.active>a:hover{color:#2b80ff}.bg-primary,.m-user-login{background:#16a8f8 -webkit-gradient(linear,right top,left top,from(#2b80ff),to(#16a8f8))!important;background:#16a8f8 -webkit-linear-gradient(right,#2b80ff 0,#16a8f8 100%)!important;background:#16a8f8 -o-linear-gradient(right,#2b80ff 0,#16a8f8 100%)!important;background:#16a8f8 linear-gradient(-90deg,#2b80ff 0,#16a8f8 100%)!important}.bg-secondary{background:#16a8f8}.alert-info{color:#2b80ff;background:#ebf3fe}.btn-primary{color:#fff;background-color:#2b80ff;border-color:transparent}.btn-primary.active,.btn-primary.hover,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:rgba(43,128,255,.8);border-color:rgba(0,0,0,0)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#1271ff;background-image:none;border-color:rgba(0,0,0,0)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{color:rgba(255,255,255,.3);background-color:#2b80ff;border-color:transparent}.btn-secondary{color:#fff;background-color:#16a8f8;border-color:transparent}.btn-secondary.active,.btn-secondary.hover,.btn-secondary:active,.btn-secondary:focus,.btn-secondary:hover,.open .dropdown-toggle.btn-secondary{color:#fff;background-color:rgba(22,168,248,.8);border-color:rgba(0,0,0,0)}.btn-secondary.active,.btn-secondary:active,.open .dropdown-toggle.btn-secondary{background-color:#079ced;background-image:none;border-color:rgba(0,0,0,0)}.btn-secondary.disabled,.btn-secondary.disabled.active,.btn-secondary.disabled:active,.btn-secondary.disabled:focus,.btn-secondary.disabled:hover,.btn-secondary[disabled],.btn-secondary[disabled].active,.btn-secondary[disabled]:active,.btn-secondary[disabled]:focus,.btn-secondary[disabled]:hover,fieldset[disabled] .btn-secondary,fieldset[disabled] .btn-secondary.active,fieldset[disabled] .btn-secondary:active,fieldset[disabled] .btn-secondary:focus,fieldset[disabled] .btn-secondary:hover{color:rgba(255,255,255,.3);background-color:#16a8f8;border-color:transparent}.btn-info{color:#2b80ff;background-color:#ebf3fe;border-color:transparent}.btn-info.active,.btn-info.hover,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#2b80ff;background-color:rgba(235,243,254,.8);border-color:rgba(0,0,0,0)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#d3e4fd;background-image:none;border-color:rgba(0,0,0,0)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{color:rgba(43,128,255,.3);background-color:#ebf3fe;border-color:transparent}.btn-icon-left>.icon{color:#16a8f8;background:#ebf3fe}.btn-active-line{color:#2b80ff}.btn-active-line:after{border-bottom-color:#2b80ff}.btn-active-line:hover{color:#2b80ff}.btn-active-text .text{color:#2b80ff}.btn-active-text .text:after{border-bottom-color:#2b80ff}.nav>li>.btn.btn-primary:focus,.nav>li>.btn.btn-primary:hover{background:rgba(43,128,255,.8)}.label-primary{background:#2b80ff!important}.label-pale{background:#bad6fc!important}.label-outline.label-primary{background:#ebf3fe!important;border-color:rgba(43,128,255,.25)!important}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#2b80ff;border-color:#2b80ff}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#2b80ff;-webkit-box-shadow:0 0 0 3px rgba(43,128,255,.2);box-shadow:0 0 0 3px rgba(43,128,255,.2)}.checkbox-primary:hover>label:after,.radio-primary:hover>label:after{border-color:#2b80ff}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{border-color:#2b80ff!important}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#2b80ff!important}.head-fixed .datatable-head-span .table .checkbox-primary.checked label:after,.table.fixed-header-copy .checkbox-primary.checked label:after{border-color:#2b80ff!important}.panel-actions .btn.text-primary{color:#2b80ff}.status-bars .bar{background:#2b80ff}.status-bars-h .bar{background:#2b80ff}.messagger-zt .messager-content>.icon{color:#2b80ff}.tree li.active>a{color:#2b80ff}.tree li>.list-toggle:active,.tree li>.list-toggle:hover{color:#2b80ff}.dropdown-menu>li.active>a,.dropdown-menu>li.selected>a{background-color:#16a8f8}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{color:#3c4353;background-color:#ebf3fe}.dropdown-submenu:hover>a:after{border-left-color:#2b80ff}.dropdown-submenu>a:hover:after{border-left-color:#fff}.pager>li.active>a{background-color:#16a8f8}.timeline>li>a:after,.timeline>li>div:after{background-color:#2b80ff}.timeline>li.active:before{background-color:rgba(43,128,255,.2)}.ke-container{border-color:#dcdcdc!important}.ke-container.focus{border-color:#2b80ff!important}.input-group .chosen-container-active .chosen-choices,.input-group .form-control:focus{border-color:#2b80ff!important}#mainHeader{background:#16a8f8 -webkit-gradient(linear,right top,left top,from(#2b80ff),to(#16a8f8));background:#16a8f8 -webkit-linear-gradient(right,#2b80ff 0,#16a8f8 100%);background:#16a8f8 -o-linear-gradient(right,#2b80ff 0,#16a8f8 100%);background:#16a8f8 linear-gradient(-90deg,#2b80ff 0,#16a8f8 100%);background-color:#16a8f8;border-top-color:#2b80ff;border-bottom-color:#ebf3fe}#searchGo{background-color:#16a8f8}#searchGo:hover{background-color:#2b80ff}#subNavbar{margin-top:7px;font-size:15px;text-align:center}#subNavbar .nav>li.active>a{color:#2b80ff}.btn-toolbar>.angle-btn.active,.btn-toolbar>.angle-btn:last-child{border-color:#2b80ff}.btn-toolbar>.angle-btn.active .btn,.btn-toolbar>.angle-btn:last-child .btn{color:#2b80ff}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn.active:before,.btn-toolbar>.angle-btn:last-child:after,.btn-toolbar>.angle-btn:last-child:before{border-color:transparent transparent transparent #2b80ff}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn:last-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:before,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before{border-color:transparent transparent transparent #2b80ff}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn,.btn-toolbar>.angle-btn.normal{border-color:#cbd0db}.btn-toolbar>.angle-btn.active+.angle-btn .btn,.btn-toolbar>.angle-btn.normal .btn{color:#3c4353}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.active+.angle-btn:before,.btn-toolbar>.angle-btn.normal:after,.btn-toolbar>.angle-btn.normal:before{border-color:transparent transparent transparent #cbd0db}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.normal:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before,.btn-toolbar>.angle-btn.normal>.btn-group:first-child:before{border-color:transparent transparent transparent #cbd0db!important}#sidebarHeader{border-left:3px solid #2b80ff}#sidebarHeader .title{color:#2b80ff}#sidebar>.sidebar-toggle>.icon{background:#79cdfb}#main .querybox-toggle.querybox-opened{color:#2b80ff}#contentNav .nav>li.active>a{color:#2b80ff}#contentNav .nav>li.active>a:before{background:#2b80ff}#mainContent .side-col .nav-tabs>li.active>a:before{background:#2b80ff}td.c-actions .btn{color:#16a8f8}td.c-actions .btn:hover{color:#2b80ff;background-color:#d3e4fd}td.c-actions .btn-link{color:#3c495c;background:0 0}td.c-actions .btn-link:hover{color:#2b80ff;background:#ebf3fe}.main-table table .btn-icon-left:hover>.icon{background:#ebf3fe}.main-table tbody>tr:hover{background:#ebf3fe}.main-table tbody>tr.checked:hover{background:#ffebbc}.main-table tbody>tr>td.c-side+td:before,.main-table tbody>tr>td:first-child:before{background:#2b80ff}.main-table tbody>tr>td.c-side:before{display:none}.main-table .table-grouped tbody>tr:hover{background:#f5f9fe}.main-table .table-grouped tbody>tr:hover td.c-actions .more{background:#f5f9fe}.main-table tbody>tr>td>a,.table-data tbody>tr>td>a{color:#0c60e1}.main-table tbody>tr>td>a:not(.btn):visited,.table-data tbody>tr>td>a:not(.btn):visited{color:#003a91}.main-table tbody>tr>td>a:hover,.main-table tbody>tr>td>a:visited:hover,.table-data tbody>tr>td>a:hover,.table-data tbody>tr>td>a:visited:hover{color:#2b80ff}.table.has-sort-head thead>tr>th>a.sort-down,.table.has-sort-head thead>tr>th>a.sort-up,.table.has-sort-head thead>tr>th>a:hover{color:#2b80ff}.table.has-sort-head thead>tr>th>a.sort-down:after,.table.has-sort-head thead>tr>th>a.sort-up:before,.table.has-sort-head thead>tr>th>a:hover:after,.table.has-sort-head thead>tr>th>a:hover:before{color:#2b80ff}.table.fixed-header-copy thead>tr>th>a.sort-down,.table.fixed-header-copy thead>tr>th>a.sort-down:after,.table.fixed-header-copy thead>tr>th>a.sort-up,.table.fixed-header-copy thead>tr>th>a.sort-up:before,.table.fixed-header-copy thead>tr>th>a:hover,.table.fixed-header-copy thead>tr>th>a:hover:after,.table.fixed-header-copy thead>tr>th>a:hover:before{color:#ebf3fe}.table-footer .checkbox-primary.checked label:after{border-color:#2b80ff!important}.table-footer.fixed-footer .checkbox-primary.checked label:after{background-color:#5e9fff!important;border-color:#5e9fff!important}.datatable .table>tbody>tr.checked.hover>td,.datatable .table>tbody>tr.checked>td.col-hover{background:#ffebbc}.files-list>li>a:hover{color:#2b80ff}.histories .btn-mini:focus,.histories .btn-mini:hover{color:#2b80ff;border-color:#2b80ff}.article-content a{color:#2b80ff}.article-content a:focus,.article-content a:hover{color:#16a8f8}.list-group{overflow-y:auto}.list-group>a.selected{color:#ebf3fe;background-color:#2b80ff}.list-group>a.active{color:#2b80ff;background-color:#ebf3fe}.list-group>a.active:hover,.list-group>a:hover{background-color:#2b80ff}.release-line>li>a:hover:before{background-color:#ebf3fe}.release-line>li>a:hover .title{color:#2b80ff}.release-line>li.active>a:before{border-color:#2b80ff}#footer .breadcrumb>.active:hover,#footer .breadcrumb>li>a:hover{color:#16a8f8}#poweredBy .icon-zentao{color:#16a8f8}#poweredBy a:hover{color:#2b80ff}#poweredBy a:hover .icon-zentao{color:#2b80ff}#poweredBy a.text-primary{color:#2b80ff}#poweredBy a.text-primary:hover{color:#16a8f8}.block-statistic .nav-secondary>li.active>a:before{background:#2b80ff!important}.dynamic.active .dynamic-date,.dynamic.active .timeline{border-color:#16a8f8!important}.dynamic.active .dynamic-date:before{background-color:#16a8f8!important}.tablesorter-header-inner:hover,table.tablesorter tr.tablesorter-headerRow .header.headerSortDown .tablesorter-header-inner:after,table.tablesorter tr.tablesorter-headerRow .header.headerSortUp .tablesorter-header-inner:after{color:#2b80ff!important}.table td.has-child>.task-toggle:hover{color:#2b80ff!important}#openTaskPage.open:hover,#task .task-nav{color:#2b80ff!important;background:#ebf3fe!important}#tasksProgress>.progress-bar{background:#2b80ff!important}#tasksProgress .progress-text{color:#2b80ff!important}#tasks>li.active.finish>a,#tasks>li.active>a{color:#2b80ff!important;background:#ebf3fe!important;border-left-color:#2b80ff!important;-webkit-box-shadow:inset 4px 0 0 #2b80ff!important;box-shadow:inset 4px 0 0 #2b80ff!important}#copyProjectModal a:hover{border-color:#16a8f8!important}#zeroTaskStory.checked{background:#ebf3fe!important;border-color:#16a8f8!important}.cols-list .col:hover{background:#ebf3fe!important}.files-grid .actions,.files-grid .col:hover .file{background:#ebf3fe!important}.dashboard .panel,.panel-default{-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045);box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045)}#menu .nav>li.active>a{background:#2b80ff!important}#menu .nav>li.active>a,#menu .nav>li>a:focus,#menu .nav>li>a:hover{background:#16a8f8!important}#bars>li.active>a,#bars>li.active>a:active,#bars>li.active>a:focus{background:#2b80ff!important}#bars>li.active:after{background:#ebf3fe!important}#userNav>li>a>.icon{filter:none;opacity:1;-webkit-filter:none}body{background-color:#f4f5f7}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#f2f2f2;-webkit-box-shadow:none;box-shadow:none}#mainHeader{font-size:14px;background:#fff;border-bottom:1px solid #e3e1e1;-webkit-box-shadow:0 4px 8px 0 rgba(0,0,0,.04);box-shadow:0 4px 8px 0 rgba(0,0,0,.04)}#heading .header-btn .btn,#navbar .nav>li>a{color:#3c4353}.header-btn+.header-btn:before{color:#3c4353}#navbar .nav>li.active>a{position:relative;font-weight:400;color:#2b80ff;background:0 0}#navbar .nav>li.active>a:before{position:absolute;right:10px;bottom:0;left:10px;display:block;height:2px;content:' ';background-color:#2b80ff}#navbar .nav>li>a.active:hover,#navbar .nav>li>a:hover{background-color:rgba(0,0,0,.1)}#navbar .nav>li.divider{background-color:#f1f1f1}#subNavbar{font-size:14px}#subHeader{margin-top:-1px;border-top:1px solid #efefef;border-bottom:1px solid #e3e1e1;-webkit-box-shadow:0 4px 8px 0 rgba(0,0,0,.04);box-shadow:0 4px 8px 0 rgba(0,0,0,.04)}.main-content>.cell,.main-content>.panel{border:none}.body-modal #mainContent{border:none}.dropdown-menu{border:1px solid #f2f2f2;-webkit-box-shadow:0 4px 10px 0 rgba(0,0,0,.09);box-shadow:0 4px 10px 0 rgba(0,0,0,.09)}.btn.btn-action,.c-actions .btn{width:26px;height:26px;padding:0}.btn.btn-action>i,.c-actions .btn>i{top:3px}.btn.btn-action+.btn,.c-actions .btn+.btn{margin-left:-3px}.btn.btn-action.disabled,.c-actions .btn.disabled{border-color:transparent}.btn.btn-action:hover,.c-actions .btn:hover{border-color:rgba(0,0,0,.1)}.c-actions button.btn>i,button.btn.btn-action>i{top:0}.table>thead>tr>th{font-weight:400}.table.has-sort-head thead>tr>th>a:after,.table.has-sort-head thead>tr>th>a:before{opacity:.2}.table-empty-tip{border:1px solid #ededed;border-radius:4px}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #e5e5e5!important}.main-table tbody>tr.checked{background:#fff3e0!important}.main-table tbody>tr>td,.main-table thead>tr>th{min-height:36px;padding:3px 8px;line-height:30px}.main-table thead>tr>th{font-weight:400;border-color:#e5e5e5}.main-table tbody>tr>td{border-bottom:none!important}.main-table .table-nested>tbody>tr{background:#f5f6f8}.main-table .table-nested>tbody>tr[data-parent="0"]{background:0 0}.main-table .table-nested>tbody>tr[data-parent="0"]+.is-nest-child{border-top:1px solid #e5e5e5}.main-table .table-nested>tbody>tr:hover{background:#ebf3fe!important}.main-table tbody>tr.checked.row-check-begin>td:first-child:before,.main-table tbody>tr.checked.row-check-end>td:first-child:before{border-radius:0}.table-footer{border-top:#e5e5e5 1px solid}#sidebarHeader{height:30px;border:1px solid #b2cdf4;border-radius:4px;-webkit-box-shadow:none;box-shadow:none}#sidebarHeader:after{display:none}#sidebarHeader .title{line-height:28px}#sidebar>.cell>.panel{border:none}#queryBox{border-width:0}#queryBox.show{border-width:1px}.checkbox-primary>label:after,.checkbox-primary>label:before,.radio-primary>label:after,.radio-primary>label:before{top:3px;width:14px;height:14px;line-height:14px}.checkbox-primary>label,.radio-primary>label{padding-left:20px}.checkbox-primary>label:before,.radio-primary>label:before{top:3px}.checkbox-primary>label:after,.radio-primary>label:after{border-color:#d9dbe1}body.m-index-index{height:100vh;background-color:#2b80ff!important;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAAJYBAMAAACuq3YLAAAAG1BMVEUAAAD////////////////////////////////rTT7CAAAACXRSTlMAJhQfBgsPGhdNj7JjAAAHm0lEQVR42uTNQQ0DQAhFwQ0BhCAFCUjAv4iee9tL+5L9Y2COGj933onjQPLceSe2c+eduA9kzp134j2QOneeiV0uDipOudjk4qbikYuXikstdioOuTip2Ki45eKh4qXiUoudikMuTio2Km65eKh4qbjUYqfioOKkYpOLm4qHipeKSy12Kg4qTio2uXjk4qXigmKn4qDipGKTi5uKh4qXiguKnYqDipOKjYqbioeKl4pLLQ652OTikYtLLQ652OTioeKl4oJip+Kg4qRio+Km4qHipeKCYqfioGKj4qbioeKl4oJip+KkYqPipuKh4qXiguKg4qRio+Km4qXigmKn4qBi+2P8pal4qLig2Kk4qNiouKl4qLig2Kk4qNiouKl4qLig2Kk4qNiouKl4qbig2Kk4qdioeKh4odgLioOKjYqbipeKC4qDiu3H8Yd4OraBIISBKLpCQE4JmIBNaYESKIEOtgQ6v/QSbAJG8xt40lje1lnwZMFCggMLdiy4s+DJgoUEBxbsWHBnwZMEeyHBgQU7FjxYsJBgz4IjC+4seLLgnfs+2MIOrg82t4PLg22wYNmVH2ieBcctvB5ofQt/D7S5hduDzAsJjns4Pcg6ATZO/Cow9MRVgaEnLlC4s+C5hzMS9rJvIeGowB8S7grckPBU4ASEvRBg68SvAkNPXJDwJMDmiTMQjhq8gHDX4A8Ii1bDwYEFOxVOOHho7guERavg4MiCuwpnHDxV+IPBXtQaDHY6nGDwYMD20hUGRx0uMLjrcIbBordQcDDgDwU7A24oeBpwAsHecKsCQ5cuKHgYcAbBXowWCI4W3EDwsOCkwMilXwWGLl02MGTp/zIG9mK1MHA04YaBhwknBUYu/SowdOmiwNClMwT2YrYgsLPhBoGHDScFRi5dFRi6dIHA04YXAg5i1xBwF7uEgMWuIuAodgUBD7FbANjLQQ0AuxM4AeApdhUABzmoAOB+Aq/7sJeT2n3YHcHpPjyPTnwfDnJSvg+PI/i7Dns5Kl2H+5Fb78NyVL4OxzP4uw7PM7jdhsOZ+6b/EL/048UObiUHgSiKShZmXyE0LOwtKbCYAAiBDByCNYnPZqS/+hK3de2XwNErCtrqX1JtOJW13DbcF+EGYLPwGTK8LcLVhstiLhneVuGQ4VX3kOG8Cn9keH55xPFW4RIANgtXAKuFPy48l+EGYLPwGSpcllNVOK/DlwqX9YQJ93W3mnAq67lNuAM4RHgHbjXhAeBbhHMBaSI8gXuEB/cC8vHgVEiaBw/inqHBeyH5ePBEcNPgP8g9woJTQbk1uDO4WfDO3BoWPOGkLXgrLCHBCbrVgjuELwneoXuGBA86aQnOBaZJ8NQKx6ObVS4HTkVbrYhHC38ceC80zYEHdWsocC40lwNP6p6hwFuh+ThwwWkK3LFbw4CTXTgeLGzAfuF4qvARBrwXnEuBh184Xi78k2cKnwFgs/ANYLewAWenMIenUpjDueBcADYLHwHg1wvHE4UB/H7h0AvXWIteuCnweKxwyK/02RR46I/lT9zCRyjw8K/ST9TCNRS4Y7gpcHI2i8OdbxaJWPhy4I1vlgNP6J7hwJkPmsUqXANG+3uYRnotmwQnPGgJ7vTpsGA6aAvO9I224AkP2IJ3eMAa3BHcNDjBp1KDN3bAHjzRAXvwjr7fRbijxfLghBZLhPO6+zdMeLzjxveTrqHCHVwkFQYXSYUzuEgqPN5y47vVukKGM7hIKjzARTLhBC6SCuf33MCTPpsD40lLbtBvnjukwEnXsMImfYYWttPtEXiAA1ZhcMAqnMEBq3AHB6zC4CdJhXfwRKtwB4NW4Qk22oQT2GgVzmDQKtzBoFV4gkGbcAJfsyq8gUGr8ACbpcKvF46F9zL+5x/3dWzDIBRDUdRCQP9GSAVz/BH+CGyQEdg85S2sSGm4Rd4CR/a3TfIEvDhf/w4Pd5WAL3WVgFd3soB3d5WAh1sw8HQLBnYLBt7cgoF3t2Dg4RYMPN2Cgd2CgVe3YODdLRh4cf6zdHi4nyXgKX6HydehfuXZMNTSaAFv7i4B727BwIu7S8DD+U3b4enuEvDl7hKwO1rAqztawJs8WsBup4F392oBL+4HEXh0OI8HuHf6qQC7owU85XMJ7J5L4EvuNLDbaWC508Dy9QC2Ow3sXw9gv9MdjpWSOw2s//YA9s9Wh49oKf1sAfvL1OF4KXmZgO0nBvaXqcMRU/4Td/iOmNKfuMNnzJT+xB2+Y6b0J+5w1AAfUVP2oe7wO16A9dkCPuOm9PMB7M8WsD9bwFEDfEROybMFbM8WsD9bwP7dAo6d8oca2B9q4Dt2Sp2tDkcN8Bk9pc8WsH8wge/oqR+H+t/gqAE+4qfkbQK2twnY3ybgd/yUuE0djhrgM/FTP27Tf8GfdurYBkAYiKHoreARIgpoGS0jsDkTIFxEOsX6f4FX2UMNVdOaVOaasmAZRcGnOipzxlHwkFEUPNVRmf8RBctqPXyppTKPKwk+5JQEDzklwY+ckuCplsq8auAFsKyC4Es91SmrIPiQFfDG8JAV8MbwI6sgeMoqCL5lBQwMDAyskhcwMDAwMPBnwMDAwMDAnwEDA//2AvAZt8geDw8jAAAAAElFTkSuQmCC);background-repeat:no-repeat;background-position:left bottom;-webkit-background-size:120px 300px;background-size:120px 300px}.m-index-index #menu{background:0 0!important}.m-index-index #apps{overflow:hidden}.m-index-index #appsBar{border-color:#e2e2e2}.m-index-index #menu .nav>li>a{opacity:.75}.m-index-index #menu .nav>li.active>a,.m-index-index #menu .nav>li>a:focus,.m-index-index #menu .nav>li>a:hover{background:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.2)),to(rgba(0,0,0,0)))!important;background:-webkit-linear-gradient(left,rgba(0,0,0,.2) 0,rgba(0,0,0,0) 100%)!important;background:-o-linear-gradient(left,rgba(0,0,0,.2) 0,rgba(0,0,0,0) 100%)!important;background:linear-gradient(90deg,rgba(0,0,0,.2) 0,rgba(0,0,0,0) 100%)!important;border-radius:4px;opacity:1}.m-index-index #menu .nav>li.active>a:hover{background-color:#2b80ff!important}.m-index-index.menu-hide #menu .nav>li.active>a,.m-index-index.menu-hide #menu .nav>li>a:focus,.m-index-index.menu-hide #menu .nav>li>a:hover{background:rgba(0,0,0,.12)!important}.m-index-index #bars>li.divider{border-color:transparent}.m-index-index #bars>li>a{color:#838a9d}.m-index-index #bars>li>a:hover{color:#fff!important;background-color:#2b80ff!important}.m-index-index #bars>li.active>a:active>span,.m-index-index #bars>li.active>a:focus>span,.m-index-index #bars>li.active>a>span{font-weight:400;border-color:#16a8f8}.m-index-index #bars>li.active>a{color:#3c4353}.m-index-index #bars>li.active>a:hover{color:#fff!important}.m-project-browse #cards{padding:0;margin:0 -10px;background:0 0;border:0;-webkit-box-shadow:none;box-shadow:none}.m-project-browse #cards .pager .btn{background-color:transparent}.m-product-all #productList>thead>tr{border-top:1px solid #ededed}.m-product-all #productList>thead>tr>th{border-color:#ededed!important}.m-product-all #productList>thead>tr:first-child>th:first-child{border-left:none}.m-product-all #productTableList>tr[data-parent="0"]>td:first-child,.m-product-all #productTableList>tr[data-parent="0"]>td:nth-child(10),.m-product-all #productTableList>tr[data-parent="0"]>td:nth-child(13),.m-product-all #productTableList>tr[data-parent="0"]>td:nth-child(14),.m-product-all #productTableList>tr[data-parent="0"]>td:nth-child(15),.m-product-all #productTableList>tr[data-parent="0"]>td:nth-child(2),.m-product-all #productTableList>tr[data-parent="0"]>td:nth-child(6){border-right:1px solid #ededed}.m-execution-task #taskList .c-assignedTo,.m-execution-task #taskList .c-finishedBy,.m-execution-task #taskList .c-name,.m-execution-task #taskList .c-pri{border-right:1px solid #ededed}.m-execution-task #taskList .c-actions{border-left:1px solid #ededed}.m-execution-task #taskList tr{border-width:1px!important}.m-execution-task #taskList .c-id{color:#3c4353}.m-repo-browse #logForm,.m-repo-browse .main-table{border:1px solid #ededed} \ No newline at end of file diff --git a/www/theme/default/style.css b/www/theme/default/style.css index 0cc3c5813b..eae2a2de02 100644 --- a/www/theme/default/style.css +++ b/www/theme/default/style.css @@ -72,3 +72,5 @@ a.showMoreImage:hover {opacity: 1;} #userNav .dropdown-menu .dropdown-submenu>ul {margin-right: 0px !important;} #userNav .create-list:hover:before {right: 21.5% !important;} #modules li>a, #modules ul>li>a {overflow: hidden; white-space: nowrap;} + +.fixed-head-table{z-index:1000;} diff --git a/www/theme/zui/css/min.css b/www/theme/zui/css/min.css index 239094c155..a7c7885267 100644 --- a/www/theme/zui/css/min.css +++ b/www/theme/zui/css/min.css @@ -1,9 +1,9 @@ /*! - * ZUI: ZUI for Zentao - v1.9.2 - 2021-09-13 + * ZUI: ZUI for Zentao - v1.9.2 - 2021-09-23 * http://openzui.com * GitHub: https://github.com/easysoft/zui.git * Copyright (c) 2021 cnezsoft.com; Licensed MIT - *//*! normalize.css v2.1.3 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}a{background:0 0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{margin:.67em 0;font-size:2em}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}mark{color:#000;background:#ff0}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}button,input,select,textarea{margin:0;font-family:inherit;font-size:100%}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}textarea{overflow:auto;vertical-align:top}table{border-spacing:0;border-collapse:collapse}#userMenu:after,#userMenu:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fixed-md:after,.container-fixed-md:before,.container-fixed-sm:after,.container-fixed-sm:before,.container-fixed-xs:after,.container-fixed-xs:before,.container-fixed:after,.container-fixed:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.dl-inline:after,.dl-inline:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager-justify:after,.pager-justify:before,.pager-loose:after,.pager-loose:before,.row:after,.row:before,.table-footer:after,.table-footer:before{display:table;content:" "}#userMenu:after,.btn-toolbar:after,.clearfix:after,.container-fixed-md:after,.container-fixed-sm:after,.container-fixed-xs:after,.container-fixed:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.dl-inline:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager-justify:after,.pager-loose:after,.row:after,.table-footer:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none}.showing{display:block}.hidden{display:none!important;visibility:hidden!important}.show{display:block!important;visibility:visible!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.affix{position:fixed}.with-padding{padding:5px 12px}.no-padding{padding:0!important}.no-margin{margin:0!important}.inline-block.visible-xs,.inline.visible-xs,.visible-xs,td.visible-xs,th.visible-xs,tr.visible-xs{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}.inline.visible-xs{display:inline!important}.inline-block.visible-xs{display:inline-block!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-xs.visible-sm{display:block!important}.inline.visible-xs.visible-sm{display:inline!important}.inline-block.visible-xs.visible-sm{display:inline-block!important}tr.visible-xs.visible-sm{display:table-row!important}td.visible-xs.visible-sm,th.visible-xs.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1799px){.visible-xs.visible-md{display:block!important}.inline.visible-xs.visible-md{display:inline!important}.inline-block.visible-xs.visible-md{display:inline-block!important}tr.visible-xs.visible-md{display:table-row!important}td.visible-xs.visible-md,th.visible-xs.visible-md{display:table-cell!important}}@media (min-width:1800px){.visible-xs.visible-lg{display:block!important}.inline.visible-xs.visible-lg{display:inline!important}.inline-block.visible-xs.visible-lg{display:inline-block!important}tr.visible-xs.visible-lg{display:table-row!important}td.visible-xs.visible-lg,th.visible-xs.visible-lg{display:table-cell!important}}.inline-block.visible-sm,.inline.visible-sm,.visible-sm,td.visible-sm,th.visible-sm,tr.visible-sm{display:none!important}@media (max-width:767px){.visible-sm.visible-xs{display:block!important}.inline.visible-sm.visible-xs{display:inline!important}.inline-block.visible-sm.visible-xs{display:inline-block!important}tr.visible-sm.visible-xs{display:table-row!important}td.visible-sm.visible-xs,th.visible-sm.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}.inline.visible-sm{display:inline!important}.inline-block.visible-sm{display:inline-block!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1799px){.visible-sm.visible-md{display:block!important}.inline.visible-sm.visible-md{display:inline!important}.inline-block.visible-sm.visible-md{display:inline-block!important}tr.visible-sm.visible-md{display:table-row!important}td.visible-sm.visible-md,th.visible-sm.visible-md{display:table-cell!important}}@media (min-width:1800px){.visible-sm.visible-lg{display:block!important}.inline.visible-sm.visible-lg{display:inline!important}.inline-block.visible-sm.visible-lg{display:inline-block!important}tr.visible-sm.visible-lg{display:table-row!important}td.visible-sm.visible-lg,th.visible-sm.visible-lg{display:table-cell!important}}.inline-block.visible-md,.inline.visible-md,.visible-md,td.visible-md,th.visible-md,tr.visible-md{display:none!important}@media (max-width:767px){.visible-md.visible-xs{display:block!important}.inline.visible-md.visible-xs{display:inline!important}.inline-block.visible-md.visible-xs{display:inline-block!important}tr.visible-md.visible-xs{display:table-row!important}td.visible-md.visible-xs,th.visible-md.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-md.visible-sm{display:block!important}.inline.visible-md.visible-sm{display:inline!important}.inline-block.visible-md.visible-sm{display:inline-block!important}tr.visible-md.visible-sm{display:table-row!important}td.visible-md.visible-sm,th.visible-md.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1799px){.visible-md{display:block!important}.inline.visible-md{display:inline!important}.inline-block.visible-md{display:inline-block!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:1800px){.visible-md.visible-lg{display:block!important}.inline.visible-md.visible-lg{display:inline!important}.inline-block.visible-md.visible-lg{display:inline-block!important}tr.visible-md.visible-lg{display:table-row!important}td.visible-md.visible-lg,th.visible-md.visible-lg{display:table-cell!important}}.inline-block.visible-lg,.inline.visible-lg,.visible-lg,td.visible-lg,th.visible-lg,tr.visible-lg{display:none!important}@media (max-width:767px){.visible-lg.visible-xs{display:block!important}.inline.visible-lg.visible-xs{display:inline!important}.inline-block.visible-lg.visible-xs{display:inline-block!important}tr.visible-lg.visible-xs{display:table-row!important}td.visible-lg.visible-xs,th.visible-lg.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-lg.visible-sm{display:block!important}.inline.visible-lg.visible-sm{display:inline!important}.inline-block.visible-lg.visible-sm{display:inline-block!important}tr.visible-lg.visible-sm{display:table-row!important}td.visible-lg.visible-sm,th.visible-lg.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1799px){.visible-lg.visible-md{display:block!important}.inline.visible-lg.visible-md{display:inline!important}.inline-block.visible-lg.visible-md{display:inline-block!important}tr.visible-lg.visible-md{display:table-row!important}td.visible-lg.visible-md,th.visible-lg.visible-md{display:table-cell!important}}@media (min-width:1800px){.visible-lg{display:block!important}.inline.visible-lg{display:inline!important}.inline-block.visible-lg{display:inline-block!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}.hidden-xs{display:block!important}.inline.hidden-xs{display:inline!important}.inline-block.hidden-xs{display:inline-block!important}tr.hidden-xs{display:table-row!important}td.hidden-xs,th.hidden-xs{display:table-cell!important}@media (max-width:767px){.hidden-xs,.inline-block.hidden-xs,.inline.hidden-xs,td.hidden-xs,th.hidden-xs,tr.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm,.inline-block.hidden-xs.hidden-sm,.inline.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm,th.hidden-xs.hidden-sm,tr.hidden-xs.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1799px){.hidden-xs.hidden-md,.inline-block.hidden-xs.hidden-md,.inline.hidden-xs.hidden-md,td.hidden-xs.hidden-md,th.hidden-xs.hidden-md,tr.hidden-xs.hidden-md{display:none!important}}@media (min-width:1800px){.hidden-xs.hidden-lg,.inline-block.hidden-xs.hidden-lg,.inline.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg,th.hidden-xs.hidden-lg,tr.hidden-xs.hidden-lg{display:none!important}}.hidden-sm{display:block!important}.inline.hidden-sm{display:inline!important}.inline-block.hidden-sm{display:inline-block!important}tr.hidden-sm{display:table-row!important}td.hidden-sm,th.hidden-sm{display:table-cell!important}@media (max-width:767px){.hidden-sm.hidden-xs,.inline-block.hidden-sm.hidden-xs,.inline.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs,th.hidden-sm.hidden-xs,tr.hidden-sm.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm,.inline-block.hidden-sm,.inline.hidden-sm,td.hidden-sm,th.hidden-sm,tr.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1799px){.hidden-sm.hidden-md,.inline-block.hidden-sm.hidden-md,.inline.hidden-sm.hidden-md,td.hidden-sm.hidden-md,th.hidden-sm.hidden-md,tr.hidden-sm.hidden-md{display:none!important}}@media (min-width:1800px){.hidden-sm.hidden-lg,.inline-block.hidden-sm.hidden-lg,.inline.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg,th.hidden-sm.hidden-lg,tr.hidden-sm.hidden-lg{display:none!important}}.hidden-md{display:block!important}.inline.hidden-md{display:inline!important}.inline-block.hidden-md{display:inline-block!important}tr.hidden-md{display:table-row!important}td.hidden-md,th.hidden-md{display:table-cell!important}@media (max-width:767px){.hidden-md.hidden-xs,.inline-block.hidden-md.hidden-xs,.inline.hidden-md.hidden-xs,td.hidden-md.hidden-xs,th.hidden-md.hidden-xs,tr.hidden-md.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-md.hidden-sm,.inline-block.hidden-md.hidden-sm,.inline.hidden-md.hidden-sm,td.hidden-md.hidden-sm,th.hidden-md.hidden-sm,tr.hidden-md.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1799px){.hidden-md,.inline-block.hidden-md,.inline.hidden-md,td.hidden-md,th.hidden-md,tr.hidden-md{display:none!important}}@media (min-width:1800px){.hidden-md.hidden-lg,.inline-block.hidden-md.hidden-lg,.inline.hidden-md.hidden-lg,td.hidden-md.hidden-lg,th.hidden-md.hidden-lg,tr.hidden-md.hidden-lg{display:none!important}}.hidden-lg{display:block!important}.inline.hidden-lg{display:inline!important}.inline-block.hidden-lg{display:inline-block!important}tr.hidden-lg{display:table-row!important}td.hidden-lg,th.hidden-lg{display:table-cell!important}@media (max-width:767px){.hidden-lg.hidden-xs,.inline-block.hidden-lg.hidden-xs,.inline.hidden-lg.hidden-xs,td.hidden-lg.hidden-xs,th.hidden-lg.hidden-xs,tr.hidden-lg.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-lg.hidden-sm,.inline-block.hidden-lg.hidden-sm,.inline.hidden-lg.hidden-sm,td.hidden-lg.hidden-sm,th.hidden-lg.hidden-sm,tr.hidden-lg.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1799px){.hidden-lg.hidden-md,.inline-block.hidden-lg.hidden-md,.inline.hidden-lg.hidden-md,td.hidden-lg.hidden-md,th.hidden-lg.hidden-md,tr.hidden-lg.hidden-md{display:none!important}}@media (min-width:1800px){.hidden-lg,.inline-block.hidden-lg,.inline.hidden-lg,td.hidden-lg,th.hidden-lg,tr.hidden-lg{display:none!important}}.inline-block.visible-print,.inline.visible-print,.visible-print,td.visible-print,th.visible-print,tr.visible-print{display:none!important}@media print{.visible-print{display:block!important}.inline.visible-print{display:inline!important}.inline-block.visible-print{display:inline-block!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}.hidden-print,.inline-block.hidden-print,.inline.hidden-print,td.hidden-print,th.hidden-print,tr.hidden-print{display:none!important}}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Tahoma,Arial,'PingFang SC','Source Han Sans CN','Source Han Sans','Source Han Serif','Hiragino Sans GB','WenQuanYi Micro Hei','Microsoft YaHei',sans-serif;font-size:13px;line-height:1.42857143;color:#3c4353;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#3c4353;text-decoration:none;cursor:pointer;-webkit-transition:.4s cubic-bezier(.175,.885,.32,1);-o-transition:.4s cubic-bezier(.175,.885,.32,1);transition:.4s cubic-bezier(.175,.885,.32,1);-webkit-transition-property:color,background,opacity,-webkit-transform;-o-transition-property:color,background,opacity,-o-transform;transition-property:color,background,opacity,-webkit-transform;transition-property:color,background,transform,opacity;transition-property:color,background,transform,opacity,-webkit-transform,-o-transform}a:focus,a:hover{color:#0c64eb;text-decoration:none}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a.disabled,a.disabled:focus,a.disabled:hover,a[disabled],a[disabled]:focus,a[disabled]:hover{color:#aaa;text-decoration:none;cursor:default}audio,canvas,img,video{max-width:100%;vertical-align:middle}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}::-moz-selection{text-shadow:none;background:#b3d4fc}::selection{text-shadow:none;background:#b3d4fc}fieldset{padding:0;margin:0;border:0}textarea{resize:vertical}ol,ul{padding-left:20px}.scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.container,.container-fixed,.container-fixed-md,.container-fixed-sm,.container-fixed-xs,.container-fluid{padding-right:10px;padding-left:10px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{max-width:972px}}@media (min-width:992px){.container{max-width:1760px}}@media (min-width:1800px){.container{max-width:1760px}}.container-fixed{width:1760px}.container-fixed-md{width:1760px}.container-fixed-sm{width:972px}.container-fixed-xs{width:748px}.row{margin-right:-10px;margin-left:-10px}.col,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:10px;padding-left:10px}.col,.col-xs,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-1,.col-xs-1{width:8.33333333%}.col-2,.col-xs-2{width:16.66666667%}.col-3,.col-xs-3{width:25%}.col-4,.col-xs-4{width:33.33333333%}.col-5,.col-xs-5{width:41.66666667%}.col-6,.col-xs-6{width:50%}.col-7,.col-xs-7{width:58.33333333%}.col-8,.col-xs-8{width:66.66666667%}.col-9,.col-xs-9{width:75%}.col-10,.col-xs-10{width:83.33333333%}.col-11,.col-xs-11{width:91.66666667%}.col-12,.col-xs-12{width:100%}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-1{width:8.33333333%}.col-sm-2{width:16.66666667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333333%}.col-sm-5{width:41.66666667%}.col-sm-6{width:50%}.col-sm-7{width:58.33333333%}.col-sm-8{width:66.66666667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333333%}.col-sm-11{width:91.66666667%}.col-sm-12{width:100%}.col-sm-push-1{left:8.33333333%}.col-sm-push-2{left:16.66666667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.33333333%}.col-sm-push-5{left:41.66666667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.33333333%}.col-sm-push-8{left:66.66666667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.33333333%}.col-sm-push-11{left:91.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-11{right:91.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-11{margin-left:91.66666667%}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-1{width:8.33333333%}.col-md-2{width:16.66666667%}.col-md-3{width:25%}.col-md-4{width:33.33333333%}.col-md-5{width:41.66666667%}.col-md-6{width:50%}.col-md-7{width:58.33333333%}.col-md-8{width:66.66666667%}.col-md-9{width:75%}.col-md-10{width:83.33333333%}.col-md-11{width:91.66666667%}.col-md-12{width:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.33333333%}.col-md-push-2{left:16.66666667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.33333333%}.col-md-push-5{left:41.66666667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.33333333%}.col-md-push-8{left:66.66666667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.33333333%}.col-md-push-11{left:91.66666667%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.33333333%}.col-md-pull-2{right:16.66666667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.33333333%}.col-md-pull-5{right:41.66666667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.33333333%}.col-md-pull-8{right:66.66666667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.33333333%}.col-md-pull-11{right:91.66666667%}.col-md-offset-0{margin-left:0}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-11{margin-left:91.66666667%}}@media (min-width:1800px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-1{width:8.33333333%}.col-lg-2{width:16.66666667%}.col-lg-3{width:25%}.col-lg-4{width:33.33333333%}.col-lg-5{width:41.66666667%}.col-lg-6{width:50%}.col-lg-7{width:58.33333333%}.col-lg-8{width:66.66666667%}.col-lg-9{width:75%}.col-lg-10{width:83.33333333%}.col-lg-11{width:91.66666667%}.col-lg-12{width:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.33333333%}.col-lg-push-2{left:16.66666667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.33333333%}.col-lg-push-5{left:41.66666667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.33333333%}.col-lg-push-8{left:66.66666667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.33333333%}.col-lg-push-11{left:91.66666667%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-11{right:91.66666667%}.col-lg-offset-0{margin-left:0}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-11{margin-left:91.66666667%}}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:14px;line-height:1.4}@media (min-width:768px){.lead{font-size:19.5px}}.small,small{font-size:85%}cite{font-style:normal}.text-gray,.text-muted{color:#838a9d}.text-gray a,.text-muted a{color:#757d92}.text-gray a:active,.text-gray a:hover,.text-muted a:active,.text-muted a:hover{color:#3c4353}.text-primary{color:#0c64eb}.text-warning,.text-yellow{color:#ff9800}.text-danger,.text-red{color:#ff5d5d}.text-green,.text-success{color:#00da88}.text-blue,.text-info{color:#2196f3}.text-brown,.text-important{color:#bd7b46}.text-purple,.text-special{color:#8666b8}.text-link{color:#3c4353}.text-link:active,.text-link:hover{color:#3c4353}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.nobr,.text-nowrap{overflow:hidden;white-space:nowrap}.text-wrap{overflow:visible;white-space:normal}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}dl{margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}.dl-inline dt{display:inline-block}.dl-inline dd{display:inline-block;padding-right:1em}.dl-inline dd:last-child{padding-right:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}blockquote{padding:10px 20px;margin:0 0 20px;font-size:16.25px;border-left:5px solid #eee}blockquote ol,blockquote p,blockquote ul{font-weight:300}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote small{display:block;line-height:1.42857143;color:#838a9d}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}.ol-pd-2{padding-left:40px}.ol-pd-3{padding-left:60px}.ol-pd-4{padding-left:80px}.bg-black,.bg-default{color:#fff;background-color:#3c4353}.bg-primary{color:#fff;background-color:#0c64eb}.bg-green,.bg-success{color:#fff;background-color:#00da88}.bg-blue,.bg-info{color:#fff;background-color:#2196f3}.bg-warning,.bg-yellow{color:#fff;background-color:#ff9800}.bg-danger,.bg-red{color:#fff;background-color:#ff5d5d}.bg-brown,.bg-important{color:#fff;background-color:#bd7b46}.bg-purple,.bg-special{color:#fff;background-color:#8666b8}.hl-default,.hl-gray{background-color:#f1f1f1}.hl-primary{background-color:#e9f2fb}.hl-green,.hl-success{background-color:#e8f5e9}.hl-blue,.hl-info{background-color:#e3f2fd}.hl-warning,.hl-yellow{background-color:#fff3e0}.hl-danger,.hl-red{background-color:#ffebee}.hl-brown,.hl-important{background-color:#efebe9}.hl-purple,.hl-special{background-color:#f3e5f5}.header-dividing,.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}h1,h2,h3,h4,h5,h6{font-family:"Helvetica Neue",Helvetica,Tahoma,Arial,'PingFang SC','Source Han Sans CN','Source Han Sans','Source Han Serif','Hiragino Sans GB','WenQuanYi Micro Hei','Microsoft YaHei',sans-serif;font-weight:700;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:400;line-height:1;color:#838a9d}h1,h2,h3{margin-top:20px;margin-bottom:10px}h1 small,h2 small,h3 small{font-size:65%}h4,h5,h6{margin-top:10px;margin-bottom:10px}h4 small,h5 small,h6 small{font-size:75%}h1{font-size:24px}h2{font-size:20px}h3{font-size:18px}h4{font-size:14px}h5{font-size:13px}h6{font-size:12px}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}hr.divider-sm{margin-top:10px;margin-bottom:10px}hr.divider{margin:0}.label{display:inline;padding:.2em .6em .2em;font-size:85.71428571%;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#838a9d;border-radius:.25em}.label[href]:focus,.label[href]:hover{color:#fff;background-color:#697084}.label.label-outline{color:#838a9d;background:0 0;border:1px solid #838a9d}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.label-badge{display:inline-block;min-width:18px;padding:3px 7px;font-size:12px;line-height:1;border-radius:9px}.label-dot{display:inline-block;width:8px;height:8px;padding:0;line-height:20px;text-indent:-9999em;border-radius:50%}.label-dot:empty{display:inline-block}.label-primary{background-color:#0c64eb}.label-primary[href]:focus,.label-primary[href]:hover{color:#fff;background-color:#0a4fba}.label-primary.label-outline{color:#0c64eb;background:0 0;border:1px solid #0c64eb}.label-success{background-color:#00da88}.label-success[href]:focus,.label-success[href]:hover{color:#fff;background-color:#00a768}.label-success.label-outline{color:#00da88;background:0 0;border:1px solid #00da88}.label-info{background-color:#2196f3}.label-info[href]:focus,.label-info[href]:hover{color:#fff;background-color:#0c7cd5}.label-info.label-outline{color:#2196f3;background:0 0;border:1px solid #2196f3}.label-warning{background-color:#ff9800}.label-warning[href]:focus,.label-warning[href]:hover{color:#fff;background-color:#cc7a00}.label-warning.label-outline{color:#ff9800;background:0 0;border:1px solid #ff9800}.label-danger{background-color:#ff5d5d}.label-danger[href]:focus,.label-danger[href]:hover{color:#fff;background-color:#ff2a2a}.label-danger.label-outline{color:#ff5d5d;background:0 0;border:1px solid #ff5d5d}.btn .label,.nav-primary>li>a>.label{position:relative;top:-1px}.btn-danger .label,.btn-info .label,.btn-primary .label,.btn-success .label,.btn-warning .label{background-color:rgba(0,0,0,.2)}.list-group-item.active>.label,.nav-pills>.active>a>.label,.nav-primary>.active>a>.label{color:#3c4353;background-color:#fff}.nav>li>a>.label{margin-left:3px}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#838a9d}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:8px;margin-bottom:20px;overflow:hidden;background-color:#e9f2fb;border-radius:3px}.progress-bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;background-color:#0c64eb;-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress>.progress-bar:first-child{border-top-left-radius:3px;border-bottom-left-radius:3px}.progress>.progress-bar:last-child{border-top-right-radius:3px;border-bottom-right-radius:3px}.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#00da88}.progress-bar-info{background-color:#2196f3}.progress-bar-warning{background-color:#ff9800}.progress-bar-danger{background-color:#ff5d5d}.avatar{position:relative;display:block;width:30px;height:30px;overflow:hidden;line-height:30px;text-align:center;background-position:center;-webkit-background-size:cover;background-size:cover;border-radius:4px}.avatar img{display:block;width:100%;height:100%;margin:0}.avatar.has-text{color:#fff;background-color:#16a8f8}.avatar-sm{width:20px;height:20px;font-size:12px;line-height:20px}.avatar-lg{width:40px;height:40px;font-size:20px;line-height:40px}.avatar-lg>.icon{font-size:20px}.avatar-xl{width:70px;height:70px;font-size:35px;line-height:70px}.avatar-xl>.icon{font-size:35px}.avatar-circle{border-radius:50%}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:19.5px;line-height:inherit;color:#3c495c;border:0;border-bottom:1px solid #eee}label{display:inline-block;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:5px 0 0;margin-top:0\9;line-height:normal}input[type=file]{display:block}select[multiple],select[size]{height:auto}select:-moz-focusring{color:transparent;text-shadow:0 0 0 #000}select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}.os-mac select.form-control{-webkit-appearance:none;padding-right:18px;background-image:url(data:image/gif;base64,R0lGODlhBwAEAIAAAMvQ2////yH5BAEAAAEALAAAAAAHAAQAAAIIhA+BGWoNWSgAOw==);background-repeat:no-repeat;background-position:right 5px top 14px;-moz-appearance:none}.input-sm .os-mac select.form-control{background-position:right 5px top 9px}.input-lg .os-mac select.form-control{background-position:right 5px top 19px}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}.form-control::-webkit-input-placeholder{color:#838a9d}.form-control::-moz-placeholder{color:#838a9d}.form-control:-ms-input-placeholder{color:#838a9d}.form-control::placeholder{color:#838a9d}.form-control{display:block;width:100%;height:32px;padding:5px 8px;font-size:13px;line-height:1.42857143;color:#222;background-color:#fff;border:1px solid #dcdcdc;border-radius:2px;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}.form-control.focus,.form-control:focus{border-color:#0c64eb;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(12,100,235,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(12,100,235,.6)}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#f5f5f5}.form-control[readonly]{cursor:default}textarea.form-control{height:auto;min-height:32px}.form-group{margin-bottom:10px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:3px;margin-top:4px\9;margin-left:-20px}.os-android .checkbox input[type=checkbox],.os-android .checkbox-inline input[type=checkbox],.os-android .radio input[type=radio],.os-android .radio-inline input[type=radio]{margin-top:0}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.input-sm{height:24px;padding:2px 8px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:24px;line-height:24px}textarea.input-sm{height:auto}.input-lg{height:39px;padding:10px 16px;font-size:14px;line-height:1.25;border-radius:6px}select.input-lg{height:39px;line-height:39px}textarea.input-lg{height:auto}.has-warning .help-block,.has-warning>label{color:#ff9800}.has-warning .form-control{border-color:#ff9800;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#cc7a00;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ffc166;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ffc166}.has-warning .input-group-addon{color:#ff9800;background-color:#fff3e0;border-color:#ff9800}.has-error .help-block,.has-error>label{color:#ff5d5d}.has-error .form-control{border-color:#ff5d5d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#ff2a2a;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ffc3c3;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ffc3c3}.has-error .input-group-addon{color:#ff5d5d;background-color:#ffebee;border-color:#ff5d5d}.has-success .help-block,.has-success>label{color:#00da88}.has-success .form-control{border-color:#00da88;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#00a768;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #41ffb8;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #41ffb8}.has-success .input-group-addon{color:#00da88;background-color:#e8f5e9;border-color:#00da88}.form-control-static{min-height:33px;padding-top:6px;padding-bottom:6px;margin-bottom:0}.help-block{display:block;margin:5px 0;color:#74809b}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{float:none;margin-left:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .form-group>label,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:6px;margin-top:0;margin-bottom:0}.form-horizontal .form-group{margin-right:-10px;margin-left:-10px}@media (min-width:768px){.form-horizontal .form-group>label{text-align:right}}.required{position:relative}.required:after{position:absolute;top:0;right:-10px;display:inline-block;font-size:14px;color:#ff5d5d;content:'*'}.form-horizontal .required:after{top:5px;right:-1px}.form-condensed .form-group{margin-bottom:10px}.form-condensed .form-control{height:24px;padding:2px 8px;font-size:12px;line-height:1.5;border-radius:3px}select.form-condensed .form-control{height:24px;line-height:24px}textarea.form-condensed .form-control{height:auto}.form-condensed textarea.form-control{height:auto}.form-condensed .btn{padding:3px 8px;font-size:12px;line-height:18px;border-radius:4px}.form-condensed .input-group>.form-control,.form-condensed .input-group>.input-group-addon,.form-condensed .input-group>.input-group-btn>.btn{padding:2px 8px;font-size:12px;border-radius:3px}.form-condensed .input-group .form-control:first-child,.form-condensed .input-group-addon:first-child,.form-condensed .input-group-btn:first-child>.btn,.form-condensed .input-group-btn:first-child>.btn-group>.btn,.form-condensed .input-group-btn:first-child>.dropdown-toggle,.form-condensed .input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.form-condensed .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.form-condensed .input-group .form-control:last-child,.form-condensed .input-group-addon:last-child,.form-condensed .input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.form-condensed .input-group-btn:first-child>.btn:not(:first-child),.form-condensed .input-group-btn:last-child>.btn,.form-condensed .input-group-btn:last-child>.btn-group>.btn,.form-condensed .input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.form-condensed .input-group-addon:first-child{border-right:0}.form-condensed .input-group-addon:last-child{border-left:0}.form-condensed .input-group-addon.fix-border,.form-condensed .input-group-btn.fix-border>.btn{border-right:0;border-left:0;border-radius:0}.form-condensed.form-horizontal .checkbox,.form-condensed.form-horizontal .checkbox-inline,.form-condensed.form-horizontal .form-group>label,.form-condensed.form-horizontal .radio,.form-condensed.form-horizontal .radio-inline{padding-top:1px}.close{float:right;font-size:19.5px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.load-indicator{position:relative}.load-indicator:after,.load-indicator:before{position:absolute;color:#838a9d;text-align:center;visibility:hidden;opacity:0;-webkit-transition:.2s cubic-bezier(.175,.885,.32,1);-o-transition:.2s cubic-bezier(.175,.885,.32,1);transition:.2s cubic-bezier(.175,.885,.32,1);-webkit-transition-property:visibility,opacity;-o-transition-property:visibility,opacity;transition-property:visibility,opacity}.load-indicator:before{top:0;right:0;bottom:0;left:0;z-index:10;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:12px;content:attr(data-loading);background-color:rgba(255,255,255,.8);-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.load-indicator[data-loading]:before{padding-top:50px}.load-indicator:after{top:50%;left:50%;z-index:11;display:block;width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-family:ZentaoIcon;font-size:14px;font-size:24px;font-style:normal;font-weight:400;font-variant:normal;line-height:1;line-height:30px;text-transform:none;content:"\e982";-webkit-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.load-indicator.loading:after,.load-indicator.loading:before{visibility:visible;opacity:1}table{max-width:100%;font-size:inherit;background-color:transparent}caption{padding:8px 10px;color:#838a9d;text-align:left}th{text-align:left}.table{width:100%;margin-bottom:20px}.table td,.table th{padding:8px 10px;line-height:1.42857143;vertical-align:top;border-bottom:1px solid #cbd0db;-webkit-transition:background .2s cubic-bezier(.175,.885,.32,1);-o-transition:background .2s cubic-bezier(.175,.885,.32,1);transition:background .2s cubic-bezier(.175,.885,.32,1)}.table>thead>tr>th{font-weight:700;color:#3c4353;vertical-align:bottom;background-color:transparent;border-bottom:1px solid #cbd0db}.table>tbody+tbody{border-top:2px solid #cbd0db}.table-fixed{table-layout:fixed}.table-fixed td,.table-fixed th{overflow:hidden;white-space:nowrap}.table-fixed .nofixed,.table-fixed tfoot>tr>td,.table-fixed tfoot>tr>th{overflow:visible}.table-borderless td,.table-borderless th,.table-borderless thead>tr>th{border:none}.table-auto{width:auto;max-width:100%}.table-condensed td,.table-condensed th{padding:5px}.table-bordered{border:1px solid #cbd0db}.table-bordered td,.table-bordered th{border:1px solid #cbd0db}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#e9f2fb}table col[class*=col-]{display:table-column;float:none}table td[class*=col-],table th[class*=col-]{display:table-cell;float:none}.table tr.active>td,.table tr.active>th,.table tr>td.active,.table tr>th.active{background-color:#ffe9c6}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#e8f5e9;border-color:#c7e6c4}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d6edd8;border-color:#b7deb3}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#ffebee;border-color:#ffd1e0}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ffd1d8;border-color:#ffb8ce}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fff3e0;border-color:#ffe0c6}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#ffe9c6;border-color:#ffd2ad}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #cbd0db}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered th{border-top:none}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}.alert{padding:15px;margin-bottom:20px;color:#313744;background-color:#f1f1f1;border-radius:3px;-webkit-transition:all .4s cubic-bezier(.175,.885,.32,1);-o-transition:all .4s cubic-bezier(.175,.885,.32,1);transition:all .4s cubic-bezier(.175,.885,.32,1)}.alert hr{border-top-color:#e4e4e4}.alert .alert-link{color:#22262f}.alert h4{margin-top:0;color:inherit}.alert hr{margin:10px 0}.alert p,.alert ul{margin-bottom:0}.alert p+p{margin-top:5px}.alert-link{font-weight:700}.alert>[class*=icon-]{float:left;margin-top:-5px;font-size:42px;opacity:.6;-webkit-transition:opacity .2s cubic-bezier(.175,.885,.32,1);-o-transition:opacity .2s cubic-bezier(.175,.885,.32,1);transition:opacity .2s cubic-bezier(.175,.885,.32,1)}.alert>[class*=icon-]+.content{min-height:30px;margin-left:64px}.alert.with-icon{display:table;width:100%}.alert.with-icon>[class*=icon-],.alert.with-icon>[class*=icon-]+.content{display:table-cell;float:none;min-height:0;margin:0;vertical-align:middle}.alert.with-icon>[class*=icon-]{width:48px;text-align:center}.alert.with-icon>[class*=icon-]+.content{padding-left:1em}.alert-block{margin:0;border-radius:0}.alert-dismissable{padding-right:35px}.alert-dismissable .close{position:relative;top:-6px;right:-21px;color:inherit}.alert-primary{color:#313744;background-color:#e9f2fb}.alert-primary hr{border-top-color:#cbe0f6}.alert-primary .alert-link{color:#22262f}.alert-success{color:#00c178;background-color:#e8f5e9}.alert-success hr{border-top-color:#c7e6c4}.alert-success .alert-link{color:#009d62}.alert-info{color:#0d8aee;background-color:#e3f2fd}.alert-info hr{border-top-color:#9ce0f8}.alert-info .alert-link{color:#0b76cc}.alert-warning{color:#e68900;background-color:#fff3e0}.alert-warning hr{border-top-color:#ffe0c6}.alert-warning .alert-link{color:#c27400}.alert-danger{color:#ff4343;background-color:#ffebee}.alert-danger hr{border-top-color:#ffd1e0}.alert-danger .alert-link{color:#ff2020}.alert-inverse{color:#fff;background-color:#3c4353;border-color:#3c4353}.alert-inverse hr{border-top-color:#cbd0db;border-top-color:rgba(203,208,219,.25)}.alert-inverse .alert-link{color:rgba(255,255,255,.8)}.alert-primary-inverse{color:#fff;background-color:#0c64eb;border-color:#0c64eb}.alert-primary-inverse hr{border-top-color:#cbd0db;border-top-color:rgba(203,208,219,.25)}.alert-primary-inverse .alert-link{color:rgba(255,255,255,.8)}.alert-success-inverse{color:#fff;background-color:#00da88;border-color:#00da88}.alert-success-inverse hr{border-top-color:#cbd0db;border-top-color:rgba(203,208,219,.25)}.alert-success-inverse .alert-link{color:rgba(255,255,255,.8)}.alert-info-inverse{color:#fff;background-color:#2196f3;border-color:#2196f3}.alert-info-inverse hr{border-top-color:#cbd0db;border-top-color:rgba(203,208,219,.25)}.alert-info-inverse .alert-link{color:rgba(255,255,255,.8)}.alert-warning-inverse{color:#fff;background-color:#ff9800;border-color:#ff9800}.alert-warning-inverse hr{border-top-color:#cbd0db;border-top-color:rgba(203,208,219,.25)}.alert-warning-inverse .alert-link{color:rgba(255,255,255,.8)}.alert-danger-inverse{color:#fff;background-color:#ff5d5d;border-color:#ff5d5d}.alert-danger-inverse hr{border-top-color:#cbd0db;border-top-color:rgba(203,208,219,.25)}.alert-danger-inverse .alert-link{color:rgba(255,255,255,.8)}.input-control-icon-left,.input-control-icon-right,.input-control-label-left,.input-control-label-right{position:absolute;top:1px;z-index:5;height:30px;line-height:30px;opacity:.5}.input-control-icon-left,.input-control-icon-right{width:30px;text-align:center}.input-control-icon-left,.input-control-label-left{left:1px}.input-control-icon-right,.input-control-label-right{right:1px}.input-control-label-left,.input-control-label-right{width:70px;padding:0 8px;overflow:hidden;text-overflow:ellipsis}.has-label-left-sm>.input-control-label-left,.has-label-left-sm>.input-control-label-right{width:55px}.has-label-left-lg>.input-control-label-left,.has-label-left-lg>.input-control-label-right{width:95px}.input-control{position:relative}.input-control.has-icon-left>.form-control{padding-left:30px}.input-control.has-icon-right>.form-control{padding-right:30px}.input-control.has-label-left>.form-control{padding-left:70px}.input-control.has-label-right>.form-control{padding-right:70px}.input-control.has-label-left-sm>.form-control{padding-left:55px}.input-control.has-label-right-sm>.form-control{padding-right:55px}.input-control.has-label-left-lg>.form-control{padding-left:95px}.input-control.has-label-right-lg>.form-control{padding-right:95px}.input-control>a:hover{background-color:#f1f1f1;opacity:1}.form-control:focus+[class^=input-control-],.form-control:focus+[class^=input-control-]+[class^=input-control-]{opacity:1}.form-control:focus+.input-control-label-left{color:#16a8f8}.empty+.search-clear-btn,.empty+.search-icon+.search-clear-btn{opacity:0!important}input:placeholder-shown+.search-clear-btn,input:placeholder-shown+.search-icon+.search-clear-btn{opacity:0!important}.search-box-circle .input-control-icon-left,.search-box-circle .input-control-icon-right,.search-box-circle>.form-control{border-radius:16px}.search-box-circle+.input-group-btn>.btn{border-radius:0 16px 16px 0}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:5px 12px;font-size:13px;font-weight:400;line-height:1;color:#3c495c;text-align:center;background-color:#eee;border:1px solid #dcdcdc;border-radius:2px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group-addon.fix-border{border-right:0;border-left:0}.input-group-addon:empty{width:1px;padding:0}.input-group-addon.fix-padding{width:1px;padding:0}.input-group-btn.fix-border>.btn{border-right:0;border-left:0;border-radius:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:first-child{border-right:0}.input-group-addon:last-child{border-left:0}.input-group-addon+.input-group-addon{border-left:1px solid #dcdcdc}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:39px;padding:10px 16px;font-size:14px;line-height:1.25;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:39px;line-height:39px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:24px;padding:2px 8px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:24px;line-height:24px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon.input-sm{padding:2px 8px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:14px;border-radius:6px}.code,code,kbd,pre,samp{font-family:Monaco,Menlo,Consolas,"Courier New",monospace}code,kbd{padding:2px 4px;font-size:90%;color:#37474f;background-color:#f3f5f7;border-radius:4px}kbd{padding:1px 4px;font-weight:700;color:#666;background-color:#f1f1f1;border:1px solid #d8d8d8;border-bottom-width:2px}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:12px;line-height:1.38461538;color:#3c495c;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;margin:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.com{color:#93a1a1}.lit{color:#195f91}.clo,.opn,.pun{color:#93a1a1}.fun{color:#dc322f}.atv,.str{color:#d14}.kwd,.prettyprint .tag{color:#1e347b}.atn,.dec,.typ,.var{color:teal}.pln{color:#48484c}.prettyprint.linenums{-webkit-box-shadow:inset 40px 0 0 #fbfbfc,inset 41px 0 0 #ececf0;box-shadow:inset 40px 0 0 #fbfbfc,inset 41px 0 0 #ececf0}.prettyprint ol.linenums{padding-left:35px;margin-bottom:0;line-height:20px;color:#bebec5;text-shadow:0 1px 0 #fff}.pager{display:inline-block;padding-left:0;margin:20px 0;list-style:none}.pager>li{display:inline}.pager>li>a,.pager>li>span{position:relative;float:left;padding:5px 12px;margin-left:-1px;line-height:1.42857143;text-decoration:none;background-color:#fff;border:1px solid #cbd0db}.pager>li:first-child>a,.pager>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pager>li:last-child>a,.pager>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pager>li>a:focus,.pager>li>a:hover,.pager>li>span:focus,.pager>li>span:hover{z-index:2;background-color:#eee}.pager>li.active>a,.pager>li.active>a:hover,.pager>li.active>span,.pager>li.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#0c64eb;border-color:#0c64eb}.pager>li.disabled>a,.pager>li.disabled>a:focus,.pager>li.disabled>a:hover,.pager>li.disabled>span,.pager>li.disabled>span:focus,.pager>li.disabled>span:hover{color:#cbd0db;pointer-events:none;cursor:not-allowed;background-color:#fff;border-color:#cbd0db}.pager-justify{display:block}.pager-justify .next>a,.pager-justify .next>span{float:right;border-radius:4px}.pager-justify .previous>a,.pager-justify .previous>span{float:left;border-radius:4px}.pager-goto{width:100px;text-align:center}.pager>li>div{float:left}.pager>li .pager-goto,.pager>li .pager-size-menu,.pager>li.space{margin:0 5px}.pager-label{position:relative;float:left;padding:5px 4px;margin-left:-1px;line-height:1.42857143;text-decoration:none;border:1px solid transparent}.pager-item-left>a{border-top-left-radius:4px;border-bottom-left-radius:4px}.pager-item-right>a{border-top-right-radius:4px;border-bottom-right-radius:4px}.pager-lg>li>a,.pager-lg>li>span{padding:10px 16px;font-size:14px}.pager-lg>li:first-child>a,.pager-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pager-lg>li:last-child>a,.pager-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pager-sm>li>a,.pager-sm>li>span{padding:2px 8px;font-size:12px}.pager-sm>li:first-child>a,.pager-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pager-sm>li:last-child>a,.pager-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager-pills>li:first-child>a,.pager-pills>li:first-child>span{border-radius:16px 0 0 16px}.pager-pills>li:last-child>a,.pager-pills>li:last-child>span{border-radius:0 16px 16px 0}.pager-pills.pager-justify>li>a,.pager-pills.pager-justify>li>span{border-radius:16px}.pager-loose{display:block;margin:20px 0}.pager-loose.pager-pills>li>a,.pager-loose.pager-pills>li>span{border-radius:16px}.pager-loose>li>a,.pager-loose>li>span{margin-left:5px;border-radius:4px}.pager-loose>li:first-child>a,.pager-loose>li:first-child>span{margin-left:0}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>.nav-heading{padding:8px 15px;font-weight:700;color:#838a9d}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:8px 15px;color:#3c4353}.nav>li>a:focus,.nav>li>a:hover{color:#0c64eb;text-decoration:none;background-color:#f1f1f1}.nav>li.disabled>a{color:#cbd0db}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#cbd0db;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#f1f1f1;border-color:#3c4353}.nav>li>a>img{max-width:none}.nav-default>li{float:left}.nav-simple>li{float:left}.nav-simple>li>a{border-radius:4px}.nav-simple>li.active>a,.nav-simple>li.active>a:focus,.nav-simple>li.active>a:hover{color:#0c64eb;background-color:#e9f2fb}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:20px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#0c64eb}.nav-primary>li{float:left;margin-left:-1px}.nav-primary>li:first-child>a{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.nav-primary>li:last-child>a{border-top-right-radius:4px;border-bottom-right-radius:4px}.nav-primary>li>a{border:1px solid #cbd0db}.nav-primary>li.active>a,.nav-primary>li.active>a:focus,.nav-primary>li.active>a:hover{color:#fff;background-color:#0c64eb;border-color:#0c64eb}.nav-secondary>li{float:left}.nav-secondary>li>a{border-bottom:2px solid #eee}.nav-secondary>li.active>a,.nav-secondary>li.active>a:focus,.nav-secondary>li.active>a:hover{color:#0c64eb;border-bottom-color:#0c64eb}.nav-secondary>li.nav-heading{border-bottom:2px solid #eee}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-stacked.nav-primary>li,.nav-stacked.nav-primary>li>a{margin-left:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.nav-stacked.nav-primary>li+li{margin-top:-1px}.nav-stacked.nav-primary>li:first-child{margin-top:0}.nav-stacked.nav-primary>li:first-child.nav-heading,.nav-stacked.nav-primary>li:first-child>a{margin-left:0;border-top-left-radius:4px;border-top-right-radius:4px}.nav-stacked.nav-primary>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.nav-stacked.nav-primary>li.nav-heading{background-color:#f1f1f1;border:1px solid #cbd0db}.nav-stacked.nav-secondary>li>a{border:none;border-top-right-radius:4px;border-bottom-right-radius:4px;-webkit-box-shadow:inset 2px 0 0 #f5f5f5;box-shadow:inset 2px 0 0 #f5f5f5}.nav-stacked.nav-secondary>li>a:hover{-webkit-box-shadow:inset 2px 0 0 #eee;box-shadow:inset 2px 0 0 #eee}.nav-stacked.nav-secondary>li+li{margin-top:-1px}.nav-stacked.nav-secondary>li:first-child{margin-top:0}.nav-stacked.nav-secondary>li.active>a,.nav-stacked.nav-secondary>li.active>a:focus,.nav-stacked.nav-secondary>li.active>a:hover{background-color:#f5f5f5;-webkit-box-shadow:inset 2px 0 0 #0c64eb;box-shadow:inset 2px 0 0 #0c64eb}.nav-stacked.nav-secondary>li.nav-heading{border-bottom:1px solid #cbd0db}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{padding-right:0;padding-left:0;margin-bottom:5px;text-align:center}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}.nav-justified.nav-primary>li+li>a{border-left:0}}.nav-tabs{border-bottom:1px solid #cbd0db}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #cbd0db}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#838a9d;cursor:default;background-color:#fff;border:1px solid #cbd0db;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{padding-right:0;padding-left:0;margin-bottom:5px;text-align:center}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}.nav-tabs.nav-justified.nav-primary>li+li>a{border-left:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #cbd0db}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #cbd0db;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}@-moz-document url-prefix(){.nav-tabs>li.active>a:focus .nav-tabs>li>a:focus{outline:0}}.nav-tabs.nav-stacked{border-right:1px solid #cbd0db;border-bottom:none}.nav-tabs.nav-stacked>li{float:none;margin-right:-1px;margin-bottom:0}.nav-tabs.nav-stacked>li>a{margin-right:0;border-radius:4px 0 0 4px}.nav-tabs.nav-stacked>li.active>a,.nav-tabs.nav-stacked>li.active>a:focus,.nav-tabs.nav-stacked>li.active>a:hover{border:1px solid #cbd0db;border-right-color:transparent}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #cbd0db}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #cbd0db;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:40px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:10px;padding-left:10px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-10px;margin-left:-10px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:40px;padding:10px 15px;font-size:14px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-10px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:3px;margin-right:3px;margin-bottom:3px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:5px -10px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px}.navbar-nav.nav-justified>li{float:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-nav.pull-right>li>.dropdown-menu,.navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar-btn{margin-top:4px;margin-bottom:4px}.navbar-text{float:left;margin-top:10px;margin-bottom:10px}@media (min-width:768px){.navbar-text{margin-right:10px;margin-left:10px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-10px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f7f7f7;border-color:#dedede}.navbar-default .navbar-brand{color:#3c495c}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#28313d;background-color:transparent}.navbar-default .navbar-text{color:#3c495c}.navbar-default .navbar-nav>li>a{color:#3c495c}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#222;background-color:#eee}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#cbd0db}.navbar-default .navbar-toggle .icon-bar{background-color:#838a9d}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#dedede}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#3c495c}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#222;background-color:#eee}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#3c495c}.navbar-default .navbar-link:hover{color:#222}.navbar-default .btn-link{color:#3c495c}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#222}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#16a8f8;border-color:#068cd5}.navbar-inverse .navbar-brand{color:#cbd0db}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#cbd0db}.navbar-inverse .navbar-nav>li>a{color:#cbd0db}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:#34b3f9}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#48baf9}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#079ced}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#0795e3}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#48baf9}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#068cd5}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#068cd5}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#cbd0db}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:#34b3f9}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#48baf9}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#cbd0db}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-form{padding:10px 10px;margin-top:4px;margin-right:-10px;margin-bottom:4px;margin-left:-10px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{float:none;margin-left:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.no-animation,.no-animation *,.no-animation :after,.no-animation :before,.no-animation:after,.no-animation:before{-webkit-transition:none!important;-o-transition:none!important;transition:none!important}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.scale{-webkit-transition:all .15s ease;-o-transition:all .15s ease;transition:all .15s ease;-webkit-transform:scale(.8);-ms-transform:scale(.8);-o-transform:scale(.8);transform:scale(.8)}.scale.in{-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.scrollbar-hover::-webkit-scrollbar,.scrollbar-hover::-webkit-scrollbar-button,.scrollbar-hover::-webkit-scrollbar-thumb,.scrollbar-hover::-webkit-scrollbar-track{visibility:hidden}.scrollbar-hover:hover::-webkit-scrollbar,.scrollbar-hover:hover::-webkit-scrollbar-button,.scrollbar-hover:hover::-webkit-scrollbar-thumb,.scrollbar-hover:hover::-webkit-scrollbar-track{visibility:visible}@media (min-width:768px){::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-button{width:0;height:0}::-webkit-scrollbar-button:end:increment,::-webkit-scrollbar-button:start:decrement{display:block}::-webkit-scrollbar-button:vertical:end:decrement,::-webkit-scrollbar-button:vertical:start:increment{display:none}::-webkit-scrollbar-thumb:horizontal,::-webkit-scrollbar-thumb:vertical,::-webkit-scrollbar-track:horizontal,::-webkit-scrollbar-track:vertical{border-color:transparent;border-style:solid}::-webkit-scrollbar-track:vertical::-webkit-scrollbar-track:horizontal{background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box}::-webkit-scrollbar-thumb{min-height:28px;background-color:rgba(0,0,0,.2);-webkit-background-clip:padding-box;background-clip:padding-box;border-radius:2px;-webkit-box-shadow:inset 1px 1px 0 rgba(0,0,0,.1),inset 0 -1px 0 rgba(0,0,0,.07)}::-webkit-scrollbar-thumb:hover{background-color:rgba(0,0,0,.4);-webkit-box-shadow:inset 1px 1px 1px rgba(0,0,0,.25)}::-webkit-scrollbar-thumb:active{background-color:rgba(0,0,0,.5);-webkit-box-shadow:inset 1px 1px 3px rgba(0,0,0,.35)}::-webkit-scrollbar-thumb:horizontal,::-webkit-scrollbar-thumb:vertical,::-webkit-scrollbar-track:horizontal,::-webkit-scrollbar-track:vertical{border-width:0}::-webkit-scrollbar-track:hover{background-color:rgba(0,0,0,.05);-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,.1)}::-webkit-scrollbar-track:active{background-color:rgba(0,0,0,.05);-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,.14),inset -1px -1px 0 rgba(0,0,0,.07)}}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal>.loader{display:none}.modal.modal-loading .loader,.modal.modal-updating .loader{position:absolute;top:35%;left:50%;display:block;width:80px;margin-left:-40px;font-size:56px;color:#fff;text-align:center}.modal.modal-loading .modal-dialog{opacity:0}.modal.modal-updating .modal-dialog{opacity:1}.modal.modal-updating .modal-body{opacity:0}.modal.modal-updating .loader{z-index:1;color:#eee}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-iframe .modal-body{overflow:hidden!important}.modal-iframe .modal-body>iframe{border-radius:0 0 6px 6px}.modal-dialog{position:relative;width:auto;margin:0 auto;pointer-events:initial;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-dialog.modal-moveable{position:absolute;margin:0}.modal-dialog.modal-moveable .modal-header{cursor:move}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}@media (min-width:768px){.modal-dialog{width:600px;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.modal-fullscreen{position:relative;width:100%!important;height:100%!important;margin:0;border-radius:0}.modal-fullscreen .modal-body{position:absolute;top:52px;right:0;bottom:0;left:0;overflow-y:auto}.modal-scroll-inside{overflow:hidden!important}.body-modal-scroll-inside{overflow:auto}.tooltip{position:absolute;z-index:1030;display:block;font-size:12px;line-height:1.4;visibility:visible;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=100);opacity:1}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#3c4353;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#3c4353}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#3c4353}.tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-width:5px 5px 0;border-top-color:#3c4353}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#3c4353}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#3c4353}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#3c4353}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#3c4353}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#3c4353}.tooltip-primary .tooltip-inner{background-color:#0c64eb}.tooltip-primary.tooltip.top .tooltip-arrow{border-top-color:#0c64eb}.tooltip-primary.tooltip.top-left .tooltip-arrow{border-top-color:#0c64eb}.tooltip-primary.tooltip.top-right .tooltip-arrow{border-top-color:#0c64eb}.tooltip-primary.tooltip.right .tooltip-arrow{border-right-color:#0c64eb}.tooltip-primary.tooltip.left .tooltip-arrow{border-left-color:#0c64eb}.tooltip-primary.tooltip.bottom .tooltip-arrow{border-bottom-color:#0c64eb}.tooltip-primary.tooltip.bottom-left .tooltip-arrow{border-bottom-color:#0c64eb}.tooltip-primary.tooltip.bottom-right .tooltip-arrow{border-bottom-color:#0c64eb}.tooltip-success .tooltip-inner{background-color:#00da88}.tooltip-success.tooltip.top .tooltip-arrow{border-top-color:#00da88}.tooltip-success.tooltip.top-left .tooltip-arrow{border-top-color:#00da88}.tooltip-success.tooltip.top-right .tooltip-arrow{border-top-color:#00da88}.tooltip-success.tooltip.right .tooltip-arrow{border-right-color:#00da88}.tooltip-success.tooltip.left .tooltip-arrow{border-left-color:#00da88}.tooltip-success.tooltip.bottom .tooltip-arrow{border-bottom-color:#00da88}.tooltip-success.tooltip.bottom-left .tooltip-arrow{border-bottom-color:#00da88}.tooltip-success.tooltip.bottom-right .tooltip-arrow{border-bottom-color:#00da88}.tooltip-info .tooltip-inner{background-color:#2196f3}.tooltip-info.tooltip.top .tooltip-arrow{border-top-color:#2196f3}.tooltip-info.tooltip.top-left .tooltip-arrow{border-top-color:#2196f3}.tooltip-info.tooltip.top-right .tooltip-arrow{border-top-color:#2196f3}.tooltip-info.tooltip.right .tooltip-arrow{border-right-color:#2196f3}.tooltip-info.tooltip.left .tooltip-arrow{border-left-color:#2196f3}.tooltip-info.tooltip.bottom .tooltip-arrow{border-bottom-color:#2196f3}.tooltip-info.tooltip.bottom-left .tooltip-arrow{border-bottom-color:#2196f3}.tooltip-info.tooltip.bottom-right .tooltip-arrow{border-bottom-color:#2196f3}.tooltip-warning .tooltip-inner{background-color:#ff9800}.tooltip-warning.tooltip.top .tooltip-arrow{border-top-color:#ff9800}.tooltip-warning.tooltip.top-left .tooltip-arrow{border-top-color:#ff9800}.tooltip-warning.tooltip.top-right .tooltip-arrow{border-top-color:#ff9800}.tooltip-warning.tooltip.right .tooltip-arrow{border-right-color:#ff9800}.tooltip-warning.tooltip.left .tooltip-arrow{border-left-color:#ff9800}.tooltip-warning.tooltip.bottom .tooltip-arrow{border-bottom-color:#ff9800}.tooltip-warning.tooltip.bottom-left .tooltip-arrow{border-bottom-color:#ff9800}.tooltip-warning.tooltip.bottom-right .tooltip-arrow{border-bottom-color:#ff9800}.tooltip-danger .tooltip-inner{background-color:#ff5d5d}.tooltip-danger.tooltip.top .tooltip-arrow{border-top-color:#ff5d5d}.tooltip-danger.tooltip.top-left .tooltip-arrow{border-top-color:#ff5d5d}.tooltip-danger.tooltip.top-right .tooltip-arrow{border-top-color:#ff5d5d}.tooltip-danger.tooltip.right .tooltip-arrow{border-right-color:#ff5d5d}.tooltip-danger.tooltip.left .tooltip-arrow{border-left-color:#ff5d5d}.tooltip-danger.tooltip.bottom .tooltip-arrow{border-bottom-color:#ff5d5d}.tooltip-danger.tooltip.bottom-left .tooltip-arrow{border-bottom-color:#ff5d5d}.tooltip-danger.tooltip.bottom-right .tooltip-arrow{border-bottom-color:#ff5d5d}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:300px;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:4px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover.no-arrow.top{margin-top:0}.popover.no-arrow.right{margin-left:0}.popover.no-arrow.bottom{margin-top:0}.popover.no-arrow.left{margin-left:0}.modal .popover,.popover-in-modal{z-index:1050}.popover-title{padding:8px 14px;margin:0;font-size:13px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:4px 4px 0 0}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{content:"";border-width:10px}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom .arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left .arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.popover-primary{border-color:#0c64eb}.popover-primary .popover-title{color:#fff;background-color:#0c64eb}.popover-primary.popover.top .arrow{border-top-color:#0c64eb}.popover-primary.popover.right .arrow{border-right-color:#0c64eb}.popover-primary.popover.left .arrow{border-left-color:#0c64eb}.popover-primary.popover.bottom .arrow,.popover-primary.popover.bottom .arrow:after{border-bottom-color:#0c64eb}.popover-success{border-color:#00da88}.popover-success .popover-title{color:#fff;background-color:#00da88}.popover-success.popover.top .arrow{border-top-color:#00da88}.popover-success.popover.right .arrow{border-right-color:#00da88}.popover-success.popover.left .arrow{border-left-color:#00da88}.popover-success.popover.bottom .arrow,.popover-success.popover.bottom .arrow:after{border-bottom-color:#00da88}.popover-info{border-color:#2196f3}.popover-info .popover-title{color:#fff;background-color:#2196f3}.popover-info.popover.top .arrow{border-top-color:#2196f3}.popover-info.popover.right .arrow{border-right-color:#2196f3}.popover-info.popover.left .arrow{border-left-color:#2196f3}.popover-info.popover.bottom .arrow,.popover-info.popover.bottom .arrow:after{border-bottom-color:#2196f3}.popover-warning{border-color:#ff9800}.popover-warning .popover-title{color:#fff;background-color:#ff9800}.popover-warning.popover.top .arrow{border-top-color:#ff9800}.popover-warning.popover.right .arrow{border-right-color:#ff9800}.popover-warning.popover.left .arrow{border-left-color:#ff9800}.popover-warning.popover.bottom .arrow,.popover-warning.popover.bottom .arrow:after{border-bottom-color:#ff9800}.popover-danger{border-color:#ff5d5d}.popover-danger .popover-title{color:#fff;background-color:#ff5d5d}.popover-danger.popover.top .arrow{border-top-color:#ff5d5d}.popover-danger.popover.right .arrow{border-right-color:#ff5d5d}.popover-danger.popover.left .arrow{border-left-color:#ff5d5d}.popover-danger.popover.bottom .arrow,.popover-danger.popover.bottom .arrow:after{border-bottom-color:#ff5d5d}.caret{display:inline-block;width:0;height:0;margin-bottom:2px;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent;opacity:.5}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:100px;padding:5px 0;margin:2px 0 0;font-size:13px;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #b6bdcc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.12),0 1px 3px rgba(0,0,0,.1);box-shadow:0 6px 12px rgba(0,0,0,.12),0 1px 3px rgba(0,0,0,.1)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#eee}.dropdown-menu>li>a{display:block;padding:5px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#3c4353;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#fff;text-decoration:none;background-color:#0c64eb}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#0c64eb;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#cbd0db}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.dropdown-hover .dropdown-menu{margin:-1px 0}.dropdown-hover:hover>.dropdown-menu,.open>.dropdown-menu{display:block;opacity:1}.dropdown-hover:hover>a,.open>a{outline:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;font-weight:700;line-height:1.42857143;color:#838a9d}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0 dotted;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;border-radius:4px}.dropdown-submenu.open>.dropdown-menu,.dropdown-submenu:hover>.dropdown-menu{display:block}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;border-radius:4px}.dropdown-submenu>a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;content:" ";border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#ccc}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu>a{min-width:100px}.dropdown-submenu>.dropdown-menu.pull-left{right:100%;left:auto}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{color:#fff;text-decoration:none;background-color:#0c64eb}.messager{display:table;margin:10px;overflow:hidden;color:#fff;pointer-events:auto;background-color:#3c4353;background-color:rgba(0,0,0,.8);border-radius:20px;-webkit-transition-property:opacity,-webkit-transform!important;-o-transition-property:opacity,-o-transform!important;transition-property:opacity,-webkit-transform!important;transition-property:opacity,transform!important;transition-property:opacity,transform,-webkit-transform,-o-transform!important}.messager-icon{display:table-cell;padding:10px 0 10px 15px;line-height:20px;text-align:center;vertical-align:top}.messager-content{display:table-cell;padding:10px 15px;vertical-align:top}.messager-content a{font-weight:700;color:inherit}.messager-title{font-size:14px;font-weight:700}.messager-title+.messager-text{margin-top:10px}.messager-actions{display:table-cell;vertical-align:top}.messager-actions>.action{min-width:40px;height:40px;padding:0 12px;color:#fafafa;color:rgba(255,255,255,.6);text-align:center;text-shadow:none;background:0 0;border:none}.messager-actions>.action.close{padding-bottom:5px;font-size:20px;font-weight:400;opacity:1}.messager-actions>.action:hover{color:#fff;background:rgba(0,0,0,.1)}.messager-actions .action-icon+.action-text{margin-left:8px}.messagers-holder{position:fixed;z-index:99999;padding:10px;pointer-events:none}.messagers-holder.top{top:0}.messagers-holder.top-left{top:0;left:0}.messagers-holder.top-right{top:0;right:0}.messagers-holder.bottom{bottom:0}.messagers-holder.bottom-left{bottom:0;left:0}.messagers-holder.bottom-right{right:0;bottom:0}.messagers-holder.bottom-right .messager,.messagers-holder.top-right .messager{margin-left:auto}.messagers-holder.center{top:0}.messagers-holder.bottom,.messagers-holder.center,.messagers-holder.top{right:0;left:0}.messagers-holder.bottom .messager,.messagers-holder.center .messager,.messagers-holder.top .messager{margin:10px auto}.messager-notification{min-width:250px;max-width:400px;border-radius:4px}.messager-notification .messager-icon{width:42px;vertical-align:middle}.messager-notification .messager-content{vertical-align:middle}.messager-text>p:last-child{margin:0}.messager-primary{background-color:#0c64eb}.messager-success{background-color:#00da88}.messager-info{background-color:#2196f3}.messager-warning{background-color:#ff9800}.messager-danger{background-color:#ff5d5d}.messager-important{background-color:#bd7b46}.messager-special{background-color:#8666b8}.article{padding:20px}.article>header h1,.article>header h2,.article>header h3{margin-bottom:20px;line-height:1.5}.article>header>.abstract,.article>header>dl{padding:10px 15px;font-size:12px;color:#67738e;background-color:#f1f1f1}.article>header>.abstract>p:last-child,.article>header>dl>p:last-child{margin-bottom:0}.article>header>dl{margin:0;border-bottom:1px solid #e9e9e9}.article>header>dl.pull-right{background-color:transparent;border:none}.article>footer{border-top:1px dashed #d8d8d8}.article>footer>p{padding:10px 15px}.article-content,.article>.content{padding:20px 0;font-size:14px;line-height:1.57142857}.article-content h1,.article>.content h1{font-size:20px}.article-content h2,.article>.content h2{font-size:18px}.article-content h3,.article>.content h3{font-size:16px}.article-content h4,.article>.content h4{margin-top:15px;font-size:14px}.article-content h5,.article>.content h5{margin-top:15px;font-size:13px}.article-content h6,.article>.content h6{margin-top:15px;font-size:11px}.article-content img,.article>.content img{margin:10px 0}.article-content p>img+img,.article>.content p>img+img{margin-left:10px}.article-content p>img[align=right],.article>.content p>img[align=right]{margin-left:10px}.article-content dl,.article>.content dl{padding-right:2em;padding-left:2em}.article-content table,.article>.content table{margin-bottom:20px}.article-content table td,.article-content table th,.article>.content table td,.article>.content table th{padding:8px 10px;line-height:1.42857143;vertical-align:top;border-bottom:1px solid #cbd0db}.article-content table>thead>tr>th,.article>.content table>thead>tr>th{vertical-align:bottom;background-color:transparent}.article-content p{margin-bottom:0}.article>.content table td,.article>.content table th,.article>.content table>thead>tr>th{border:1px solid #cbd0db}body.article-content{padding:8px}.article-condensed{padding:20px 0}.article-condensed>header{padding:0 20px}.article-condensed>header>.abstract,.article-condensed>header>dl{padding:10px 15px;margin:0 -20px}.article-condensed>.article-content,.article-condensed>.content{padding:20px}.article-condensed>.article-content>img,.article-condensed>.article-content>pre,.article-condensed>.content>img,.article-condensed>.content>pre{margin-right:-20px;margin-left:-20px;border-radius:0}.article-condensed>.article-content>pre,.article-condensed>.content>pre{border-right:none;border-left:none}.article-condensed>footer{border-top:1px dashed #d8d8d8}.article-condensed>footer>p{padding:10px 15px}.article-condensed>footer>.pager-justify>.previous>a{border-left:none;border-radius:0}.article-condensed>footer>.pager-justify>.next>a{border-right:none;border-radius:0}/*! + *//*! normalize.css v2.1.3 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}a{background:0 0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{margin:.67em 0;font-size:2em}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}mark{color:#000;background:#ff0}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}button,input,select,textarea{margin:0;font-family:inherit;font-size:100%}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}textarea{overflow:auto;vertical-align:top}table{border-spacing:0;border-collapse:collapse}#userMenu:after,#userMenu:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fixed-md:after,.container-fixed-md:before,.container-fixed-sm:after,.container-fixed-sm:before,.container-fixed-xs:after,.container-fixed-xs:before,.container-fixed:after,.container-fixed:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.dl-inline:after,.dl-inline:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager-justify:after,.pager-justify:before,.pager-loose:after,.pager-loose:before,.row:after,.row:before,.table-footer:after,.table-footer:before{display:table;content:" "}#userMenu:after,.btn-toolbar:after,.clearfix:after,.container-fixed-md:after,.container-fixed-sm:after,.container-fixed-xs:after,.container-fixed:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.dl-inline:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager-justify:after,.pager-loose:after,.row:after,.table-footer:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none}.showing{display:block}.hidden{display:none!important;visibility:hidden!important}.show{display:block!important;visibility:visible!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.affix{position:fixed}.with-padding{padding:5px 12px}.no-padding{padding:0!important}.no-margin{margin:0!important}.inline-block.visible-xs,.inline.visible-xs,.visible-xs,td.visible-xs,th.visible-xs,tr.visible-xs{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}.inline.visible-xs{display:inline!important}.inline-block.visible-xs{display:inline-block!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-xs.visible-sm{display:block!important}.inline.visible-xs.visible-sm{display:inline!important}.inline-block.visible-xs.visible-sm{display:inline-block!important}tr.visible-xs.visible-sm{display:table-row!important}td.visible-xs.visible-sm,th.visible-xs.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1799px){.visible-xs.visible-md{display:block!important}.inline.visible-xs.visible-md{display:inline!important}.inline-block.visible-xs.visible-md{display:inline-block!important}tr.visible-xs.visible-md{display:table-row!important}td.visible-xs.visible-md,th.visible-xs.visible-md{display:table-cell!important}}@media (min-width:1800px){.visible-xs.visible-lg{display:block!important}.inline.visible-xs.visible-lg{display:inline!important}.inline-block.visible-xs.visible-lg{display:inline-block!important}tr.visible-xs.visible-lg{display:table-row!important}td.visible-xs.visible-lg,th.visible-xs.visible-lg{display:table-cell!important}}.inline-block.visible-sm,.inline.visible-sm,.visible-sm,td.visible-sm,th.visible-sm,tr.visible-sm{display:none!important}@media (max-width:767px){.visible-sm.visible-xs{display:block!important}.inline.visible-sm.visible-xs{display:inline!important}.inline-block.visible-sm.visible-xs{display:inline-block!important}tr.visible-sm.visible-xs{display:table-row!important}td.visible-sm.visible-xs,th.visible-sm.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}.inline.visible-sm{display:inline!important}.inline-block.visible-sm{display:inline-block!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1799px){.visible-sm.visible-md{display:block!important}.inline.visible-sm.visible-md{display:inline!important}.inline-block.visible-sm.visible-md{display:inline-block!important}tr.visible-sm.visible-md{display:table-row!important}td.visible-sm.visible-md,th.visible-sm.visible-md{display:table-cell!important}}@media (min-width:1800px){.visible-sm.visible-lg{display:block!important}.inline.visible-sm.visible-lg{display:inline!important}.inline-block.visible-sm.visible-lg{display:inline-block!important}tr.visible-sm.visible-lg{display:table-row!important}td.visible-sm.visible-lg,th.visible-sm.visible-lg{display:table-cell!important}}.inline-block.visible-md,.inline.visible-md,.visible-md,td.visible-md,th.visible-md,tr.visible-md{display:none!important}@media (max-width:767px){.visible-md.visible-xs{display:block!important}.inline.visible-md.visible-xs{display:inline!important}.inline-block.visible-md.visible-xs{display:inline-block!important}tr.visible-md.visible-xs{display:table-row!important}td.visible-md.visible-xs,th.visible-md.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-md.visible-sm{display:block!important}.inline.visible-md.visible-sm{display:inline!important}.inline-block.visible-md.visible-sm{display:inline-block!important}tr.visible-md.visible-sm{display:table-row!important}td.visible-md.visible-sm,th.visible-md.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1799px){.visible-md{display:block!important}.inline.visible-md{display:inline!important}.inline-block.visible-md{display:inline-block!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:1800px){.visible-md.visible-lg{display:block!important}.inline.visible-md.visible-lg{display:inline!important}.inline-block.visible-md.visible-lg{display:inline-block!important}tr.visible-md.visible-lg{display:table-row!important}td.visible-md.visible-lg,th.visible-md.visible-lg{display:table-cell!important}}.inline-block.visible-lg,.inline.visible-lg,.visible-lg,td.visible-lg,th.visible-lg,tr.visible-lg{display:none!important}@media (max-width:767px){.visible-lg.visible-xs{display:block!important}.inline.visible-lg.visible-xs{display:inline!important}.inline-block.visible-lg.visible-xs{display:inline-block!important}tr.visible-lg.visible-xs{display:table-row!important}td.visible-lg.visible-xs,th.visible-lg.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-lg.visible-sm{display:block!important}.inline.visible-lg.visible-sm{display:inline!important}.inline-block.visible-lg.visible-sm{display:inline-block!important}tr.visible-lg.visible-sm{display:table-row!important}td.visible-lg.visible-sm,th.visible-lg.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1799px){.visible-lg.visible-md{display:block!important}.inline.visible-lg.visible-md{display:inline!important}.inline-block.visible-lg.visible-md{display:inline-block!important}tr.visible-lg.visible-md{display:table-row!important}td.visible-lg.visible-md,th.visible-lg.visible-md{display:table-cell!important}}@media (min-width:1800px){.visible-lg{display:block!important}.inline.visible-lg{display:inline!important}.inline-block.visible-lg{display:inline-block!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}.hidden-xs{display:block!important}.inline.hidden-xs{display:inline!important}.inline-block.hidden-xs{display:inline-block!important}tr.hidden-xs{display:table-row!important}td.hidden-xs,th.hidden-xs{display:table-cell!important}@media (max-width:767px){.hidden-xs,.inline-block.hidden-xs,.inline.hidden-xs,td.hidden-xs,th.hidden-xs,tr.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm,.inline-block.hidden-xs.hidden-sm,.inline.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm,th.hidden-xs.hidden-sm,tr.hidden-xs.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1799px){.hidden-xs.hidden-md,.inline-block.hidden-xs.hidden-md,.inline.hidden-xs.hidden-md,td.hidden-xs.hidden-md,th.hidden-xs.hidden-md,tr.hidden-xs.hidden-md{display:none!important}}@media (min-width:1800px){.hidden-xs.hidden-lg,.inline-block.hidden-xs.hidden-lg,.inline.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg,th.hidden-xs.hidden-lg,tr.hidden-xs.hidden-lg{display:none!important}}.hidden-sm{display:block!important}.inline.hidden-sm{display:inline!important}.inline-block.hidden-sm{display:inline-block!important}tr.hidden-sm{display:table-row!important}td.hidden-sm,th.hidden-sm{display:table-cell!important}@media (max-width:767px){.hidden-sm.hidden-xs,.inline-block.hidden-sm.hidden-xs,.inline.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs,th.hidden-sm.hidden-xs,tr.hidden-sm.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm,.inline-block.hidden-sm,.inline.hidden-sm,td.hidden-sm,th.hidden-sm,tr.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1799px){.hidden-sm.hidden-md,.inline-block.hidden-sm.hidden-md,.inline.hidden-sm.hidden-md,td.hidden-sm.hidden-md,th.hidden-sm.hidden-md,tr.hidden-sm.hidden-md{display:none!important}}@media (min-width:1800px){.hidden-sm.hidden-lg,.inline-block.hidden-sm.hidden-lg,.inline.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg,th.hidden-sm.hidden-lg,tr.hidden-sm.hidden-lg{display:none!important}}.hidden-md{display:block!important}.inline.hidden-md{display:inline!important}.inline-block.hidden-md{display:inline-block!important}tr.hidden-md{display:table-row!important}td.hidden-md,th.hidden-md{display:table-cell!important}@media (max-width:767px){.hidden-md.hidden-xs,.inline-block.hidden-md.hidden-xs,.inline.hidden-md.hidden-xs,td.hidden-md.hidden-xs,th.hidden-md.hidden-xs,tr.hidden-md.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-md.hidden-sm,.inline-block.hidden-md.hidden-sm,.inline.hidden-md.hidden-sm,td.hidden-md.hidden-sm,th.hidden-md.hidden-sm,tr.hidden-md.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1799px){.hidden-md,.inline-block.hidden-md,.inline.hidden-md,td.hidden-md,th.hidden-md,tr.hidden-md{display:none!important}}@media (min-width:1800px){.hidden-md.hidden-lg,.inline-block.hidden-md.hidden-lg,.inline.hidden-md.hidden-lg,td.hidden-md.hidden-lg,th.hidden-md.hidden-lg,tr.hidden-md.hidden-lg{display:none!important}}.hidden-lg{display:block!important}.inline.hidden-lg{display:inline!important}.inline-block.hidden-lg{display:inline-block!important}tr.hidden-lg{display:table-row!important}td.hidden-lg,th.hidden-lg{display:table-cell!important}@media (max-width:767px){.hidden-lg.hidden-xs,.inline-block.hidden-lg.hidden-xs,.inline.hidden-lg.hidden-xs,td.hidden-lg.hidden-xs,th.hidden-lg.hidden-xs,tr.hidden-lg.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-lg.hidden-sm,.inline-block.hidden-lg.hidden-sm,.inline.hidden-lg.hidden-sm,td.hidden-lg.hidden-sm,th.hidden-lg.hidden-sm,tr.hidden-lg.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1799px){.hidden-lg.hidden-md,.inline-block.hidden-lg.hidden-md,.inline.hidden-lg.hidden-md,td.hidden-lg.hidden-md,th.hidden-lg.hidden-md,tr.hidden-lg.hidden-md{display:none!important}}@media (min-width:1800px){.hidden-lg,.inline-block.hidden-lg,.inline.hidden-lg,td.hidden-lg,th.hidden-lg,tr.hidden-lg{display:none!important}}.inline-block.visible-print,.inline.visible-print,.visible-print,td.visible-print,th.visible-print,tr.visible-print{display:none!important}@media print{.visible-print{display:block!important}.inline.visible-print{display:inline!important}.inline-block.visible-print{display:inline-block!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}.hidden-print,.inline-block.hidden-print,.inline.hidden-print,td.hidden-print,th.hidden-print,tr.hidden-print{display:none!important}}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Tahoma,Arial,'PingFang SC','Source Han Sans CN','Source Han Sans','Source Han Serif','Hiragino Sans GB','WenQuanYi Micro Hei','Microsoft YaHei',sans-serif;font-size:13px;line-height:1.42857143;color:#3c4353;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#3c4353;text-decoration:none;cursor:pointer;-webkit-transition:.4s cubic-bezier(.175,.885,.32,1);-o-transition:.4s cubic-bezier(.175,.885,.32,1);transition:.4s cubic-bezier(.175,.885,.32,1);-webkit-transition-property:color,background,opacity,-webkit-transform;-o-transition-property:color,background,opacity,-o-transform;transition-property:color,background,opacity,-webkit-transform;transition-property:color,background,transform,opacity;transition-property:color,background,transform,opacity,-webkit-transform,-o-transform}a:focus,a:hover{color:#0c64eb;text-decoration:none}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a.disabled,a.disabled:focus,a.disabled:hover,a[disabled],a[disabled]:focus,a[disabled]:hover{color:#aaa;text-decoration:none;cursor:default}audio,canvas,img,video{max-width:100%;vertical-align:middle}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}::-moz-selection{text-shadow:none;background:#b3d4fc}::selection{text-shadow:none;background:#b3d4fc}fieldset{padding:0;margin:0;border:0}textarea{resize:vertical}ol,ul{padding-left:20px}.scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.container,.container-fixed,.container-fixed-md,.container-fixed-sm,.container-fixed-xs,.container-fluid{padding-right:10px;padding-left:10px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{max-width:972px}}@media (min-width:992px){.container{max-width:1760px}}@media (min-width:1800px){.container{max-width:1760px}}.container-fixed{width:1760px}.container-fixed-md{width:1760px}.container-fixed-sm{width:972px}.container-fixed-xs{width:748px}.row{margin-right:-10px;margin-left:-10px}.col,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:10px;padding-left:10px}.col,.col-xs,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-1,.col-xs-1{width:8.33333333%}.col-2,.col-xs-2{width:16.66666667%}.col-3,.col-xs-3{width:25%}.col-4,.col-xs-4{width:33.33333333%}.col-5,.col-xs-5{width:41.66666667%}.col-6,.col-xs-6{width:50%}.col-7,.col-xs-7{width:58.33333333%}.col-8,.col-xs-8{width:66.66666667%}.col-9,.col-xs-9{width:75%}.col-10,.col-xs-10{width:83.33333333%}.col-11,.col-xs-11{width:91.66666667%}.col-12,.col-xs-12{width:100%}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-1{width:8.33333333%}.col-sm-2{width:16.66666667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333333%}.col-sm-5{width:41.66666667%}.col-sm-6{width:50%}.col-sm-7{width:58.33333333%}.col-sm-8{width:66.66666667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333333%}.col-sm-11{width:91.66666667%}.col-sm-12{width:100%}.col-sm-push-1{left:8.33333333%}.col-sm-push-2{left:16.66666667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.33333333%}.col-sm-push-5{left:41.66666667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.33333333%}.col-sm-push-8{left:66.66666667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.33333333%}.col-sm-push-11{left:91.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-11{right:91.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-11{margin-left:91.66666667%}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-1{width:8.33333333%}.col-md-2{width:16.66666667%}.col-md-3{width:25%}.col-md-4{width:33.33333333%}.col-md-5{width:41.66666667%}.col-md-6{width:50%}.col-md-7{width:58.33333333%}.col-md-8{width:66.66666667%}.col-md-9{width:75%}.col-md-10{width:83.33333333%}.col-md-11{width:91.66666667%}.col-md-12{width:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.33333333%}.col-md-push-2{left:16.66666667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.33333333%}.col-md-push-5{left:41.66666667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.33333333%}.col-md-push-8{left:66.66666667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.33333333%}.col-md-push-11{left:91.66666667%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.33333333%}.col-md-pull-2{right:16.66666667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.33333333%}.col-md-pull-5{right:41.66666667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.33333333%}.col-md-pull-8{right:66.66666667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.33333333%}.col-md-pull-11{right:91.66666667%}.col-md-offset-0{margin-left:0}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-11{margin-left:91.66666667%}}@media (min-width:1800px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-1{width:8.33333333%}.col-lg-2{width:16.66666667%}.col-lg-3{width:25%}.col-lg-4{width:33.33333333%}.col-lg-5{width:41.66666667%}.col-lg-6{width:50%}.col-lg-7{width:58.33333333%}.col-lg-8{width:66.66666667%}.col-lg-9{width:75%}.col-lg-10{width:83.33333333%}.col-lg-11{width:91.66666667%}.col-lg-12{width:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.33333333%}.col-lg-push-2{left:16.66666667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.33333333%}.col-lg-push-5{left:41.66666667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.33333333%}.col-lg-push-8{left:66.66666667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.33333333%}.col-lg-push-11{left:91.66666667%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-11{right:91.66666667%}.col-lg-offset-0{margin-left:0}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-11{margin-left:91.66666667%}}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:14px;line-height:1.4}@media (min-width:768px){.lead{font-size:19.5px}}.small,small{font-size:85%}cite{font-style:normal}.text-gray,.text-muted{color:#838a9d}.text-gray a,.text-muted a{color:#757d92}.text-gray a:active,.text-gray a:hover,.text-muted a:active,.text-muted a:hover{color:#3c4353}.text-primary{color:#0c64eb}.text-warning,.text-yellow{color:#ff9800}.text-danger,.text-red{color:#ff5d5d}.text-green,.text-success{color:#00da88}.text-blue,.text-info{color:#2196f3}.text-brown,.text-important{color:#bd7b46}.text-purple,.text-special{color:#8666b8}.text-link{color:#3c4353}.text-link:active,.text-link:hover{color:#3c4353}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.nobr,.text-nowrap{overflow:hidden;white-space:nowrap}.text-wrap{overflow:visible;white-space:normal}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}dl{margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}.dl-inline dt{display:inline-block}.dl-inline dd{display:inline-block;padding-right:1em}.dl-inline dd:last-child{padding-right:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}blockquote{padding:10px 20px;margin:0 0 20px;font-size:16.25px;border-left:5px solid #eee}blockquote ol,blockquote p,blockquote ul{font-weight:300}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote small{display:block;line-height:1.42857143;color:#838a9d}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}.ol-pd-2{padding-left:40px}.ol-pd-3{padding-left:60px}.ol-pd-4{padding-left:80px}.bg-black,.bg-default{color:#fff;background-color:#3c4353}.bg-primary{color:#fff;background-color:#0c64eb}.bg-green,.bg-success{color:#fff;background-color:#00da88}.bg-blue,.bg-info{color:#fff;background-color:#2196f3}.bg-warning,.bg-yellow{color:#fff;background-color:#ff9800}.bg-danger,.bg-red{color:#fff;background-color:#ff5d5d}.bg-brown,.bg-important{color:#fff;background-color:#bd7b46}.bg-purple,.bg-special{color:#fff;background-color:#8666b8}.hl-default,.hl-gray{background-color:#f1f1f1}.hl-primary{background-color:#e9f2fb}.hl-green,.hl-success{background-color:#e8f5e9}.hl-blue,.hl-info{background-color:#e3f2fd}.hl-warning,.hl-yellow{background-color:#fff3e0}.hl-danger,.hl-red{background-color:#ffebee}.hl-brown,.hl-important{background-color:#efebe9}.hl-purple,.hl-special{background-color:#f3e5f5}.header-dividing,.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}h1,h2,h3,h4,h5,h6{font-family:"Helvetica Neue",Helvetica,Tahoma,Arial,'PingFang SC','Source Han Sans CN','Source Han Sans','Source Han Serif','Hiragino Sans GB','WenQuanYi Micro Hei','Microsoft YaHei',sans-serif;font-weight:700;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:400;line-height:1;color:#838a9d}h1,h2,h3{margin-top:20px;margin-bottom:10px}h1 small,h2 small,h3 small{font-size:65%}h4,h5,h6{margin-top:10px;margin-bottom:10px}h4 small,h5 small,h6 small{font-size:75%}h1{font-size:24px}h2{font-size:20px}h3{font-size:18px}h4{font-size:14px}h5{font-size:13px}h6{font-size:12px}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}hr.divider-sm{margin-top:10px;margin-bottom:10px}hr.divider{margin:0}.label{display:inline;padding:.2em .6em .2em;font-size:85.71428571%;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#838a9d;border-radius:.25em}.label[href]:focus,.label[href]:hover{color:#fff;background-color:#697084}.label.label-outline{color:#838a9d;background:0 0;border:1px solid #838a9d}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.label-badge{display:inline-block;min-width:18px;padding:3px 7px;font-size:12px;line-height:1;border-radius:9px}.label-dot{display:inline-block;width:8px;height:8px;padding:0;line-height:20px;text-indent:-9999em;border-radius:50%}.label-dot:empty{display:inline-block}.label-primary{background-color:#0c64eb}.label-primary[href]:focus,.label-primary[href]:hover{color:#fff;background-color:#0a4fba}.label-primary.label-outline{color:#0c64eb;background:0 0;border:1px solid #0c64eb}.label-success{background-color:#00da88}.label-success[href]:focus,.label-success[href]:hover{color:#fff;background-color:#00a768}.label-success.label-outline{color:#00da88;background:0 0;border:1px solid #00da88}.label-info{background-color:#2196f3}.label-info[href]:focus,.label-info[href]:hover{color:#fff;background-color:#0c7cd5}.label-info.label-outline{color:#2196f3;background:0 0;border:1px solid #2196f3}.label-warning{background-color:#ff9800}.label-warning[href]:focus,.label-warning[href]:hover{color:#fff;background-color:#cc7a00}.label-warning.label-outline{color:#ff9800;background:0 0;border:1px solid #ff9800}.label-danger{background-color:#ff5d5d}.label-danger[href]:focus,.label-danger[href]:hover{color:#fff;background-color:#ff2a2a}.label-danger.label-outline{color:#ff5d5d;background:0 0;border:1px solid #ff5d5d}.btn .label,.nav-primary>li>a>.label{position:relative;top:-1px}.btn-danger .label,.btn-info .label,.btn-primary .label,.btn-success .label,.btn-warning .label{background-color:rgba(0,0,0,.2)}.list-group-item.active>.label,.nav-pills>.active>a>.label,.nav-primary>.active>a>.label{color:#3c4353;background-color:#fff}.nav>li>a>.label{margin-left:3px}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#838a9d}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:8px;margin-bottom:20px;overflow:hidden;background-color:#e9f2fb;border-radius:3px}.progress-bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;background-color:#0c64eb;-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress>.progress-bar:first-child{border-top-left-radius:3px;border-bottom-left-radius:3px}.progress>.progress-bar:last-child{border-top-right-radius:3px;border-bottom-right-radius:3px}.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#00da88}.progress-bar-info{background-color:#2196f3}.progress-bar-warning{background-color:#ff9800}.progress-bar-danger{background-color:#ff5d5d}.avatar{position:relative;display:block;width:30px;height:30px;overflow:hidden;line-height:30px;text-align:center;background-position:center;-webkit-background-size:cover;background-size:cover;border-radius:4px}.avatar img{display:block;width:100%;height:100%;margin:0}.avatar.has-text{color:#fff;background-color:#16a8f8}.avatar-sm{width:20px;height:20px;font-size:12px;line-height:20px}.avatar-lg{width:40px;height:40px;font-size:20px;line-height:40px}.avatar-lg>.icon{font-size:20px}.avatar-xl{width:70px;height:70px;font-size:35px;line-height:70px}.avatar-xl>.icon{font-size:35px}.avatar-circle{border-radius:50%}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:19.5px;line-height:inherit;color:#3c495c;border:0;border-bottom:1px solid #eee}label{display:inline-block;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:5px 0 0;margin-top:0\9;line-height:normal}input[type=file]{display:block}select[multiple],select[size]{height:auto}select:-moz-focusring{color:transparent;text-shadow:0 0 0 #000}select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}.os-mac select.form-control{-webkit-appearance:none;padding-right:18px;background-image:url(data:image/gif;base64,R0lGODlhBwAEAIAAAMvQ2////yH5BAEAAAEALAAAAAAHAAQAAAIIhA+BGWoNWSgAOw==);background-repeat:no-repeat;background-position:right 5px top 14px;-moz-appearance:none}.input-sm .os-mac select.form-control{background-position:right 5px top 9px}.input-lg .os-mac select.form-control{background-position:right 5px top 19px}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}@-moz-document url-prefix(){input[type=radio]:focus{outline:2px solid #0c64eb;-moz-outline-radius:100%}}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}.form-control::-webkit-input-placeholder{color:#838a9d}.form-control::-moz-placeholder{color:#838a9d}.form-control:-ms-input-placeholder{color:#838a9d}.form-control::placeholder{color:#838a9d}.form-control{display:block;width:100%;height:32px;padding:5px 8px;font-size:13px;line-height:1.42857143;color:#222;background-color:#fff;border:1px solid #dcdcdc;border-radius:2px;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}.form-control.focus,.form-control:focus{border-color:#0c64eb;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(12,100,235,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(12,100,235,.6)}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#f5f5f5}.form-control[readonly]{cursor:default}textarea.form-control{height:auto;min-height:32px}.form-group{margin-bottom:10px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:3px;margin-top:4px\9;margin-left:-20px}.os-android .checkbox input[type=checkbox],.os-android .checkbox-inline input[type=checkbox],.os-android .radio input[type=radio],.os-android .radio-inline input[type=radio]{margin-top:0}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.input-sm{height:24px;padding:2px 8px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:24px;line-height:24px}textarea.input-sm{height:auto}.input-lg{height:39px;padding:10px 16px;font-size:14px;line-height:1.25;border-radius:6px}select.input-lg{height:39px;line-height:39px}textarea.input-lg{height:auto}.has-warning .help-block,.has-warning>label{color:#ff9800}.has-warning .form-control{border-color:#ff9800;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#cc7a00;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ffc166;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ffc166}.has-warning .input-group-addon{color:#ff9800;background-color:#fff3e0;border-color:#ff9800}.has-error .help-block,.has-error>label{color:#ff5d5d}.has-error .form-control{border-color:#ff5d5d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#ff2a2a;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ffc3c3;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ffc3c3}.has-error .input-group-addon{color:#ff5d5d;background-color:#ffebee;border-color:#ff5d5d}.has-success .help-block,.has-success>label{color:#00da88}.has-success .form-control{border-color:#00da88;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#00a768;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #41ffb8;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #41ffb8}.has-success .input-group-addon{color:#00da88;background-color:#e8f5e9;border-color:#00da88}.form-control-static{min-height:33px;padding-top:6px;padding-bottom:6px;margin-bottom:0}.help-block{display:block;margin:5px 0;color:#74809b}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{float:none;margin-left:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .form-group>label,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:6px;margin-top:0;margin-bottom:0}.form-horizontal .form-group{margin-right:-10px;margin-left:-10px}@media (min-width:768px){.form-horizontal .form-group>label{text-align:right}}.required{position:relative}.required:after{position:absolute;top:0;right:-10px;display:inline-block;font-size:14px;color:#ff5d5d;content:'*'}.form-horizontal .required:after{top:5px;right:-1px}.form-condensed .form-group{margin-bottom:10px}.form-condensed .form-control{height:24px;padding:2px 8px;font-size:12px;line-height:1.5;border-radius:3px}select.form-condensed .form-control{height:24px;line-height:24px}textarea.form-condensed .form-control{height:auto}.form-condensed textarea.form-control{height:auto}.form-condensed .btn{padding:3px 8px;font-size:12px;line-height:18px;border-radius:4px}.form-condensed .input-group>.form-control,.form-condensed .input-group>.input-group-addon,.form-condensed .input-group>.input-group-btn>.btn{padding:2px 8px;font-size:12px;border-radius:3px}.form-condensed .input-group .form-control:first-child,.form-condensed .input-group-addon:first-child,.form-condensed .input-group-btn:first-child>.btn,.form-condensed .input-group-btn:first-child>.btn-group>.btn,.form-condensed .input-group-btn:first-child>.dropdown-toggle,.form-condensed .input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.form-condensed .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.form-condensed .input-group .form-control:last-child,.form-condensed .input-group-addon:last-child,.form-condensed .input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.form-condensed .input-group-btn:first-child>.btn:not(:first-child),.form-condensed .input-group-btn:last-child>.btn,.form-condensed .input-group-btn:last-child>.btn-group>.btn,.form-condensed .input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.form-condensed .input-group-addon:first-child{border-right:0}.form-condensed .input-group-addon:last-child{border-left:0}.form-condensed .input-group-addon.fix-border,.form-condensed .input-group-btn.fix-border>.btn{border-right:0;border-left:0;border-radius:0}.form-condensed.form-horizontal .checkbox,.form-condensed.form-horizontal .checkbox-inline,.form-condensed.form-horizontal .form-group>label,.form-condensed.form-horizontal .radio,.form-condensed.form-horizontal .radio-inline{padding-top:1px}.close{float:right;font-size:19.5px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.load-indicator{position:relative}.load-indicator:after,.load-indicator:before{position:absolute;color:#838a9d;text-align:center;visibility:hidden;opacity:0;-webkit-transition:.2s cubic-bezier(.175,.885,.32,1);-o-transition:.2s cubic-bezier(.175,.885,.32,1);transition:.2s cubic-bezier(.175,.885,.32,1);-webkit-transition-property:visibility,opacity;-o-transition-property:visibility,opacity;transition-property:visibility,opacity}.load-indicator:before{top:0;right:0;bottom:0;left:0;z-index:10;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:12px;content:attr(data-loading);background-color:rgba(255,255,255,.8);-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.load-indicator[data-loading]:before{padding-top:50px}.load-indicator:after{top:50%;left:50%;z-index:11;display:block;width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-family:ZentaoIcon;font-size:14px;font-size:24px;font-style:normal;font-weight:400;font-variant:normal;line-height:1;line-height:30px;text-transform:none;content:"\e982";-webkit-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.load-indicator.loading:after,.load-indicator.loading:before{visibility:visible;opacity:1}table{max-width:100%;font-size:inherit;background-color:transparent}caption{padding:8px 10px;color:#838a9d;text-align:left}th{text-align:left}.table{width:100%;margin-bottom:20px}.table td,.table th{padding:8px 10px;line-height:1.42857143;vertical-align:top;border-bottom:1px solid #cbd0db;-webkit-transition:background .2s cubic-bezier(.175,.885,.32,1);-o-transition:background .2s cubic-bezier(.175,.885,.32,1);transition:background .2s cubic-bezier(.175,.885,.32,1)}.table>thead>tr>th{font-weight:700;color:#3c4353;vertical-align:bottom;background-color:transparent;border-bottom:1px solid #cbd0db}.table>tbody+tbody{border-top:2px solid #cbd0db}.table-fixed{table-layout:fixed}.table-fixed td,.table-fixed th{overflow:hidden;white-space:nowrap}.table-fixed .nofixed,.table-fixed tfoot>tr>td,.table-fixed tfoot>tr>th{overflow:visible}.table-borderless td,.table-borderless th,.table-borderless thead>tr>th{border:none}.table-auto{width:auto;max-width:100%}.table-condensed td,.table-condensed th{padding:5px}.table-bordered{border:1px solid #cbd0db}.table-bordered td,.table-bordered th{border:1px solid #cbd0db}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#e9f2fb}table col[class*=col-]{display:table-column;float:none}table td[class*=col-],table th[class*=col-]{display:table-cell;float:none}.table tr.active>td,.table tr.active>th,.table tr>td.active,.table tr>th.active{background-color:#ffe9c6}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#e8f5e9;border-color:#c7e6c4}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d6edd8;border-color:#b7deb3}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#ffebee;border-color:#ffd1e0}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ffd1d8;border-color:#ffb8ce}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fff3e0;border-color:#ffe0c6}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#ffe9c6;border-color:#ffd2ad}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #cbd0db}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered th{border-top:none}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}.alert{padding:15px;margin-bottom:20px;color:#313744;background-color:#f1f1f1;border-radius:3px;-webkit-transition:all .4s cubic-bezier(.175,.885,.32,1);-o-transition:all .4s cubic-bezier(.175,.885,.32,1);transition:all .4s cubic-bezier(.175,.885,.32,1)}.alert hr{border-top-color:#e4e4e4}.alert .alert-link{color:#22262f}.alert h4{margin-top:0;color:inherit}.alert hr{margin:10px 0}.alert p,.alert ul{margin-bottom:0}.alert p+p{margin-top:5px}.alert-link{font-weight:700}.alert>[class*=icon-]{float:left;margin-top:-5px;font-size:42px;opacity:.6;-webkit-transition:opacity .2s cubic-bezier(.175,.885,.32,1);-o-transition:opacity .2s cubic-bezier(.175,.885,.32,1);transition:opacity .2s cubic-bezier(.175,.885,.32,1)}.alert>[class*=icon-]+.content{min-height:30px;margin-left:64px}.alert.with-icon{display:table;width:100%}.alert.with-icon>[class*=icon-],.alert.with-icon>[class*=icon-]+.content{display:table-cell;float:none;min-height:0;margin:0;vertical-align:middle}.alert.with-icon>[class*=icon-]{width:48px;text-align:center}.alert.with-icon>[class*=icon-]+.content{padding-left:1em}.alert-block{margin:0;border-radius:0}.alert-dismissable{padding-right:35px}.alert-dismissable .close{position:relative;top:-6px;right:-21px;color:inherit}.alert-primary{color:#313744;background-color:#e9f2fb}.alert-primary hr{border-top-color:#cbe0f6}.alert-primary .alert-link{color:#22262f}.alert-success{color:#00c178;background-color:#e8f5e9}.alert-success hr{border-top-color:#c7e6c4}.alert-success .alert-link{color:#009d62}.alert-info{color:#0d8aee;background-color:#e3f2fd}.alert-info hr{border-top-color:#9ce0f8}.alert-info .alert-link{color:#0b76cc}.alert-warning{color:#e68900;background-color:#fff3e0}.alert-warning hr{border-top-color:#ffe0c6}.alert-warning .alert-link{color:#c27400}.alert-danger{color:#ff4343;background-color:#ffebee}.alert-danger hr{border-top-color:#ffd1e0}.alert-danger .alert-link{color:#ff2020}.alert-inverse{color:#fff;background-color:#3c4353;border-color:#3c4353}.alert-inverse hr{border-top-color:#cbd0db;border-top-color:rgba(203,208,219,.25)}.alert-inverse .alert-link{color:rgba(255,255,255,.8)}.alert-primary-inverse{color:#fff;background-color:#0c64eb;border-color:#0c64eb}.alert-primary-inverse hr{border-top-color:#cbd0db;border-top-color:rgba(203,208,219,.25)}.alert-primary-inverse .alert-link{color:rgba(255,255,255,.8)}.alert-success-inverse{color:#fff;background-color:#00da88;border-color:#00da88}.alert-success-inverse hr{border-top-color:#cbd0db;border-top-color:rgba(203,208,219,.25)}.alert-success-inverse .alert-link{color:rgba(255,255,255,.8)}.alert-info-inverse{color:#fff;background-color:#2196f3;border-color:#2196f3}.alert-info-inverse hr{border-top-color:#cbd0db;border-top-color:rgba(203,208,219,.25)}.alert-info-inverse .alert-link{color:rgba(255,255,255,.8)}.alert-warning-inverse{color:#fff;background-color:#ff9800;border-color:#ff9800}.alert-warning-inverse hr{border-top-color:#cbd0db;border-top-color:rgba(203,208,219,.25)}.alert-warning-inverse .alert-link{color:rgba(255,255,255,.8)}.alert-danger-inverse{color:#fff;background-color:#ff5d5d;border-color:#ff5d5d}.alert-danger-inverse hr{border-top-color:#cbd0db;border-top-color:rgba(203,208,219,.25)}.alert-danger-inverse .alert-link{color:rgba(255,255,255,.8)}.input-control-icon-left,.input-control-icon-right,.input-control-label-left,.input-control-label-right{position:absolute;top:1px;z-index:5;height:30px;line-height:30px;opacity:.5}.input-control-icon-left,.input-control-icon-right{width:30px;text-align:center}.input-control-icon-left,.input-control-label-left{left:1px}.input-control-icon-right,.input-control-label-right{right:1px}.input-control-label-left,.input-control-label-right{width:70px;padding:0 8px;overflow:hidden;text-overflow:ellipsis}.has-label-left-sm>.input-control-label-left,.has-label-left-sm>.input-control-label-right{width:55px}.has-label-left-lg>.input-control-label-left,.has-label-left-lg>.input-control-label-right{width:95px}.input-control{position:relative}.input-control.has-icon-left>.form-control{padding-left:30px}.input-control.has-icon-right>.form-control{padding-right:30px}.input-control.has-label-left>.form-control{padding-left:70px}.input-control.has-label-right>.form-control{padding-right:70px}.input-control.has-label-left-sm>.form-control{padding-left:55px}.input-control.has-label-right-sm>.form-control{padding-right:55px}.input-control.has-label-left-lg>.form-control{padding-left:95px}.input-control.has-label-right-lg>.form-control{padding-right:95px}.input-control>a:hover{background-color:#f1f1f1;opacity:1}.form-control:focus+[class^=input-control-],.form-control:focus+[class^=input-control-]+[class^=input-control-]{opacity:1}.form-control:focus+.input-control-label-left{color:#16a8f8}.empty+.search-clear-btn,.empty+.search-icon+.search-clear-btn{opacity:0!important}input:placeholder-shown+.search-clear-btn,input:placeholder-shown+.search-icon+.search-clear-btn{opacity:0!important}.search-box-circle .input-control-icon-left,.search-box-circle .input-control-icon-right,.search-box-circle>.form-control{border-radius:16px}.search-box-circle+.input-group-btn>.btn{border-radius:0 16px 16px 0}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:5px 12px;font-size:13px;font-weight:400;line-height:1;color:#3c495c;text-align:center;background-color:#eee;border:1px solid #dcdcdc;border-radius:2px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group-addon.fix-border{border-right:0;border-left:0}.input-group-addon:empty{width:1px;padding:0}.input-group-addon.fix-padding{width:1px;padding:0}.input-group-btn.fix-border>.btn{border-right:0;border-left:0;border-radius:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:first-child{border-right:0}.input-group-addon:last-child{border-left:0}.input-group-addon+.input-group-addon{border-left:1px solid #dcdcdc}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:39px;padding:10px 16px;font-size:14px;line-height:1.25;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:39px;line-height:39px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:24px;padding:2px 8px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:24px;line-height:24px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon.input-sm{padding:2px 8px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:14px;border-radius:6px}.code,code,kbd,pre,samp{font-family:Monaco,Menlo,Consolas,"Courier New",monospace}code,kbd{padding:2px 4px;font-size:90%;color:#37474f;background-color:#f3f5f7;border-radius:4px}kbd{padding:1px 4px;font-weight:700;color:#666;background-color:#f1f1f1;border:1px solid #d8d8d8;border-bottom-width:2px}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:12px;line-height:1.38461538;color:#3c495c;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;margin:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.com{color:#93a1a1}.lit{color:#195f91}.clo,.opn,.pun{color:#93a1a1}.fun{color:#dc322f}.atv,.str{color:#d14}.kwd,.prettyprint .tag{color:#1e347b}.atn,.dec,.typ,.var{color:teal}.pln{color:#48484c}.prettyprint.linenums{-webkit-box-shadow:inset 40px 0 0 #fbfbfc,inset 41px 0 0 #ececf0;box-shadow:inset 40px 0 0 #fbfbfc,inset 41px 0 0 #ececf0}.prettyprint ol.linenums{padding-left:35px;margin-bottom:0;line-height:20px;color:#bebec5;text-shadow:0 1px 0 #fff}.pager{display:inline-block;padding-left:0;margin:20px 0;list-style:none}.pager>li{display:inline}.pager>li>a,.pager>li>span{position:relative;float:left;padding:5px 12px;margin-left:-1px;line-height:1.42857143;text-decoration:none;background-color:#fff;border:1px solid #cbd0db}.pager>li:first-child>a,.pager>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pager>li:last-child>a,.pager>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pager>li>a:focus,.pager>li>a:hover,.pager>li>span:focus,.pager>li>span:hover{z-index:2;background-color:#eee}.pager>li.active>a,.pager>li.active>a:hover,.pager>li.active>span,.pager>li.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#0c64eb;border-color:#0c64eb}.pager>li.disabled>a,.pager>li.disabled>a:focus,.pager>li.disabled>a:hover,.pager>li.disabled>span,.pager>li.disabled>span:focus,.pager>li.disabled>span:hover{color:#cbd0db;pointer-events:none;cursor:not-allowed;background-color:#fff;border-color:#cbd0db}.pager-justify{display:block}.pager-justify .next>a,.pager-justify .next>span{float:right;border-radius:4px}.pager-justify .previous>a,.pager-justify .previous>span{float:left;border-radius:4px}.pager-goto{width:100px;text-align:center}.pager>li>div{float:left}.pager>li .pager-goto,.pager>li .pager-size-menu,.pager>li.space{margin:0 5px}.pager-label{position:relative;float:left;padding:5px 4px;margin-left:-1px;line-height:1.42857143;text-decoration:none;border:1px solid transparent}.pager-item-left>a{border-top-left-radius:4px;border-bottom-left-radius:4px}.pager-item-right>a{border-top-right-radius:4px;border-bottom-right-radius:4px}.pager-lg>li>a,.pager-lg>li>span{padding:10px 16px;font-size:14px}.pager-lg>li:first-child>a,.pager-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pager-lg>li:last-child>a,.pager-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pager-sm>li>a,.pager-sm>li>span{padding:2px 8px;font-size:12px}.pager-sm>li:first-child>a,.pager-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pager-sm>li:last-child>a,.pager-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager-pills>li:first-child>a,.pager-pills>li:first-child>span{border-radius:16px 0 0 16px}.pager-pills>li:last-child>a,.pager-pills>li:last-child>span{border-radius:0 16px 16px 0}.pager-pills.pager-justify>li>a,.pager-pills.pager-justify>li>span{border-radius:16px}.pager-loose{display:block;margin:20px 0}.pager-loose.pager-pills>li>a,.pager-loose.pager-pills>li>span{border-radius:16px}.pager-loose>li>a,.pager-loose>li>span{margin-left:5px;border-radius:4px}.pager-loose>li:first-child>a,.pager-loose>li:first-child>span{margin-left:0}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>.nav-heading{padding:8px 15px;font-weight:700;color:#838a9d}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:8px 15px;color:#3c4353}.nav>li>a:focus,.nav>li>a:hover{color:#0c64eb;text-decoration:none;background-color:#f1f1f1}.nav>li.disabled>a{color:#cbd0db}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#cbd0db;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#f1f1f1;border-color:#3c4353}.nav>li>a>img{max-width:none}.nav-default>li{float:left}.nav-simple>li{float:left}.nav-simple>li>a{border-radius:4px}.nav-simple>li.active>a,.nav-simple>li.active>a:focus,.nav-simple>li.active>a:hover{color:#0c64eb;background-color:#e9f2fb}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:20px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#0c64eb}.nav-primary>li{float:left;margin-left:-1px}.nav-primary>li:first-child>a{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.nav-primary>li:last-child>a{border-top-right-radius:4px;border-bottom-right-radius:4px}.nav-primary>li>a{border:1px solid #cbd0db}.nav-primary>li.active>a,.nav-primary>li.active>a:focus,.nav-primary>li.active>a:hover{color:#fff;background-color:#0c64eb;border-color:#0c64eb}.nav-secondary>li{float:left}.nav-secondary>li>a{border-bottom:2px solid #eee}.nav-secondary>li.active>a,.nav-secondary>li.active>a:focus,.nav-secondary>li.active>a:hover{color:#0c64eb;border-bottom-color:#0c64eb}.nav-secondary>li.nav-heading{border-bottom:2px solid #eee}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-stacked.nav-primary>li,.nav-stacked.nav-primary>li>a{margin-left:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.nav-stacked.nav-primary>li+li{margin-top:-1px}.nav-stacked.nav-primary>li:first-child{margin-top:0}.nav-stacked.nav-primary>li:first-child.nav-heading,.nav-stacked.nav-primary>li:first-child>a{margin-left:0;border-top-left-radius:4px;border-top-right-radius:4px}.nav-stacked.nav-primary>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.nav-stacked.nav-primary>li.nav-heading{background-color:#f1f1f1;border:1px solid #cbd0db}.nav-stacked.nav-secondary>li>a{border:none;border-top-right-radius:4px;border-bottom-right-radius:4px;-webkit-box-shadow:inset 2px 0 0 #f5f5f5;box-shadow:inset 2px 0 0 #f5f5f5}.nav-stacked.nav-secondary>li>a:hover{-webkit-box-shadow:inset 2px 0 0 #eee;box-shadow:inset 2px 0 0 #eee}.nav-stacked.nav-secondary>li+li{margin-top:-1px}.nav-stacked.nav-secondary>li:first-child{margin-top:0}.nav-stacked.nav-secondary>li.active>a,.nav-stacked.nav-secondary>li.active>a:focus,.nav-stacked.nav-secondary>li.active>a:hover{background-color:#f5f5f5;-webkit-box-shadow:inset 2px 0 0 #0c64eb;box-shadow:inset 2px 0 0 #0c64eb}.nav-stacked.nav-secondary>li.nav-heading{border-bottom:1px solid #cbd0db}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{padding-right:0;padding-left:0;margin-bottom:5px;text-align:center}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}.nav-justified.nav-primary>li+li>a{border-left:0}}.nav-tabs{border-bottom:1px solid #cbd0db}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #cbd0db}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#838a9d;cursor:default;background-color:#fff;border:1px solid #cbd0db;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{padding-right:0;padding-left:0;margin-bottom:5px;text-align:center}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}.nav-tabs.nav-justified.nav-primary>li+li>a{border-left:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #cbd0db}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #cbd0db;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}@-moz-document url-prefix(){.nav-tabs>li.active>a:focus .nav-tabs>li>a:focus{outline:0}}.nav-tabs.nav-stacked{border-right:1px solid #cbd0db;border-bottom:none}.nav-tabs.nav-stacked>li{float:none;margin-right:-1px;margin-bottom:0}.nav-tabs.nav-stacked>li>a{margin-right:0;border-radius:4px 0 0 4px}.nav-tabs.nav-stacked>li.active>a,.nav-tabs.nav-stacked>li.active>a:focus,.nav-tabs.nav-stacked>li.active>a:hover{border:1px solid #cbd0db;border-right-color:transparent}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #cbd0db}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #cbd0db;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:40px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:10px;padding-left:10px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-10px;margin-left:-10px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:40px;padding:10px 15px;font-size:14px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-10px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:3px;margin-right:3px;margin-bottom:3px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:5px -10px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px}.navbar-nav.nav-justified>li{float:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-nav.pull-right>li>.dropdown-menu,.navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar-btn{margin-top:4px;margin-bottom:4px}.navbar-text{float:left;margin-top:10px;margin-bottom:10px}@media (min-width:768px){.navbar-text{margin-right:10px;margin-left:10px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-10px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f7f7f7;border-color:#dedede}.navbar-default .navbar-brand{color:#3c495c}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#28313d;background-color:transparent}.navbar-default .navbar-text{color:#3c495c}.navbar-default .navbar-nav>li>a{color:#3c495c}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#222;background-color:#eee}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#cbd0db}.navbar-default .navbar-toggle .icon-bar{background-color:#838a9d}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#dedede}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#3c495c}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#222;background-color:#eee}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#3c495c}.navbar-default .navbar-link:hover{color:#222}.navbar-default .btn-link{color:#3c495c}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#222}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#16a8f8;border-color:#068cd5}.navbar-inverse .navbar-brand{color:#cbd0db}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#cbd0db}.navbar-inverse .navbar-nav>li>a{color:#cbd0db}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:#34b3f9}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#48baf9}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#079ced}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#0795e3}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#48baf9}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#068cd5}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#068cd5}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#cbd0db}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:#34b3f9}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#48baf9}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#cbd0db}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-form{padding:10px 10px;margin-top:4px;margin-right:-10px;margin-bottom:4px;margin-left:-10px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{float:none;margin-left:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.no-animation,.no-animation *,.no-animation :after,.no-animation :before,.no-animation:after,.no-animation:before{-webkit-transition:none!important;-o-transition:none!important;transition:none!important}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.scale{-webkit-transition:all .15s ease;-o-transition:all .15s ease;transition:all .15s ease;-webkit-transform:scale(.8);-ms-transform:scale(.8);-o-transform:scale(.8);transform:scale(.8)}.scale.in{-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.scrollbar-hover::-webkit-scrollbar,.scrollbar-hover::-webkit-scrollbar-button,.scrollbar-hover::-webkit-scrollbar-thumb,.scrollbar-hover::-webkit-scrollbar-track{visibility:hidden}.scrollbar-hover:hover::-webkit-scrollbar,.scrollbar-hover:hover::-webkit-scrollbar-button,.scrollbar-hover:hover::-webkit-scrollbar-thumb,.scrollbar-hover:hover::-webkit-scrollbar-track{visibility:visible}@media (min-width:768px){::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-button{width:0;height:0}::-webkit-scrollbar-button:end:increment,::-webkit-scrollbar-button:start:decrement{display:block}::-webkit-scrollbar-button:vertical:end:decrement,::-webkit-scrollbar-button:vertical:start:increment{display:none}::-webkit-scrollbar-thumb:horizontal,::-webkit-scrollbar-thumb:vertical,::-webkit-scrollbar-track:horizontal,::-webkit-scrollbar-track:vertical{border-color:transparent;border-style:solid}::-webkit-scrollbar-track:vertical::-webkit-scrollbar-track:horizontal{background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box}::-webkit-scrollbar-thumb{min-height:28px;background-color:rgba(0,0,0,.2);-webkit-background-clip:padding-box;background-clip:padding-box;border-radius:2px;-webkit-box-shadow:inset 1px 1px 0 rgba(0,0,0,.1),inset 0 -1px 0 rgba(0,0,0,.07)}::-webkit-scrollbar-thumb:hover{background-color:rgba(0,0,0,.4);-webkit-box-shadow:inset 1px 1px 1px rgba(0,0,0,.25)}::-webkit-scrollbar-thumb:active{background-color:rgba(0,0,0,.5);-webkit-box-shadow:inset 1px 1px 3px rgba(0,0,0,.35)}::-webkit-scrollbar-thumb:horizontal,::-webkit-scrollbar-thumb:vertical,::-webkit-scrollbar-track:horizontal,::-webkit-scrollbar-track:vertical{border-width:0}::-webkit-scrollbar-track:hover{background-color:rgba(0,0,0,.05);-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,.1)}::-webkit-scrollbar-track:active{background-color:rgba(0,0,0,.05);-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,.14),inset -1px -1px 0 rgba(0,0,0,.07)}}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal>.loader{display:none}.modal.modal-loading .loader,.modal.modal-updating .loader{position:absolute;top:35%;left:50%;display:block;width:80px;margin-left:-40px;font-size:56px;color:#fff;text-align:center}.modal.modal-loading .modal-dialog{opacity:0}.modal.modal-updating .modal-dialog{opacity:1}.modal.modal-updating .modal-body{opacity:0}.modal.modal-updating .loader{z-index:1;color:#eee}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-iframe .modal-body{overflow:hidden!important}.modal-iframe .modal-body>iframe{border-radius:0 0 6px 6px}.modal-dialog{position:relative;width:auto;margin:0 auto;pointer-events:initial;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-dialog.modal-moveable{position:absolute;margin:0}.modal-dialog.modal-moveable .modal-header{cursor:move}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}@media (min-width:768px){.modal-dialog{width:600px;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.modal-fullscreen{position:relative;width:100%!important;height:100%!important;margin:0;border-radius:0}.modal-fullscreen .modal-body{position:absolute;top:52px;right:0;bottom:0;left:0;overflow-y:auto}.modal-scroll-inside{overflow:hidden!important}.body-modal-scroll-inside{overflow:auto}.tooltip{position:absolute;z-index:1030;display:block;font-size:12px;line-height:1.4;visibility:visible;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=100);opacity:1}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#3c4353;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#3c4353}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#3c4353}.tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-width:5px 5px 0;border-top-color:#3c4353}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#3c4353}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#3c4353}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#3c4353}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#3c4353}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#3c4353}.tooltip-primary .tooltip-inner{background-color:#0c64eb}.tooltip-primary.tooltip.top .tooltip-arrow{border-top-color:#0c64eb}.tooltip-primary.tooltip.top-left .tooltip-arrow{border-top-color:#0c64eb}.tooltip-primary.tooltip.top-right .tooltip-arrow{border-top-color:#0c64eb}.tooltip-primary.tooltip.right .tooltip-arrow{border-right-color:#0c64eb}.tooltip-primary.tooltip.left .tooltip-arrow{border-left-color:#0c64eb}.tooltip-primary.tooltip.bottom .tooltip-arrow{border-bottom-color:#0c64eb}.tooltip-primary.tooltip.bottom-left .tooltip-arrow{border-bottom-color:#0c64eb}.tooltip-primary.tooltip.bottom-right .tooltip-arrow{border-bottom-color:#0c64eb}.tooltip-success .tooltip-inner{background-color:#00da88}.tooltip-success.tooltip.top .tooltip-arrow{border-top-color:#00da88}.tooltip-success.tooltip.top-left .tooltip-arrow{border-top-color:#00da88}.tooltip-success.tooltip.top-right .tooltip-arrow{border-top-color:#00da88}.tooltip-success.tooltip.right .tooltip-arrow{border-right-color:#00da88}.tooltip-success.tooltip.left .tooltip-arrow{border-left-color:#00da88}.tooltip-success.tooltip.bottom .tooltip-arrow{border-bottom-color:#00da88}.tooltip-success.tooltip.bottom-left .tooltip-arrow{border-bottom-color:#00da88}.tooltip-success.tooltip.bottom-right .tooltip-arrow{border-bottom-color:#00da88}.tooltip-info .tooltip-inner{background-color:#2196f3}.tooltip-info.tooltip.top .tooltip-arrow{border-top-color:#2196f3}.tooltip-info.tooltip.top-left .tooltip-arrow{border-top-color:#2196f3}.tooltip-info.tooltip.top-right .tooltip-arrow{border-top-color:#2196f3}.tooltip-info.tooltip.right .tooltip-arrow{border-right-color:#2196f3}.tooltip-info.tooltip.left .tooltip-arrow{border-left-color:#2196f3}.tooltip-info.tooltip.bottom .tooltip-arrow{border-bottom-color:#2196f3}.tooltip-info.tooltip.bottom-left .tooltip-arrow{border-bottom-color:#2196f3}.tooltip-info.tooltip.bottom-right .tooltip-arrow{border-bottom-color:#2196f3}.tooltip-warning .tooltip-inner{background-color:#ff9800}.tooltip-warning.tooltip.top .tooltip-arrow{border-top-color:#ff9800}.tooltip-warning.tooltip.top-left .tooltip-arrow{border-top-color:#ff9800}.tooltip-warning.tooltip.top-right .tooltip-arrow{border-top-color:#ff9800}.tooltip-warning.tooltip.right .tooltip-arrow{border-right-color:#ff9800}.tooltip-warning.tooltip.left .tooltip-arrow{border-left-color:#ff9800}.tooltip-warning.tooltip.bottom .tooltip-arrow{border-bottom-color:#ff9800}.tooltip-warning.tooltip.bottom-left .tooltip-arrow{border-bottom-color:#ff9800}.tooltip-warning.tooltip.bottom-right .tooltip-arrow{border-bottom-color:#ff9800}.tooltip-danger .tooltip-inner{background-color:#ff5d5d}.tooltip-danger.tooltip.top .tooltip-arrow{border-top-color:#ff5d5d}.tooltip-danger.tooltip.top-left .tooltip-arrow{border-top-color:#ff5d5d}.tooltip-danger.tooltip.top-right .tooltip-arrow{border-top-color:#ff5d5d}.tooltip-danger.tooltip.right .tooltip-arrow{border-right-color:#ff5d5d}.tooltip-danger.tooltip.left .tooltip-arrow{border-left-color:#ff5d5d}.tooltip-danger.tooltip.bottom .tooltip-arrow{border-bottom-color:#ff5d5d}.tooltip-danger.tooltip.bottom-left .tooltip-arrow{border-bottom-color:#ff5d5d}.tooltip-danger.tooltip.bottom-right .tooltip-arrow{border-bottom-color:#ff5d5d}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:300px;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:4px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover.no-arrow.top{margin-top:0}.popover.no-arrow.right{margin-left:0}.popover.no-arrow.bottom{margin-top:0}.popover.no-arrow.left{margin-left:0}.modal .popover,.popover-in-modal{z-index:1050}.popover-title{padding:8px 14px;margin:0;font-size:13px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:4px 4px 0 0}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{content:"";border-width:10px}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom .arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left .arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.popover-primary{border-color:#0c64eb}.popover-primary .popover-title{color:#fff;background-color:#0c64eb}.popover-primary.popover.top .arrow{border-top-color:#0c64eb}.popover-primary.popover.right .arrow{border-right-color:#0c64eb}.popover-primary.popover.left .arrow{border-left-color:#0c64eb}.popover-primary.popover.bottom .arrow,.popover-primary.popover.bottom .arrow:after{border-bottom-color:#0c64eb}.popover-success{border-color:#00da88}.popover-success .popover-title{color:#fff;background-color:#00da88}.popover-success.popover.top .arrow{border-top-color:#00da88}.popover-success.popover.right .arrow{border-right-color:#00da88}.popover-success.popover.left .arrow{border-left-color:#00da88}.popover-success.popover.bottom .arrow,.popover-success.popover.bottom .arrow:after{border-bottom-color:#00da88}.popover-info{border-color:#2196f3}.popover-info .popover-title{color:#fff;background-color:#2196f3}.popover-info.popover.top .arrow{border-top-color:#2196f3}.popover-info.popover.right .arrow{border-right-color:#2196f3}.popover-info.popover.left .arrow{border-left-color:#2196f3}.popover-info.popover.bottom .arrow,.popover-info.popover.bottom .arrow:after{border-bottom-color:#2196f3}.popover-warning{border-color:#ff9800}.popover-warning .popover-title{color:#fff;background-color:#ff9800}.popover-warning.popover.top .arrow{border-top-color:#ff9800}.popover-warning.popover.right .arrow{border-right-color:#ff9800}.popover-warning.popover.left .arrow{border-left-color:#ff9800}.popover-warning.popover.bottom .arrow,.popover-warning.popover.bottom .arrow:after{border-bottom-color:#ff9800}.popover-danger{border-color:#ff5d5d}.popover-danger .popover-title{color:#fff;background-color:#ff5d5d}.popover-danger.popover.top .arrow{border-top-color:#ff5d5d}.popover-danger.popover.right .arrow{border-right-color:#ff5d5d}.popover-danger.popover.left .arrow{border-left-color:#ff5d5d}.popover-danger.popover.bottom .arrow,.popover-danger.popover.bottom .arrow:after{border-bottom-color:#ff5d5d}.caret{display:inline-block;width:0;height:0;margin-bottom:2px;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent;opacity:.5}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:100px;padding:5px 0;margin:2px 0 0;font-size:13px;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #b6bdcc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.12),0 1px 3px rgba(0,0,0,.1);box-shadow:0 6px 12px rgba(0,0,0,.12),0 1px 3px rgba(0,0,0,.1)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#eee}.dropdown-menu>li>a{display:block;padding:5px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#3c4353;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#fff;text-decoration:none;background-color:#0c64eb}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#0c64eb;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#cbd0db}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.dropdown-hover .dropdown-menu{margin:-1px 0}.dropdown-hover:hover>.dropdown-menu,.open>.dropdown-menu{display:block;opacity:1}.dropdown-hover:hover>a,.open>a{outline:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;font-weight:700;line-height:1.42857143;color:#838a9d}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0 dotted;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;border-radius:4px}.dropdown-submenu.open>.dropdown-menu,.dropdown-submenu:hover>.dropdown-menu{display:block}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;border-radius:4px}.dropdown-submenu>a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;content:" ";border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#ccc}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu>a{min-width:100px}.dropdown-submenu>.dropdown-menu.pull-left{right:100%;left:auto}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{color:#fff;text-decoration:none;background-color:#0c64eb}.messager{display:table;margin:10px;overflow:hidden;color:#fff;pointer-events:auto;background-color:#3c4353;background-color:rgba(0,0,0,.8);border-radius:20px;-webkit-transition-property:opacity,-webkit-transform!important;-o-transition-property:opacity,-o-transform!important;transition-property:opacity,-webkit-transform!important;transition-property:opacity,transform!important;transition-property:opacity,transform,-webkit-transform,-o-transform!important}.messager-icon{display:table-cell;padding:10px 0 10px 15px;line-height:20px;text-align:center;vertical-align:top}.messager-content{display:table-cell;padding:10px 15px;vertical-align:top}.messager-content a{font-weight:700;color:inherit}.messager-title{font-size:14px;font-weight:700}.messager-title+.messager-text{margin-top:10px}.messager-actions{display:table-cell;vertical-align:top}.messager-actions>.action{min-width:40px;height:40px;padding:0 12px;color:#fafafa;color:rgba(255,255,255,.6);text-align:center;text-shadow:none;background:0 0;border:none}.messager-actions>.action.close{padding-bottom:5px;font-size:20px;font-weight:400;opacity:1}.messager-actions>.action:hover{color:#fff;background:rgba(0,0,0,.1)}.messager-actions .action-icon+.action-text{margin-left:8px}.messagers-holder{position:fixed;z-index:99999;padding:10px;pointer-events:none}.messagers-holder.top{top:0}.messagers-holder.top-left{top:0;left:0}.messagers-holder.top-right{top:0;right:0}.messagers-holder.bottom{bottom:0}.messagers-holder.bottom-left{bottom:0;left:0}.messagers-holder.bottom-right{right:0;bottom:0}.messagers-holder.bottom-right .messager,.messagers-holder.top-right .messager{margin-left:auto}.messagers-holder.center{top:0}.messagers-holder.bottom,.messagers-holder.center,.messagers-holder.top{right:0;left:0}.messagers-holder.bottom .messager,.messagers-holder.center .messager,.messagers-holder.top .messager{margin:10px auto}.messager-notification{min-width:250px;max-width:400px;border-radius:4px}.messager-notification .messager-icon{width:42px;vertical-align:middle}.messager-notification .messager-content{vertical-align:middle}.messager-text>p:last-child{margin:0}.messager-primary{background-color:#0c64eb}.messager-success{background-color:#00da88}.messager-info{background-color:#2196f3}.messager-warning{background-color:#ff9800}.messager-danger{background-color:#ff5d5d}.messager-important{background-color:#bd7b46}.messager-special{background-color:#8666b8}.article{padding:20px}.article>header h1,.article>header h2,.article>header h3{margin-bottom:20px;line-height:1.5}.article>header>.abstract,.article>header>dl{padding:10px 15px;font-size:12px;color:#67738e;background-color:#f1f1f1}.article>header>.abstract>p:last-child,.article>header>dl>p:last-child{margin-bottom:0}.article>header>dl{margin:0;border-bottom:1px solid #e9e9e9}.article>header>dl.pull-right{background-color:transparent;border:none}.article>footer{border-top:1px dashed #d8d8d8}.article>footer>p{padding:10px 15px}.article-content,.article>.content{padding:20px 0;font-size:14px;line-height:1.57142857}.article-content h1,.article>.content h1{font-size:20px}.article-content h2,.article>.content h2{font-size:18px}.article-content h3,.article>.content h3{font-size:16px}.article-content h4,.article>.content h4{margin-top:15px;font-size:14px}.article-content h5,.article>.content h5{margin-top:15px;font-size:13px}.article-content h6,.article>.content h6{margin-top:15px;font-size:11px}.article-content img,.article>.content img{margin:10px 0}.article-content p>img+img,.article>.content p>img+img{margin-left:10px}.article-content p>img[align=right],.article>.content p>img[align=right]{margin-left:10px}.article-content dl,.article>.content dl{padding-right:2em;padding-left:2em}.article-content table,.article>.content table{margin-bottom:20px}.article-content table td,.article-content table th,.article>.content table td,.article>.content table th{padding:8px 10px;line-height:1.42857143;vertical-align:top;border-bottom:1px solid #cbd0db}.article-content table>thead>tr>th,.article>.content table>thead>tr>th{vertical-align:bottom;background-color:transparent}.article-content p{margin-bottom:0}.article>.content table td,.article>.content table th,.article>.content table>thead>tr>th{border:1px solid #cbd0db}body.article-content{padding:8px}.article-condensed{padding:20px 0}.article-condensed>header{padding:0 20px}.article-condensed>header>.abstract,.article-condensed>header>dl{padding:10px 15px;margin:0 -20px}.article-condensed>.article-content,.article-condensed>.content{padding:20px}.article-condensed>.article-content>img,.article-condensed>.article-content>pre,.article-condensed>.content>img,.article-condensed>.content>pre{margin-right:-20px;margin-left:-20px;border-radius:0}.article-condensed>.article-content>pre,.article-condensed>.content>pre{border-right:none;border-left:none}.article-condensed>footer{border-top:1px dashed #d8d8d8}.article-condensed>footer>p{padding:10px 15px}.article-condensed>footer>.pager-justify>.previous>a{border-left:none;border-radius:0}.article-condensed>footer>.pager-justify>.next>a{border-right:none;border-radius:0}/*! * Datetimepicker for Bootstrap * Copyright 2012 Stefan Petre * Licensed under the Apache License v2.0