Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
atlas
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
dataplatform
atlas
Commits
811058e1
Commit
811058e1
authored
Jun 09, 2015
by
DarshanKumar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Apache License Headers added
Apache License Headers added
parent
8e5fc82f
Hide whitespace changes
Inline
Side-by-side
Showing
53 changed files
with
958 additions
and
0 deletions
+958
-0
bootstrap-responsive.css
dashboard/v1/css/bootstrap-responsive.css
+18
-0
bootstrap-responsive.min.css
dashboard/v1/css/bootstrap-responsive.min.css
+18
-0
bootstrap-theme.css
dashboard/v1/css/bootstrap-theme.css
+18
-0
bootstrap-theme.css.map
dashboard/v1/css/bootstrap-theme.css.map
+19
-0
bootstrap-theme.min.css
dashboard/v1/css/bootstrap-theme.min.css
+18
-0
bootstrap.css
dashboard/v1/css/bootstrap.css
+18
-0
bootstrap.min.css
dashboard/v1/css/bootstrap.min.css
+18
-0
heroic-features.css
dashboard/v1/css/heroic-features.css
+18
-0
sticky-footer-navbar.css
dashboard/v1/css/sticky-footer-navbar.css
+18
-0
glyphicons-halflings-regular.svg
dashboard/v1/fonts/glyphicons-halflings-regular.svg
+18
-0
attributes.html
dashboard/v1/js/attributes.html
+18
-0
bootstrap.js
dashboard/v1/js/bootstrap.js
+18
-0
bootstrap.min.js
dashboard/v1/js/bootstrap.min.js
+18
-0
jquery.js
dashboard/v1/js/jquery.js
+18
-0
npm.js
dashboard/v1/js/npm.js
+18
-0
angular-route.min.js
dashboard/v1/lib/Angular/angular-route.min.js
+18
-0
angular-route.min.js.map
dashboard/v1/lib/Angular/angular-route.min.js.map
+18
-0
angular.min.js
dashboard/v1/lib/Angular/angular.min.js
+18
-0
angular.min.js.map
dashboard/v1/lib/Angular/angular.min.js.map
+18
-0
.bowerrc
dashboard/v2/.bowerrc
+18
-0
.jshintignore
dashboard/v2/.jshintignore
+19
-0
.jshintrc
dashboard/v2/.jshintrc
+18
-0
README.md
dashboard/v2/README.md
+18
-0
bower.json
dashboard/v2/bower.json
+18
-0
gruntfile.js
dashboard/v2/gruntfile.js
+18
-0
details.css
dashboard/v2/public/css/details.css
+19
-0
sticky-footer-navbar.css
dashboard/v2/public/css/sticky-footer-navbar.css
+18
-0
server.js
dashboard/v2/server.js
+17
-0
bootstrap-responsive.css
dashboard/v3/css/bootstrap-responsive.css
+18
-0
bootstrap-responsive.min.css
dashboard/v3/css/bootstrap-responsive.min.css
+18
-0
bootstrap-theme.css
dashboard/v3/css/bootstrap-theme.css
+18
-0
bootstrap-theme.css.map
dashboard/v3/css/bootstrap-theme.css.map
+20
-0
bootstrap-theme.min.css
dashboard/v3/css/bootstrap-theme.min.css
+18
-0
bootstrap.css
dashboard/v3/css/bootstrap.css
+18
-0
bootstrap.min.css
dashboard/v3/css/bootstrap.min.css
+18
-0
heroic-features.css
dashboard/v3/css/heroic-features.css
+18
-0
pagination.css
dashboard/v3/css/pagination.css
+18
-0
sticky-footer-navbar.css
dashboard/v3/css/sticky-footer-navbar.css
+18
-0
style.css
dashboard/v3/css/style.css
+18
-0
glyphicons-halflings-regular.svg
dashboard/v3/fonts/glyphicons-halflings-regular.svg
+18
-0
config.json
dashboard/v3/js/config.json
+18
-0
angular-route.min.js.map
dashboard/v3/lib/angular-route.min.js.map
+18
-0
angular-ui-router.min.js
dashboard/v3/lib/angular-ui-router.min.js
+18
-0
angular.js
dashboard/v3/lib/angular.js
+18
-0
angular.min.js
dashboard/v3/lib/angular.min.js
+18
-0
angular.min.js.map
dashboard/v3/lib/angular.min.js.map
+18
-0
bootstrap.js
dashboard/v3/lib/bootstrap.js
+18
-0
bootstrap.min.js
dashboard/v3/lib/bootstrap.min.js
+18
-0
d3.tip.v0.6.3.js
dashboard/v3/lib/d3.tip.v0.6.3.js
+18
-0
ie-emulation-modes-warning.js
dashboard/v3/lib/ie-emulation-modes-warning.js
+18
-0
ie10-viewport-bug-workaround.js
dashboard/v3/lib/ie10-viewport-bug-workaround.js
+18
-0
jquery.js
dashboard/v3/lib/jquery.js
+18
-0
npm.js
dashboard/v3/lib/npm.js
+18
-0
No files found.
dashboard/v1/css/bootstrap-responsive.css
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*!
/*!
* Bootstrap Responsive v2.3.2
* Bootstrap Responsive v2.3.2
*
*
...
...
dashboard/v1/css/bootstrap-responsive.min.css
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*!
/*!
* Bootstrap Responsive v2.3.2
* Bootstrap Responsive v2.3.2
*
*
...
...
dashboard/v1/css/bootstrap-theme.css
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*!
/*!
* Bootstrap v3.3.2 (http://getbootstrap.com)
* Bootstrap v3.3.2 (http://getbootstrap.com)
* Copyright 2011-2015 Twitter, Inc.
* Copyright 2011-2015 Twitter, Inc.
...
...
dashboard/v1/css/bootstrap-theme.css.map
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
{"version":3,"sources":["less/theme.less","less/mixins/vendor-prefixes.less","bootstrap-theme.css","less/mixins/gradients.less","less/mixins/reset-filter.less"],"names":[],"mappings":"AAcA;;;;;;EAME,0CAAA;ECgDA,6FAAA;EACQ,qFAAA;EC5DT;AFgBC;;;;;;;;;;;;EC2CA,0DAAA;EACQ,kDAAA;EC7CT;AFVD;;;;;;EAiBI,mBAAA;EECH;AFiCC;;EAEE,wBAAA;EE/BH;AFoCD;EGnDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EAgC2C,2BAAA;EAA2B,oBAAA;EEzBvE;AFLC;;EAEE,2BAAA;EACA,8BAAA;EEOH;AFJC;;EAEE,2BAAA;EACA,uBAAA;EEMH;AFHC;;;EAGE,2BAAA;EACA,wBAAA;EEKH;AFUD;EGpDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EEgCD;AF9BC;;EAEE,2BAAA;EACA,8BAAA;EEgCH;AF7BC;;EAEE,2BAAA;EACA,uBAAA;EE+BH;AF5BC;;;EAGE,2BAAA;EACA,wBAAA;EE8BH;AFdD;EGrDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EEyDD;AFvDC;;EAEE,2BAAA;EACA,8BAAA;EEyDH;AFtDC;;EAEE,2BAAA;EACA,uBAAA;EEwDH;AFrDC;;;EAGE,2BAAA;EACA,wBAAA;EEuDH;AFtCD;EGtDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EEkFD;AFhFC;;EAEE,2BAAA;EACA,8BAAA;EEkFH;AF/EC;;EAEE,2BAAA;EACA,uBAAA;EEiFH;AF9EC;;;EAGE,2BAAA;EACA,wBAAA;EEgFH;AF9DD;EGvDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EE2GD;AFzGC;;EAEE,2BAAA;EACA,8BAAA;EE2GH;AFxGC;;EAEE,2BAAA;EACA,uBAAA;EE0GH;AFvGC;;;EAGE,2BAAA;EACA,wBAAA;EEyGH;AFtFD;EGxDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EEoID;AFlIC;;EAEE,2BAAA;EACA,8BAAA;EEoIH;AFjIC;;EAEE,2BAAA;EACA,uBAAA;EEmIH;AFhIC;;;EAGE,2BAAA;EACA,wBAAA;EEkIH;AFxGD;;EChBE,oDAAA;EACQ,4CAAA;EC4HT;AFnGD;;EGzEI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EHwEF,2BAAA;EEyGD;AFvGD;;;EG9EI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH8EF,2BAAA;EE6GD;AFpGD;EG3FI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ECnBF,qEAAA;EJ6GA,oBAAA;EC/CA,6FAAA;EACQ,qFAAA;EC0JT;AF/GD;;EG3FI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EF2CF,0DAAA;EACQ,kDAAA;ECoKT;AF5GD;;EAEE,gDAAA;EE8GD;AF1GD;EG9GI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ECnBF,qEAAA;EF+OD;AFlHD;;EG9GI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EF2CF,yDAAA;EACQ,iDAAA;EC0LT;AF5HD;;EAYI,2CAAA;EEoHH;AF/GD;;;EAGE,kBAAA;EEiHD;AF5FD;EAfI;;;IAGE,aAAA;IG3IF,0EAAA;IACA,qEAAA;IACA,+FAAA;IAAA,wEAAA;IACA,6BAAA;IACA,wHAAA;ID0PD;EACF;AFxGD;EACE,+CAAA;ECzGA,4FAAA;EACQ,oFAAA;ECoNT;AFhGD;EGpKI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH4JF,uBAAA;EE4GD;AFvGD;EGrKI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH4JF,uBAAA;EEoHD;AF9GD;EGtKI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH4JF,uBAAA;EE4HD;AFrHD;EGvKI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH4JF,uBAAA;EEoID;AFrHD;EG/KI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDuSH;AFlHD;EGzLI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED8SH;AFxHD;EG1LI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDqTH;AF9HD;EG3LI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED4TH;AFpID;EG5LI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDmUH;AF1ID;EG7LI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED0UH;AF7ID;EGhKI,+MAAA;EACA,0MAAA;EACA,uMAAA;EDgTH;AFzID;EACE,oBAAA;EC5JA,oDAAA;EACQ,4CAAA;ECwST;AF1ID;;;EAGE,+BAAA;EGjNE,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH+MF,uBAAA;EEgJD;AFrJD;;;EAQI,mBAAA;EEkJH;AFxID;ECjLE,mDAAA;EACQ,2CAAA;EC4TT;AFlID;EG1OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED+WH;AFxID;EG3OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDsXH;AF9ID;EG5OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED6XH;AFpJD;EG7OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDoYH;AF1JD;EG9OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED2YH;AFhKD;EG/OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDkZH;AFhKD;EGtPI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EHoPF,uBAAA;ECzMA,2FAAA;EACQ,mFAAA;ECgXT","file":"bootstrap-theme.css","sourcesContent":["\n//\n// Load core variables and mixins\n// --------------------------------------------------\n\n@import \"variables.less\";\n@import \"mixins.less\";\n\n\n//\n// Buttons\n// --------------------------------------------------\n\n// Common styles\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0,0,0,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n // Reset the shadow\n &:active,\n &.active {\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n }\n\n .badge {\n text-shadow: none;\n }\n}\n\n// Mixin for generating new styles\n.btn-styles(@btn-color: #555) {\n #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));\n .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620\n background-repeat: repeat-x;\n border-color: darken(@btn-color, 14%);\n\n &:hover,\n &:focus {\n background-color: darken(@btn-color, 12%);\n background-position: 0 -15px;\n }\n\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n border-color: darken(@btn-color, 14%);\n }\n\n &.disabled,\n &:disabled,\n &[disabled] {\n background-color: darken(@btn-color, 12%);\n background-image: none;\n }\n}\n\n// Common styles\n.btn {\n // Remove the gradient for the pressed/active state\n &:active,\n &.active {\n background-image: none;\n }\n}\n\n// Apply the mixin to the buttons\n.btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }\n.btn-primary { .btn-styles(@btn-primary-bg); }\n.btn-success { .btn-styles(@btn-success-bg); }\n.btn-info { .btn-styles(@btn-info-bg); }\n.btn-warning { .btn-styles(@btn-warning-bg); }\n.btn-danger { .btn-styles(@btn-danger-bg); }\n\n\n//\n// Images\n// --------------------------------------------------\n\n.thumbnail,\n.img-thumbnail {\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n\n\n//\n// Dropdowns\n// --------------------------------------------------\n\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));\n background-color: darken(@dropdown-link-hover-bg, 5%);\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n background-color: darken(@dropdown-link-active-bg, 5%);\n}\n\n\n//\n// Navbar\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n border-radius: @navbar-border-radius;\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-bg, 2%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.075));\n }\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255,255,255,.25);\n}\n\n// Inverted navbar\n.navbar-inverse {\n #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257\n\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.25));\n }\n\n .navbar-brand,\n .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0,0,0,.25);\n }\n}\n\n// Undo rounded corners in static and fixed navbars\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n\n// Fix active state of dropdown items in collapsed mode\n@media (max-width: @grid-float-breakpoint-max) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: #fff;\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n }\n }\n}\n\n\n//\n// Alerts\n// --------------------------------------------------\n\n// Common styles\n.alert {\n text-shadow: 0 1px 0 rgba(255,255,255,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);\n .box-shadow(@shadow);\n}\n\n// Mixin for generating new styles\n.alert-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));\n border-color: darken(@color, 15%);\n}\n\n// Apply the mixin to the alerts\n.alert-success { .alert-styles(@alert-success-bg); }\n.alert-info { .alert-styles(@alert-info-bg); }\n.alert-warning { .alert-styles(@alert-warning-bg); }\n.alert-danger { .alert-styles(@alert-danger-bg); }\n\n\n//\n// Progress bars\n// --------------------------------------------------\n\n// Give the progress background some depth\n.progress {\n #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)\n}\n\n// Mixin for generating new styles\n.progress-bar-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));\n}\n\n// Apply the mixin to the progress bars\n.progress-bar { .progress-bar-styles(@progress-bar-bg); }\n.progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }\n.progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }\n.progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }\n.progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }\n\n// Reset the striped class because our mixins don't do multiple gradients and\n// the above custom styles override the new `.progress-bar-striped` in v3.2.0.\n.progress-bar-striped {\n #gradient > .striped();\n}\n\n\n//\n// List groups\n// --------------------------------------------------\n\n.list-group {\n border-radius: @border-radius-base;\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);\n #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));\n border-color: darken(@list-group-active-border, 7.5%);\n\n .badge {\n text-shadow: none;\n }\n}\n\n\n//\n// Panels\n// --------------------------------------------------\n\n// Common styles\n.panel {\n .box-shadow(0 1px 2px rgba(0,0,0,.05));\n}\n\n// Mixin for generating new styles\n.panel-heading-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));\n}\n\n// Apply the mixin to the panel headings only\n.panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }\n.panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }\n.panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }\n.panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }\n.panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }\n.panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }\n\n\n//\n// Wells\n// --------------------------------------------------\n\n.well {\n #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);\n border-color: darken(@well-bg, 10%);\n @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);\n .box-shadow(@shadow);\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They will be removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility){\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n",".btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.btn-default:active,\n.btn-primary:active,\n.btn-success:active,\n.btn-info:active,\n.btn-warning:active,\n.btn-danger:active,\n.btn-default.active,\n.btn-primary.active,\n.btn-success.active,\n.btn-info.active,\n.btn-warning.active,\n.btn-danger.active {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-default .badge,\n.btn-primary .badge,\n.btn-success .badge,\n.btn-info .badge,\n.btn-warning .badge,\n.btn-danger .badge {\n text-shadow: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n}\n.btn-default {\n background-image: -webkit-linear-gradient(top, #ffffff 0%, #e0e0e0 100%);\n background-image: -o-linear-gradient(top, #ffffff 0%, #e0e0e0 100%);\n background-image: linear-gradient(to bottom, #ffffff 0%, #e0e0e0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #dbdbdb;\n text-shadow: 0 1px 0 #fff;\n border-color: #ccc;\n}\n.btn-default:hover,\n.btn-default:focus {\n background-color: #e0e0e0;\n background-position: 0 -15px;\n}\n.btn-default:active,\n.btn-default.active {\n background-color: #e0e0e0;\n border-color: #dbdbdb;\n}\n.btn-default.disabled,\n.btn-default:disabled,\n.btn-default[disabled] {\n background-color: #e0e0e0;\n background-image: none;\n}\n.btn-primary {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #245580;\n}\n.btn-primary:hover,\n.btn-primary:focus {\n background-color: #265a88;\n background-position: 0 -15px;\n}\n.btn-primary:active,\n.btn-primary.active {\n background-color: #265a88;\n border-color: #245580;\n}\n.btn-primary.disabled,\n.btn-primary:disabled,\n.btn-primary[disabled] {\n background-color: #265a88;\n background-image: none;\n}\n.btn-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #3e8f3e;\n}\n.btn-success:hover,\n.btn-success:focus {\n background-color: #419641;\n background-position: 0 -15px;\n}\n.btn-success:active,\n.btn-success.active {\n background-color: #419641;\n border-color: #3e8f3e;\n}\n.btn-success.disabled,\n.btn-success:disabled,\n.btn-success[disabled] {\n background-color: #419641;\n background-image: none;\n}\n.btn-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #28a4c9;\n}\n.btn-info:hover,\n.btn-info:focus {\n background-color: #2aabd2;\n background-position: 0 -15px;\n}\n.btn-info:active,\n.btn-info.active {\n background-color: #2aabd2;\n border-color: #28a4c9;\n}\n.btn-info.disabled,\n.btn-info:disabled,\n.btn-info[disabled] {\n background-color: #2aabd2;\n background-image: none;\n}\n.btn-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #e38d13;\n}\n.btn-warning:hover,\n.btn-warning:focus {\n background-color: #eb9316;\n background-position: 0 -15px;\n}\n.btn-warning:active,\n.btn-warning.active {\n background-color: #eb9316;\n border-color: #e38d13;\n}\n.btn-warning.disabled,\n.btn-warning:disabled,\n.btn-warning[disabled] {\n background-color: #eb9316;\n background-image: none;\n}\n.btn-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #b92c28;\n}\n.btn-danger:hover,\n.btn-danger:focus {\n background-color: #c12e2a;\n background-position: 0 -15px;\n}\n.btn-danger:active,\n.btn-danger.active {\n background-color: #c12e2a;\n border-color: #b92c28;\n}\n.btn-danger.disabled,\n.btn-danger:disabled,\n.btn-danger[disabled] {\n background-color: #c12e2a;\n background-image: none;\n}\n.thumbnail,\n.img-thumbnail {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-color: #e8e8e8;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-color: #2e6da4;\n}\n.navbar-default {\n background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);\n}\n.navbar-inverse {\n background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222222 100%);\n background-image: -o-linear-gradient(top, #3c3c3c 0%, #222222 100%);\n background-image: linear-gradient(to bottom, #3c3c3c 0%, #222222 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n}\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n@media (max-width: 767px) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n }\n}\n.alert {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.alert-success {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);\n border-color: #b2dba1;\n}\n.alert-info {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);\n border-color: #9acfea;\n}\n.alert-warning {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);\n border-color: #f5e79e;\n}\n.alert-danger {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);\n border-color: #dca7a7;\n}\n.progress {\n background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);\n}\n.progress-bar {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);\n}\n.progress-bar-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);\n}\n.progress-bar-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);\n}\n.progress-bar-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);\n}\n.progress-bar-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);\n}\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.list-group {\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 #286090;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);\n border-color: #2b669a;\n}\n.list-group-item.active .badge,\n.list-group-item.active:hover .badge,\n.list-group-item.active:focus .badge {\n text-shadow: none;\n}\n.panel {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.panel-default > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n}\n.panel-primary > .panel-heading {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n}\n.panel-success > .panel-heading {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);\n}\n.panel-info > .panel-heading {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);\n}\n.panel-warning > .panel-heading {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);\n}\n.panel-danger > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);\n}\n.well {\n background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);\n border-color: #dcdcdc;\n -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n/*# sourceMappingURL=bootstrap-theme.css.map */","// Gradients\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-repeat: repeat-x;\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n"]}
{"version":3,"sources":["less/theme.less","less/mixins/vendor-prefixes.less","bootstrap-theme.css","less/mixins/gradients.less","less/mixins/reset-filter.less"],"names":[],"mappings":"AAcA;;;;;;EAME,0CAAA;ECgDA,6FAAA;EACQ,qFAAA;EC5DT;AFgBC;;;;;;;;;;;;EC2CA,0DAAA;EACQ,kDAAA;EC7CT;AFVD;;;;;;EAiBI,mBAAA;EECH;AFiCC;;EAEE,wBAAA;EE/BH;AFoCD;EGnDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EAgC2C,2BAAA;EAA2B,oBAAA;EEzBvE;AFLC;;EAEE,2BAAA;EACA,8BAAA;EEOH;AFJC;;EAEE,2BAAA;EACA,uBAAA;EEMH;AFHC;;;EAGE,2BAAA;EACA,wBAAA;EEKH;AFUD;EGpDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EEgCD;AF9BC;;EAEE,2BAAA;EACA,8BAAA;EEgCH;AF7BC;;EAEE,2BAAA;EACA,uBAAA;EE+BH;AF5BC;;;EAGE,2BAAA;EACA,wBAAA;EE8BH;AFdD;EGrDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EEyDD;AFvDC;;EAEE,2BAAA;EACA,8BAAA;EEyDH;AFtDC;;EAEE,2BAAA;EACA,uBAAA;EEwDH;AFrDC;;;EAGE,2BAAA;EACA,wBAAA;EEuDH;AFtCD;EGtDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EEkFD;AFhFC;;EAEE,2BAAA;EACA,8BAAA;EEkFH;AF/EC;;EAEE,2BAAA;EACA,uBAAA;EEiFH;AF9EC;;;EAGE,2BAAA;EACA,wBAAA;EEgFH;AF9DD;EGvDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EE2GD;AFzGC;;EAEE,2BAAA;EACA,8BAAA;EE2GH;AFxGC;;EAEE,2BAAA;EACA,uBAAA;EE0GH;AFvGC;;;EAGE,2BAAA;EACA,wBAAA;EEyGH;AFtFD;EGxDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EEoID;AFlIC;;EAEE,2BAAA;EACA,8BAAA;EEoIH;AFjIC;;EAEE,2BAAA;EACA,uBAAA;EEmIH;AFhIC;;;EAGE,2BAAA;EACA,wBAAA;EEkIH;AFxGD;;EChBE,oDAAA;EACQ,4CAAA;EC4HT;AFnGD;;EGzEI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EHwEF,2BAAA;EEyGD;AFvGD;;;EG9EI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH8EF,2BAAA;EE6GD;AFpGD;EG3FI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ECnBF,qEAAA;EJ6GA,oBAAA;EC/CA,6FAAA;EACQ,qFAAA;EC0JT;AF/GD;;EG3FI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EF2CF,0DAAA;EACQ,kDAAA;ECoKT;AF5GD;;EAEE,gDAAA;EE8GD;AF1GD;EG9GI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ECnBF,qEAAA;EF+OD;AFlHD;;EG9GI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EF2CF,yDAAA;EACQ,iDAAA;EC0LT;AF5HD;;EAYI,2CAAA;EEoHH;AF/GD;;;EAGE,kBAAA;EEiHD;AF5FD;EAfI;;;IAGE,aAAA;IG3IF,0EAAA;IACA,qEAAA;IACA,+FAAA;IAAA,wEAAA;IACA,6BAAA;IACA,wHAAA;ID0PD;EACF;AFxGD;EACE,+CAAA;ECzGA,4FAAA;EACQ,oFAAA;ECoNT;AFhGD;EGpKI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH4JF,uBAAA;EE4GD;AFvGD;EGrKI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH4JF,uBAAA;EEoHD;AF9GD;EGtKI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH4JF,uBAAA;EE4HD;AFrHD;EGvKI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH4JF,uBAAA;EEoID;AFrHD;EG/KI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDuSH;AFlHD;EGzLI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED8SH;AFxHD;EG1LI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDqTH;AF9HD;EG3LI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED4TH;AFpID;EG5LI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDmUH;AF1ID;EG7LI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED0UH;AF7ID;EGhKI,+MAAA;EACA,0MAAA;EACA,uMAAA;EDgTH;AFzID;EACE,oBAAA;EC5JA,oDAAA;EACQ,4CAAA;ECwST;AF1ID;;;EAGE,+BAAA;EGjNE,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH+MF,uBAAA;EEgJD;AFrJD;;;EAQI,mBAAA;EEkJH;AFxID;ECjLE,mDAAA;EACQ,2CAAA;EC4TT;AFlID;EG1OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED+WH;AFxID;EG3OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDsXH;AF9ID;EG5OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED6XH;AFpJD;EG7OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDoYH;AF1JD;EG9OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED2YH;AFhKD;EG/OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDkZH;AFhKD;EGtPI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EHoPF,uBAAA;ECzMA,2FAAA;EACQ,mFAAA;ECgXT","file":"bootstrap-theme.css","sourcesContent":["\n//\n// Load core variables and mixins\n// --------------------------------------------------\n\n@import \"variables.less\";\n@import \"mixins.less\";\n\n\n//\n// Buttons\n// --------------------------------------------------\n\n// Common styles\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0,0,0,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n // Reset the shadow\n &:active,\n &.active {\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n }\n\n .badge {\n text-shadow: none;\n }\n}\n\n// Mixin for generating new styles\n.btn-styles(@btn-color: #555) {\n #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));\n .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620\n background-repeat: repeat-x;\n border-color: darken(@btn-color, 14%);\n\n &:hover,\n &:focus {\n background-color: darken(@btn-color, 12%);\n background-position: 0 -15px;\n }\n\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n border-color: darken(@btn-color, 14%);\n }\n\n &.disabled,\n &:disabled,\n &[disabled] {\n background-color: darken(@btn-color, 12%);\n background-image: none;\n }\n}\n\n// Common styles\n.btn {\n // Remove the gradient for the pressed/active state\n &:active,\n &.active {\n background-image: none;\n }\n}\n\n// Apply the mixin to the buttons\n.btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }\n.btn-primary { .btn-styles(@btn-primary-bg); }\n.btn-success { .btn-styles(@btn-success-bg); }\n.btn-info { .btn-styles(@btn-info-bg); }\n.btn-warning { .btn-styles(@btn-warning-bg); }\n.btn-danger { .btn-styles(@btn-danger-bg); }\n\n\n//\n// Images\n// --------------------------------------------------\n\n.thumbnail,\n.img-thumbnail {\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n\n\n//\n// Dropdowns\n// --------------------------------------------------\n\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));\n background-color: darken(@dropdown-link-hover-bg, 5%);\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n background-color: darken(@dropdown-link-active-bg, 5%);\n}\n\n\n//\n// Navbar\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n border-radius: @navbar-border-radius;\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-bg, 2%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.075));\n }\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255,255,255,.25);\n}\n\n// Inverted navbar\n.navbar-inverse {\n #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257\n\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.25));\n }\n\n .navbar-brand,\n .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0,0,0,.25);\n }\n}\n\n// Undo rounded corners in static and fixed navbars\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n\n// Fix active state of dropdown items in collapsed mode\n@media (max-width: @grid-float-breakpoint-max) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: #fff;\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n }\n }\n}\n\n\n//\n// Alerts\n// --------------------------------------------------\n\n// Common styles\n.alert {\n text-shadow: 0 1px 0 rgba(255,255,255,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);\n .box-shadow(@shadow);\n}\n\n// Mixin for generating new styles\n.alert-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));\n border-color: darken(@color, 15%);\n}\n\n// Apply the mixin to the alerts\n.alert-success { .alert-styles(@alert-success-bg); }\n.alert-info { .alert-styles(@alert-info-bg); }\n.alert-warning { .alert-styles(@alert-warning-bg); }\n.alert-danger { .alert-styles(@alert-danger-bg); }\n\n\n//\n// Progress bars\n// --------------------------------------------------\n\n// Give the progress background some depth\n.progress {\n #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)\n}\n\n// Mixin for generating new styles\n.progress-bar-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));\n}\n\n// Apply the mixin to the progress bars\n.progress-bar { .progress-bar-styles(@progress-bar-bg); }\n.progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }\n.progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }\n.progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }\n.progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }\n\n// Reset the striped class because our mixins don't do multiple gradients and\n// the above custom styles override the new `.progress-bar-striped` in v3.2.0.\n.progress-bar-striped {\n #gradient > .striped();\n}\n\n\n//\n// List groups\n// --------------------------------------------------\n\n.list-group {\n border-radius: @border-radius-base;\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);\n #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));\n border-color: darken(@list-group-active-border, 7.5%);\n\n .badge {\n text-shadow: none;\n }\n}\n\n\n//\n// Panels\n// --------------------------------------------------\n\n// Common styles\n.panel {\n .box-shadow(0 1px 2px rgba(0,0,0,.05));\n}\n\n// Mixin for generating new styles\n.panel-heading-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));\n}\n\n// Apply the mixin to the panel headings only\n.panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }\n.panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }\n.panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }\n.panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }\n.panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }\n.panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }\n\n\n//\n// Wells\n// --------------------------------------------------\n\n.well {\n #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);\n border-color: darken(@well-bg, 10%);\n @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);\n .box-shadow(@shadow);\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They will be removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility){\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n",".btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.btn-default:active,\n.btn-primary:active,\n.btn-success:active,\n.btn-info:active,\n.btn-warning:active,\n.btn-danger:active,\n.btn-default.active,\n.btn-primary.active,\n.btn-success.active,\n.btn-info.active,\n.btn-warning.active,\n.btn-danger.active {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-default .badge,\n.btn-primary .badge,\n.btn-success .badge,\n.btn-info .badge,\n.btn-warning .badge,\n.btn-danger .badge {\n text-shadow: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n}\n.btn-default {\n background-image: -webkit-linear-gradient(top, #ffffff 0%, #e0e0e0 100%);\n background-image: -o-linear-gradient(top, #ffffff 0%, #e0e0e0 100%);\n background-image: linear-gradient(to bottom, #ffffff 0%, #e0e0e0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #dbdbdb;\n text-shadow: 0 1px 0 #fff;\n border-color: #ccc;\n}\n.btn-default:hover,\n.btn-default:focus {\n background-color: #e0e0e0;\n background-position: 0 -15px;\n}\n.btn-default:active,\n.btn-default.active {\n background-color: #e0e0e0;\n border-color: #dbdbdb;\n}\n.btn-default.disabled,\n.btn-default:disabled,\n.btn-default[disabled] {\n background-color: #e0e0e0;\n background-image: none;\n}\n.btn-primary {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #245580;\n}\n.btn-primary:hover,\n.btn-primary:focus {\n background-color: #265a88;\n background-position: 0 -15px;\n}\n.btn-primary:active,\n.btn-primary.active {\n background-color: #265a88;\n border-color: #245580;\n}\n.btn-primary.disabled,\n.btn-primary:disabled,\n.btn-primary[disabled] {\n background-color: #265a88;\n background-image: none;\n}\n.btn-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #3e8f3e;\n}\n.btn-success:hover,\n.btn-success:focus {\n background-color: #419641;\n background-position: 0 -15px;\n}\n.btn-success:active,\n.btn-success.active {\n background-color: #419641;\n border-color: #3e8f3e;\n}\n.btn-success.disabled,\n.btn-success:disabled,\n.btn-success[disabled] {\n background-color: #419641;\n background-image: none;\n}\n.btn-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #28a4c9;\n}\n.btn-info:hover,\n.btn-info:focus {\n background-color: #2aabd2;\n background-position: 0 -15px;\n}\n.btn-info:active,\n.btn-info.active {\n background-color: #2aabd2;\n border-color: #28a4c9;\n}\n.btn-info.disabled,\n.btn-info:disabled,\n.btn-info[disabled] {\n background-color: #2aabd2;\n background-image: none;\n}\n.btn-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #e38d13;\n}\n.btn-warning:hover,\n.btn-warning:focus {\n background-color: #eb9316;\n background-position: 0 -15px;\n}\n.btn-warning:active,\n.btn-warning.active {\n background-color: #eb9316;\n border-color: #e38d13;\n}\n.btn-warning.disabled,\n.btn-warning:disabled,\n.btn-warning[disabled] {\n background-color: #eb9316;\n background-image: none;\n}\n.btn-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #b92c28;\n}\n.btn-danger:hover,\n.btn-danger:focus {\n background-color: #c12e2a;\n background-position: 0 -15px;\n}\n.btn-danger:active,\n.btn-danger.active {\n background-color: #c12e2a;\n border-color: #b92c28;\n}\n.btn-danger.disabled,\n.btn-danger:disabled,\n.btn-danger[disabled] {\n background-color: #c12e2a;\n background-image: none;\n}\n.thumbnail,\n.img-thumbnail {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-color: #e8e8e8;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-color: #2e6da4;\n}\n.navbar-default {\n background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);\n}\n.navbar-inverse {\n background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222222 100%);\n background-image: -o-linear-gradient(top, #3c3c3c 0%, #222222 100%);\n background-image: linear-gradient(to bottom, #3c3c3c 0%, #222222 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n}\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n@media (max-width: 767px) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n }\n}\n.alert {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.alert-success {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);\n border-color: #b2dba1;\n}\n.alert-info {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);\n border-color: #9acfea;\n}\n.alert-warning {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);\n border-color: #f5e79e;\n}\n.alert-danger {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);\n border-color: #dca7a7;\n}\n.progress {\n background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);\n}\n.progress-bar {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);\n}\n.progress-bar-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);\n}\n.progress-bar-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);\n}\n.progress-bar-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);\n}\n.progress-bar-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);\n}\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.list-group {\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 #286090;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);\n border-color: #2b669a;\n}\n.list-group-item.active .badge,\n.list-group-item.active:hover .badge,\n.list-group-item.active:focus .badge {\n text-shadow: none;\n}\n.panel {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.panel-default > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n}\n.panel-primary > .panel-heading {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n}\n.panel-success > .panel-heading {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);\n}\n.panel-info > .panel-heading {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);\n}\n.panel-warning > .panel-heading {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);\n}\n.panel-danger > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);\n}\n.well {\n background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);\n border-color: #dcdcdc;\n -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n/*# sourceMappingURL=bootstrap-theme.css.map */","// Gradients\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-repeat: repeat-x;\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n"]}
\ No newline at end of file
dashboard/v1/css/bootstrap-theme.min.css
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*!
/*!
* Bootstrap v3.3.2 (http://getbootstrap.com)
* Bootstrap v3.3.2 (http://getbootstrap.com)
* Copyright 2011-2015 Twitter, Inc.
* Copyright 2011-2015 Twitter, Inc.
...
...
dashboard/v1/css/bootstrap.css
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*!
/*!
* Bootstrap v3.3.1 (http://getbootstrap.com)
* Bootstrap v3.3.1 (http://getbootstrap.com)
* Copyright 2011-2014 Twitter, Inc.
* Copyright 2011-2014 Twitter, Inc.
...
...
dashboard/v1/css/bootstrap.min.css
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*!
/*!
* Bootstrap v3.3.1 (http://getbootstrap.com)
* Bootstrap v3.3.1 (http://getbootstrap.com)
* Copyright 2011-2014 Twitter, Inc.
* Copyright 2011-2014 Twitter, Inc.
...
...
dashboard/v1/css/heroic-features.css
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*!
/*!
* Start Bootstrap - Heroic Features HTML Template (http://startbootstrap.com)
* Start Bootstrap - Heroic Features HTML Template (http://startbootstrap.com)
* Code licensed under the Apache License v2.0.
* Code licensed under the Apache License v2.0.
...
...
dashboard/v1/css/sticky-footer-navbar.css
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/* Sticky footer styles
/* Sticky footer styles
-------------------------------------------------- */
-------------------------------------------------- */
html
{
html
{
...
...
dashboard/v1/fonts/glyphicons-halflings-regular.svg
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
<?xml version="1.0" standalone="no"?>
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg
xmlns=
"http://www.w3.org/2000/svg"
>
<svg
xmlns=
"http://www.w3.org/2000/svg"
>
...
...
dashboard/v1/js/attributes.html
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
<h4>
{{key}}:
</h4>
<h4>
{{key}}:
</h4>
<p>
{{val}}
</p>
<p>
{{val}}
</p>
dashboard/v1/js/bootstrap.js
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*!
/*!
* Bootstrap v3.3.1 (http://getbootstrap.com)
* Bootstrap v3.3.1 (http://getbootstrap.com)
* Copyright 2011-2014 Twitter, Inc.
* Copyright 2011-2014 Twitter, Inc.
...
...
dashboard/v1/js/bootstrap.min.js
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*!
/*!
* Bootstrap v3.3.1 (http://getbootstrap.com)
* Bootstrap v3.3.1 (http://getbootstrap.com)
* Copyright 2011-2014 Twitter, Inc.
* Copyright 2011-2014 Twitter, Inc.
...
...
dashboard/v1/js/jquery.js
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
!
function
(
a
,
b
){
"object"
==
typeof
module
&&
"object"
==
typeof
module
.
exports
?
module
.
exports
=
a
.
document
?
b
(
a
,
!
0
):
function
(
a
){
if
(
!
a
.
document
)
throw
new
Error
(
"jQuery requires a window with a document"
);
return
b
(
a
)}:
b
(
a
)}(
"undefined"
!=
typeof
window
?
window
:
this
,
function
(
a
,
b
){
var
c
=
[],
d
=
c
.
slice
,
e
=
c
.
concat
,
f
=
c
.
push
,
g
=
c
.
indexOf
,
h
=
{},
i
=
h
.
toString
,
j
=
h
.
hasOwnProperty
,
k
=
{},
l
=
"1.11.1"
,
m
=
function
(
a
,
b
){
return
new
m
.
fn
.
init
(
a
,
b
)},
n
=
/^
[\s\u
FEFF
\x
A0
]
+|
[\s\u
FEFF
\x
A0
]
+$/g
,
o
=
/^-ms-/
,
p
=
/-
([\d
a-z
])
/gi
,
q
=
function
(
a
,
b
){
return
b
.
toUpperCase
()};
m
.
fn
=
m
.
prototype
=
{
jquery
:
l
,
constructor
:
m
,
selector
:
""
,
length
:
0
,
toArray
:
function
(){
return
d
.
call
(
this
)},
get
:
function
(
a
){
return
null
!=
a
?
0
>
a
?
this
[
a
+
this
.
length
]:
this
[
a
]:
d
.
call
(
this
)},
pushStack
:
function
(
a
){
var
b
=
m
.
merge
(
this
.
constructor
(),
a
);
return
b
.
prevObject
=
this
,
b
.
context
=
this
.
context
,
b
},
each
:
function
(
a
,
b
){
return
m
.
each
(
this
,
a
,
b
)},
map
:
function
(
a
){
return
this
.
pushStack
(
m
.
map
(
this
,
function
(
b
,
c
){
return
a
.
call
(
b
,
c
,
b
)}))},
slice
:
function
(){
return
this
.
pushStack
(
d
.
apply
(
this
,
arguments
))},
first
:
function
(){
return
this
.
eq
(
0
)},
last
:
function
(){
return
this
.
eq
(
-
1
)},
eq
:
function
(
a
){
var
b
=
this
.
length
,
c
=+
a
+
(
0
>
a
?
b
:
0
);
return
this
.
pushStack
(
c
>=
0
&&
b
>
c
?[
this
[
c
]]:[])},
end
:
function
(){
return
this
.
prevObject
||
this
.
constructor
(
null
)},
push
:
f
,
sort
:
c
.
sort
,
splice
:
c
.
splice
},
m
.
extend
=
m
.
fn
.
extend
=
function
(){
var
a
,
b
,
c
,
d
,
e
,
f
,
g
=
arguments
[
0
]
||
{},
h
=
1
,
i
=
arguments
.
length
,
j
=!
1
;
for
(
"boolean"
==
typeof
g
&&
(
j
=
g
,
g
=
arguments
[
h
]
||
{},
h
++
),
"object"
==
typeof
g
||
m
.
isFunction
(
g
)
||
(
g
=
{}),
h
===
i
&&
(
g
=
this
,
h
--
);
i
>
h
;
h
++
)
if
(
null
!=
(
e
=
arguments
[
h
]))
for
(
d
in
e
)
a
=
g
[
d
],
c
=
e
[
d
],
g
!==
c
&&
(
j
&&
c
&&
(
m
.
isPlainObject
(
c
)
||
(
b
=
m
.
isArray
(
c
)))?(
b
?(
b
=!
1
,
f
=
a
&&
m
.
isArray
(
a
)?
a
:[]):
f
=
a
&&
m
.
isPlainObject
(
a
)?
a
:{},
g
[
d
]
=
m
.
extend
(
j
,
f
,
c
)):
void
0
!==
c
&&
(
g
[
d
]
=
c
));
return
g
},
m
.
extend
({
expando
:
"jQuery"
+
(
l
+
Math
.
random
()).
replace
(
/
\D
/g
,
""
),
isReady
:
!
0
,
error
:
function
(
a
){
throw
new
Error
(
a
)},
noop
:
function
(){},
isFunction
:
function
(
a
){
return
"function"
===
m
.
type
(
a
)},
isArray
:
Array
.
isArray
||
function
(
a
){
return
"array"
===
m
.
type
(
a
)},
isWindow
:
function
(
a
){
return
null
!=
a
&&
a
==
a
.
window
},
isNumeric
:
function
(
a
){
return
!
m
.
isArray
(
a
)
&&
a
-
parseFloat
(
a
)
>=
0
},
isEmptyObject
:
function
(
a
){
var
b
;
for
(
b
in
a
)
return
!
1
;
return
!
0
},
isPlainObject
:
function
(
a
){
var
b
;
if
(
!
a
||
"object"
!==
m
.
type
(
a
)
||
a
.
nodeType
||
m
.
isWindow
(
a
))
return
!
1
;
try
{
if
(
a
.
constructor
&&!
j
.
call
(
a
,
"constructor"
)
&&!
j
.
call
(
a
.
constructor
.
prototype
,
"isPrototypeOf"
))
return
!
1
}
catch
(
c
){
return
!
1
}
if
(
k
.
ownLast
)
for
(
b
in
a
)
return
j
.
call
(
a
,
b
);
for
(
b
in
a
);
return
void
0
===
b
||
j
.
call
(
a
,
b
)},
type
:
function
(
a
){
return
null
==
a
?
a
+
""
:
"object"
==
typeof
a
||
"function"
==
typeof
a
?
h
[
i
.
call
(
a
)]
||
"object"
:
typeof
a
},
globalEval
:
function
(
b
){
b
&&
m
.
trim
(
b
)
&&
(
a
.
execScript
||
function
(
b
){
a
.
eval
.
call
(
a
,
b
)})(
b
)},
camelCase
:
function
(
a
){
return
a
.
replace
(
o
,
"ms-"
).
replace
(
p
,
q
)},
nodeName
:
function
(
a
,
b
){
return
a
.
nodeName
&&
a
.
nodeName
.
toLowerCase
()
===
b
.
toLowerCase
()},
each
:
function
(
a
,
b
,
c
){
var
d
,
e
=
0
,
f
=
a
.
length
,
g
=
r
(
a
);
if
(
c
){
if
(
g
){
for
(;
f
>
e
;
e
++
)
if
(
d
=
b
.
apply
(
a
[
e
],
c
),
d
===!
1
)
break
}
else
for
(
e
in
a
)
if
(
d
=
b
.
apply
(
a
[
e
],
c
),
d
===!
1
)
break
}
else
if
(
g
){
for
(;
f
>
e
;
e
++
)
if
(
d
=
b
.
call
(
a
[
e
],
e
,
a
[
e
]),
d
===!
1
)
break
}
else
for
(
e
in
a
)
if
(
d
=
b
.
call
(
a
[
e
],
e
,
a
[
e
]),
d
===!
1
)
break
;
return
a
},
trim
:
function
(
a
){
return
null
==
a
?
""
:(
a
+
""
).
replace
(
n
,
""
)},
makeArray
:
function
(
a
,
b
){
var
c
=
b
||
[];
return
null
!=
a
&&
(
r
(
Object
(
a
))?
m
.
merge
(
c
,
"string"
==
typeof
a
?[
a
]:
a
):
f
.
call
(
c
,
a
)),
c
},
inArray
:
function
(
a
,
b
,
c
){
var
d
;
if
(
b
){
if
(
g
)
return
g
.
call
(
b
,
a
,
c
);
for
(
d
=
b
.
length
,
c
=
c
?
0
>
c
?
Math
.
max
(
0
,
d
+
c
):
c
:
0
;
d
>
c
;
c
++
)
if
(
c
in
b
&&
b
[
c
]
===
a
)
return
c
}
return
-
1
},
merge
:
function
(
a
,
b
){
var
c
=+
b
.
length
,
d
=
0
,
e
=
a
.
length
;
while
(
c
>
d
)
a
[
e
++
]
=
b
[
d
++
];
if
(
c
!==
c
)
while
(
void
0
!==
b
[
d
])
a
[
e
++
]
=
b
[
d
++
];
return
a
.
length
=
e
,
a
},
grep
:
function
(
a
,
b
,
c
){
for
(
var
d
,
e
=
[],
f
=
0
,
g
=
a
.
length
,
h
=!
c
;
g
>
f
;
f
++
)
d
=!
b
(
a
[
f
],
f
),
d
!==
h
&&
e
.
push
(
a
[
f
]);
return
e
},
map
:
function
(
a
,
b
,
c
){
var
d
,
f
=
0
,
g
=
a
.
length
,
h
=
r
(
a
),
i
=
[];
if
(
h
)
for
(;
g
>
f
;
f
++
)
d
=
b
(
a
[
f
],
f
,
c
),
null
!=
d
&&
i
.
push
(
d
);
else
for
(
f
in
a
)
d
=
b
(
a
[
f
],
f
,
c
),
null
!=
d
&&
i
.
push
(
d
);
return
e
.
apply
([],
i
)},
guid
:
1
,
proxy
:
function
(
a
,
b
){
var
c
,
e
,
f
;
return
"string"
==
typeof
b
&&
(
f
=
a
[
b
],
b
=
a
,
a
=
f
),
m
.
isFunction
(
a
)?(
c
=
d
.
call
(
arguments
,
2
),
e
=
function
(){
return
a
.
apply
(
b
||
this
,
c
.
concat
(
d
.
call
(
arguments
)))},
e
.
guid
=
a
.
guid
=
a
.
guid
||
m
.
guid
++
,
e
):
void
0
},
now
:
function
(){
return
+
new
Date
},
support
:
k
}),
m
.
each
(
"Boolean Number String Function Array Date RegExp Object Error"
.
split
(
" "
),
function
(
a
,
b
){
h
[
"[object "
+
b
+
"]"
]
=
b
.
toLowerCase
()});
function
r
(
a
){
var
b
=
a
.
length
,
c
=
m
.
type
(
a
);
return
"function"
===
c
||
m
.
isWindow
(
a
)?
!
1
:
1
===
a
.
nodeType
&&
b
?
!
0
:
"array"
===
c
||
0
===
b
||
"number"
==
typeof
b
&&
b
>
0
&&
b
-
1
in
a
}
var
s
=
function
(
a
){
var
b
,
c
,
d
,
e
,
f
,
g
,
h
,
i
,
j
,
k
,
l
,
m
,
n
,
o
,
p
,
q
,
r
,
s
,
t
,
u
=
"sizzle"
+-
new
Date
,
v
=
a
.
document
,
w
=
0
,
x
=
0
,
y
=
gb
(),
z
=
gb
(),
A
=
gb
(),
B
=
function
(
a
,
b
){
return
a
===
b
&&
(
l
=!
0
),
0
},
C
=
"undefined"
,
D
=
1
<<
31
,
E
=
{}.
hasOwnProperty
,
F
=
[],
G
=
F
.
pop
,
H
=
F
.
push
,
I
=
F
.
push
,
J
=
F
.
slice
,
K
=
F
.
indexOf
||
function
(
a
){
for
(
var
b
=
0
,
c
=
this
.
length
;
c
>
b
;
b
++
)
if
(
this
[
b
]
===
a
)
return
b
;
return
-
1
},
L
=
"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped"
,
M
=
"[
\\
x20
\\
t
\\
r
\\
n
\\
f]"
,
N
=
"(?:
\\\\
.|[
\\
w-]|[^
\\
x00-
\\
xa0])+"
,
O
=
N
.
replace
(
"w"
,
"w#"
),
P
=
"
\\
["
+
M
+
"*("
+
N
+
")(?:"
+
M
+
"*([*^$|!~]?=)"
+
M
+
"*(?:'((?:
\\\\
.|[^
\\\\
'])*)'|
\"
((?:
\\\\
.|[^
\\\\
\"
])*)
\"
|("
+
O
+
"))|)"
+
M
+
"*
\\
]"
,
Q
=
":("
+
N
+
")(?:
\\
((('((?:
\\\\
.|[^
\\\\
'])*)'|
\"
((?:
\\\\
.|[^
\\\\
\"
])*)
\"
)|((?:
\\\\
.|[^
\\\\
()[
\\
]]|"
+
P
+
")*)|.*)
\\
)|)"
,
R
=
new
RegExp
(
"^"
+
M
+
"+|((?:^|[^
\\\\
])(?:
\\\\
.)*)"
+
M
+
"+$"
,
"g"
),
S
=
new
RegExp
(
"^"
+
M
+
"*,"
+
M
+
"*"
),
T
=
new
RegExp
(
"^"
+
M
+
"*([>+~]|"
+
M
+
")"
+
M
+
"*"
),
U
=
new
RegExp
(
"="
+
M
+
"*([^
\\
]'
\"
]*?)"
+
M
+
"*
\\
]"
,
"g"
),
V
=
new
RegExp
(
Q
),
W
=
new
RegExp
(
"^"
+
O
+
"$"
),
X
=
{
ID
:
new
RegExp
(
"^#("
+
N
+
")"
),
CLASS
:
new
RegExp
(
"^
\\
.("
+
N
+
")"
),
TAG
:
new
RegExp
(
"^("
+
N
.
replace
(
"w"
,
"w*"
)
+
")"
),
ATTR
:
new
RegExp
(
"^"
+
P
),
PSEUDO
:
new
RegExp
(
"^"
+
Q
),
CHILD
:
new
RegExp
(
"^:(only|first|last|nth|nth-last)-(child|of-type)(?:
\\
("
+
M
+
"*(even|odd|(([+-]|)(
\\
d*)n|)"
+
M
+
"*(?:([+-]|)"
+
M
+
"*(
\\
d+)|))"
+
M
+
"*
\\
)|)"
,
"i"
),
bool
:
new
RegExp
(
"^(?:"
+
L
+
")$"
,
"i"
),
needsContext
:
new
RegExp
(
"^"
+
M
+
"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:
\\
("
+
M
+
"*((?:-
\\
d)?
\\
d*)"
+
M
+
"*
\\
)|)(?=[^-]|$)"
,
"i"
)},
Y
=
/^
(?:
input|select|textarea|button
)
$/i
,
Z
=
/^h
\d
$/i
,
$
=
/^
[^
{
]
+
\{\s
*
\[
native
\w
/
,
_
=
/^
(?:
#
([\w
-
]
+
)
|
(\w
+
)
|
\.([\w
-
]
+
))
$/
,
ab
=
/
[
+~
]
/
,
bb
=
/'|
\\
/g
,
cb
=
new
RegExp
(
"
\\\\
([
\\
da-f]{1,6}"
+
M
+
"?|("
+
M
+
")|.)"
,
"ig"
),
db
=
function
(
a
,
b
,
c
){
var
d
=
"0x"
+
b
-
65536
;
return
d
!==
d
||
c
?
b
:
0
>
d
?
String
.
fromCharCode
(
d
+
65536
):
String
.
fromCharCode
(
d
>>
10
|
55296
,
1023
&
d
|
56320
)};
try
{
I
.
apply
(
F
=
J
.
call
(
v
.
childNodes
),
v
.
childNodes
),
F
[
v
.
childNodes
.
length
].
nodeType
}
catch
(
eb
){
I
=
{
apply
:
F
.
length
?
function
(
a
,
b
){
H
.
apply
(
a
,
J
.
call
(
b
))}:
function
(
a
,
b
){
var
c
=
a
.
length
,
d
=
0
;
while
(
a
[
c
++
]
=
b
[
d
++
]);
a
.
length
=
c
-
1
}}}
function
fb
(
a
,
b
,
d
,
e
){
var
f
,
h
,
j
,
k
,
l
,
o
,
r
,
s
,
w
,
x
;
if
((
b
?
b
.
ownerDocument
||
b
:
v
)
!==
n
&&
m
(
b
),
b
=
b
||
n
,
d
=
d
||
[],
!
a
||
"string"
!=
typeof
a
)
return
d
;
if
(
1
!==
(
k
=
b
.
nodeType
)
&&
9
!==
k
)
return
[];
if
(
p
&&!
e
){
if
(
f
=
_
.
exec
(
a
))
if
(
j
=
f
[
1
]){
if
(
9
===
k
){
if
(
h
=
b
.
getElementById
(
j
),
!
h
||!
h
.
parentNode
)
return
d
;
if
(
h
.
id
===
j
)
return
d
.
push
(
h
),
d
}
else
if
(
b
.
ownerDocument
&&
(
h
=
b
.
ownerDocument
.
getElementById
(
j
))
&&
t
(
b
,
h
)
&&
h
.
id
===
j
)
return
d
.
push
(
h
),
d
}
else
{
if
(
f
[
2
])
return
I
.
apply
(
d
,
b
.
getElementsByTagName
(
a
)),
d
;
if
((
j
=
f
[
3
])
&&
c
.
getElementsByClassName
&&
b
.
getElementsByClassName
)
return
I
.
apply
(
d
,
b
.
getElementsByClassName
(
j
)),
d
}
if
(
c
.
qsa
&&
(
!
q
||!
q
.
test
(
a
))){
if
(
s
=
r
=
u
,
w
=
b
,
x
=
9
===
k
&&
a
,
1
===
k
&&
"object"
!==
b
.
nodeName
.
toLowerCase
()){
o
=
g
(
a
),(
r
=
b
.
getAttribute
(
"id"
))?
s
=
r
.
replace
(
bb
,
"
\\
$&"
):
b
.
setAttribute
(
"id"
,
s
),
s
=
"[id='"
+
s
+
"'] "
,
l
=
o
.
length
;
while
(
l
--
)
o
[
l
]
=
s
+
qb
(
o
[
l
]);
w
=
ab
.
test
(
a
)
&&
ob
(
b
.
parentNode
)
||
b
,
x
=
o
.
join
(
","
)}
if
(
x
)
try
{
return
I
.
apply
(
d
,
w
.
querySelectorAll
(
x
)),
d
}
catch
(
y
){}
finally
{
r
||
b
.
removeAttribute
(
"id"
)}}}
return
i
(
a
.
replace
(
R
,
"$1"
),
b
,
d
,
e
)}
function
gb
(){
var
a
=
[];
function
b
(
c
,
e
){
return
a
.
push
(
c
+
" "
)
>
d
.
cacheLength
&&
delete
b
[
a
.
shift
()],
b
[
c
+
" "
]
=
e
}
return
b
}
function
hb
(
a
){
return
a
[
u
]
=!
0
,
a
}
function
ib
(
a
){
var
b
=
n
.
createElement
(
"div"
);
try
{
return
!!
a
(
b
)}
catch
(
c
){
return
!
1
}
finally
{
b
.
parentNode
&&
b
.
parentNode
.
removeChild
(
b
),
b
=
null
}}
function
jb
(
a
,
b
){
var
c
=
a
.
split
(
"|"
),
e
=
a
.
length
;
while
(
e
--
)
d
.
attrHandle
[
c
[
e
]]
=
b
}
function
kb
(
a
,
b
){
var
c
=
b
&&
a
,
d
=
c
&&
1
===
a
.
nodeType
&&
1
===
b
.
nodeType
&&
(
~
b
.
sourceIndex
||
D
)
-
(
~
a
.
sourceIndex
||
D
);
if
(
d
)
return
d
;
if
(
c
)
while
(
c
=
c
.
nextSibling
)
if
(
c
===
b
)
return
-
1
;
return
a
?
1
:
-
1
}
function
lb
(
a
){
return
function
(
b
){
var
c
=
b
.
nodeName
.
toLowerCase
();
return
"input"
===
c
&&
b
.
type
===
a
}}
function
mb
(
a
){
return
function
(
b
){
var
c
=
b
.
nodeName
.
toLowerCase
();
return
(
"input"
===
c
||
"button"
===
c
)
&&
b
.
type
===
a
}}
function
nb
(
a
){
return
hb
(
function
(
b
){
return
b
=+
b
,
hb
(
function
(
c
,
d
){
var
e
,
f
=
a
([],
c
.
length
,
b
),
g
=
f
.
length
;
while
(
g
--
)
c
[
e
=
f
[
g
]]
&&
(
c
[
e
]
=!
(
d
[
e
]
=
c
[
e
]))})})}
function
ob
(
a
){
return
a
&&
typeof
a
.
getElementsByTagName
!==
C
&&
a
}
c
=
fb
.
support
=
{},
f
=
fb
.
isXML
=
function
(
a
){
var
b
=
a
&&
(
a
.
ownerDocument
||
a
).
documentElement
;
return
b
?
"HTML"
!==
b
.
nodeName
:
!
1
},
m
=
fb
.
setDocument
=
function
(
a
){
var
b
,
e
=
a
?
a
.
ownerDocument
||
a
:
v
,
g
=
e
.
defaultView
;
return
e
!==
n
&&
9
===
e
.
nodeType
&&
e
.
documentElement
?(
n
=
e
,
o
=
e
.
documentElement
,
p
=!
f
(
e
),
g
&&
g
!==
g
.
top
&&
(
g
.
addEventListener
?
g
.
addEventListener
(
"unload"
,
function
(){
m
()},
!
1
):
g
.
attachEvent
&&
g
.
attachEvent
(
"onunload"
,
function
(){
m
()})),
c
.
attributes
=
ib
(
function
(
a
){
return
a
.
className
=
"i"
,
!
a
.
getAttribute
(
"className"
)}),
c
.
getElementsByTagName
=
ib
(
function
(
a
){
return
a
.
appendChild
(
e
.
createComment
(
""
)),
!
a
.
getElementsByTagName
(
"*"
).
length
}),
c
.
getElementsByClassName
=
$
.
test
(
e
.
getElementsByClassName
)
&&
ib
(
function
(
a
){
return
a
.
innerHTML
=
"<div class='a'></div><div class='a i'></div>"
,
a
.
firstChild
.
className
=
"i"
,
2
===
a
.
getElementsByClassName
(
"i"
).
length
}),
c
.
getById
=
ib
(
function
(
a
){
return
o
.
appendChild
(
a
).
id
=
u
,
!
e
.
getElementsByName
||!
e
.
getElementsByName
(
u
).
length
}),
c
.
getById
?(
d
.
find
.
ID
=
function
(
a
,
b
){
if
(
typeof
b
.
getElementById
!==
C
&&
p
){
var
c
=
b
.
getElementById
(
a
);
return
c
&&
c
.
parentNode
?[
c
]:[]}},
d
.
filter
.
ID
=
function
(
a
){
var
b
=
a
.
replace
(
cb
,
db
);
return
function
(
a
){
return
a
.
getAttribute
(
"id"
)
===
b
}}):(
delete
d
.
find
.
ID
,
d
.
filter
.
ID
=
function
(
a
){
var
b
=
a
.
replace
(
cb
,
db
);
return
function
(
a
){
var
c
=
typeof
a
.
getAttributeNode
!==
C
&&
a
.
getAttributeNode
(
"id"
);
return
c
&&
c
.
value
===
b
}}),
d
.
find
.
TAG
=
c
.
getElementsByTagName
?
function
(
a
,
b
){
return
typeof
b
.
getElementsByTagName
!==
C
?
b
.
getElementsByTagName
(
a
):
void
0
}:
function
(
a
,
b
){
var
c
,
d
=
[],
e
=
0
,
f
=
b
.
getElementsByTagName
(
a
);
if
(
"*"
===
a
){
while
(
c
=
f
[
e
++
])
1
===
c
.
nodeType
&&
d
.
push
(
c
);
return
d
}
return
f
},
d
.
find
.
CLASS
=
c
.
getElementsByClassName
&&
function
(
a
,
b
){
return
typeof
b
.
getElementsByClassName
!==
C
&&
p
?
b
.
getElementsByClassName
(
a
):
void
0
},
r
=
[],
q
=
[],(
c
.
qsa
=
$
.
test
(
e
.
querySelectorAll
))
&&
(
ib
(
function
(
a
){
a
.
innerHTML
=
"<select msallowclip=''><option selected=''></option></select>"
,
a
.
querySelectorAll
(
"[msallowclip^='']"
).
length
&&
q
.
push
(
"[*^$]="
+
M
+
"*(?:''|
\"\"
)"
),
a
.
querySelectorAll
(
"[selected]"
).
length
||
q
.
push
(
"
\\
["
+
M
+
"*(?:value|"
+
L
+
")"
),
a
.
querySelectorAll
(
":checked"
).
length
||
q
.
push
(
":checked"
)}),
ib
(
function
(
a
){
var
b
=
e
.
createElement
(
"input"
);
b
.
setAttribute
(
"type"
,
"hidden"
),
a
.
appendChild
(
b
).
setAttribute
(
"name"
,
"D"
),
a
.
querySelectorAll
(
"[name=d]"
).
length
&&
q
.
push
(
"name"
+
M
+
"*[*^$|!~]?="
),
a
.
querySelectorAll
(
":enabled"
).
length
||
q
.
push
(
":enabled"
,
":disabled"
),
a
.
querySelectorAll
(
"*,:x"
),
q
.
push
(
",.*:"
)})),(
c
.
matchesSelector
=
$
.
test
(
s
=
o
.
matches
||
o
.
webkitMatchesSelector
||
o
.
mozMatchesSelector
||
o
.
oMatchesSelector
||
o
.
msMatchesSelector
))
&&
ib
(
function
(
a
){
c
.
disconnectedMatch
=
s
.
call
(
a
,
"div"
),
s
.
call
(
a
,
"[s!='']:x"
),
r
.
push
(
"!="
,
Q
)}),
q
=
q
.
length
&&
new
RegExp
(
q
.
join
(
"|"
)),
r
=
r
.
length
&&
new
RegExp
(
r
.
join
(
"|"
)),
b
=
$
.
test
(
o
.
compareDocumentPosition
),
t
=
b
||
$
.
test
(
o
.
contains
)?
function
(
a
,
b
){
var
c
=
9
===
a
.
nodeType
?
a
.
documentElement
:
a
,
d
=
b
&&
b
.
parentNode
;
return
a
===
d
||!
(
!
d
||
1
!==
d
.
nodeType
||!
(
c
.
contains
?
c
.
contains
(
d
):
a
.
compareDocumentPosition
&&
16
&
a
.
compareDocumentPosition
(
d
)))}:
function
(
a
,
b
){
if
(
b
)
while
(
b
=
b
.
parentNode
)
if
(
b
===
a
)
return
!
0
;
return
!
1
},
B
=
b
?
function
(
a
,
b
){
if
(
a
===
b
)
return
l
=!
0
,
0
;
var
d
=!
a
.
compareDocumentPosition
-!
b
.
compareDocumentPosition
;
return
d
?
d
:(
d
=
(
a
.
ownerDocument
||
a
)
===
(
b
.
ownerDocument
||
b
)?
a
.
compareDocumentPosition
(
b
):
1
,
1
&
d
||!
c
.
sortDetached
&&
b
.
compareDocumentPosition
(
a
)
===
d
?
a
===
e
||
a
.
ownerDocument
===
v
&&
t
(
v
,
a
)?
-
1
:
b
===
e
||
b
.
ownerDocument
===
v
&&
t
(
v
,
b
)?
1
:
k
?
K
.
call
(
k
,
a
)
-
K
.
call
(
k
,
b
):
0
:
4
&
d
?
-
1
:
1
)}:
function
(
a
,
b
){
if
(
a
===
b
)
return
l
=!
0
,
0
;
var
c
,
d
=
0
,
f
=
a
.
parentNode
,
g
=
b
.
parentNode
,
h
=
[
a
],
i
=
[
b
];
if
(
!
f
||!
g
)
return
a
===
e
?
-
1
:
b
===
e
?
1
:
f
?
-
1
:
g
?
1
:
k
?
K
.
call
(
k
,
a
)
-
K
.
call
(
k
,
b
):
0
;
if
(
f
===
g
)
return
kb
(
a
,
b
);
c
=
a
;
while
(
c
=
c
.
parentNode
)
h
.
unshift
(
c
);
c
=
b
;
while
(
c
=
c
.
parentNode
)
i
.
unshift
(
c
);
while
(
h
[
d
]
===
i
[
d
])
d
++
;
return
d
?
kb
(
h
[
d
],
i
[
d
]):
h
[
d
]
===
v
?
-
1
:
i
[
d
]
===
v
?
1
:
0
},
e
):
n
},
fb
.
matches
=
function
(
a
,
b
){
return
fb
(
a
,
null
,
null
,
b
)},
fb
.
matchesSelector
=
function
(
a
,
b
){
if
((
a
.
ownerDocument
||
a
)
!==
n
&&
m
(
a
),
b
=
b
.
replace
(
U
,
"='$1']"
),
!
(
!
c
.
matchesSelector
||!
p
||
r
&&
r
.
test
(
b
)
||
q
&&
q
.
test
(
b
)))
try
{
var
d
=
s
.
call
(
a
,
b
);
if
(
d
||
c
.
disconnectedMatch
||
a
.
document
&&
11
!==
a
.
document
.
nodeType
)
return
d
}
catch
(
e
){}
return
fb
(
b
,
n
,
null
,[
a
]).
length
>
0
},
fb
.
contains
=
function
(
a
,
b
){
return
(
a
.
ownerDocument
||
a
)
!==
n
&&
m
(
a
),
t
(
a
,
b
)},
fb
.
attr
=
function
(
a
,
b
){(
a
.
ownerDocument
||
a
)
!==
n
&&
m
(
a
);
var
e
=
d
.
attrHandle
[
b
.
toLowerCase
()],
f
=
e
&&
E
.
call
(
d
.
attrHandle
,
b
.
toLowerCase
())?
e
(
a
,
b
,
!
p
):
void
0
;
return
void
0
!==
f
?
f
:
c
.
attributes
||!
p
?
a
.
getAttribute
(
b
):(
f
=
a
.
getAttributeNode
(
b
))
&&
f
.
specified
?
f
.
value
:
null
},
fb
.
error
=
function
(
a
){
throw
new
Error
(
"Syntax error, unrecognized expression: "
+
a
)},
fb
.
uniqueSort
=
function
(
a
){
var
b
,
d
=
[],
e
=
0
,
f
=
0
;
if
(
l
=!
c
.
detectDuplicates
,
k
=!
c
.
sortStable
&&
a
.
slice
(
0
),
a
.
sort
(
B
),
l
){
while
(
b
=
a
[
f
++
])
b
===
a
[
f
]
&&
(
e
=
d
.
push
(
f
));
while
(
e
--
)
a
.
splice
(
d
[
e
],
1
)}
return
k
=
null
,
a
},
e
=
fb
.
getText
=
function
(
a
){
var
b
,
c
=
""
,
d
=
0
,
f
=
a
.
nodeType
;
if
(
f
){
if
(
1
===
f
||
9
===
f
||
11
===
f
){
if
(
"string"
==
typeof
a
.
textContent
)
return
a
.
textContent
;
for
(
a
=
a
.
firstChild
;
a
;
a
=
a
.
nextSibling
)
c
+=
e
(
a
)}
else
if
(
3
===
f
||
4
===
f
)
return
a
.
nodeValue
}
else
while
(
b
=
a
[
d
++
])
c
+=
e
(
b
);
return
c
},
d
=
fb
.
selectors
=
{
cacheLength
:
50
,
createPseudo
:
hb
,
match
:
X
,
attrHandle
:{},
find
:{},
relative
:{
">"
:{
dir
:
"parentNode"
,
first
:
!
0
},
" "
:{
dir
:
"parentNode"
},
"+"
:{
dir
:
"previousSibling"
,
first
:
!
0
},
"~"
:{
dir
:
"previousSibling"
}},
preFilter
:{
ATTR
:
function
(
a
){
return
a
[
1
]
=
a
[
1
].
replace
(
cb
,
db
),
a
[
3
]
=
(
a
[
3
]
||
a
[
4
]
||
a
[
5
]
||
""
).
replace
(
cb
,
db
),
"~="
===
a
[
2
]
&&
(
a
[
3
]
=
" "
+
a
[
3
]
+
" "
),
a
.
slice
(
0
,
4
)},
CHILD
:
function
(
a
){
return
a
[
1
]
=
a
[
1
].
toLowerCase
(),
"nth"
===
a
[
1
].
slice
(
0
,
3
)?(
a
[
3
]
||
fb
.
error
(
a
[
0
]),
a
[
4
]
=+
(
a
[
4
]?
a
[
5
]
+
(
a
[
6
]
||
1
):
2
*
(
"even"
===
a
[
3
]
||
"odd"
===
a
[
3
])),
a
[
5
]
=+
(
a
[
7
]
+
a
[
8
]
||
"odd"
===
a
[
3
])):
a
[
3
]
&&
fb
.
error
(
a
[
0
]),
a
},
PSEUDO
:
function
(
a
){
var
b
,
c
=!
a
[
6
]
&&
a
[
2
];
return
X
.
CHILD
.
test
(
a
[
0
])?
null
:(
a
[
3
]?
a
[
2
]
=
a
[
4
]
||
a
[
5
]
||
""
:
c
&&
V
.
test
(
c
)
&&
(
b
=
g
(
c
,
!
0
))
&&
(
b
=
c
.
indexOf
(
")"
,
c
.
length
-
b
)
-
c
.
length
)
&&
(
a
[
0
]
=
a
[
0
].
slice
(
0
,
b
),
a
[
2
]
=
c
.
slice
(
0
,
b
)),
a
.
slice
(
0
,
3
))}},
filter
:{
TAG
:
function
(
a
){
var
b
=
a
.
replace
(
cb
,
db
).
toLowerCase
();
return
"*"
===
a
?
function
(){
return
!
0
}:
function
(
a
){
return
a
.
nodeName
&&
a
.
nodeName
.
toLowerCase
()
===
b
}},
CLASS
:
function
(
a
){
var
b
=
y
[
a
+
" "
];
return
b
||
(
b
=
new
RegExp
(
"(^|"
+
M
+
")"
+
a
+
"("
+
M
+
"|$)"
))
&&
y
(
a
,
function
(
a
){
return
b
.
test
(
"string"
==
typeof
a
.
className
&&
a
.
className
||
typeof
a
.
getAttribute
!==
C
&&
a
.
getAttribute
(
"class"
)
||
""
)})},
ATTR
:
function
(
a
,
b
,
c
){
return
function
(
d
){
var
e
=
fb
.
attr
(
d
,
a
);
return
null
==
e
?
"!="
===
b
:
b
?(
e
+=
""
,
"="
===
b
?
e
===
c
:
"!="
===
b
?
e
!==
c
:
"^="
===
b
?
c
&&
0
===
e
.
indexOf
(
c
):
"*="
===
b
?
c
&&
e
.
indexOf
(
c
)
>-
1
:
"$="
===
b
?
c
&&
e
.
slice
(
-
c
.
length
)
===
c
:
"~="
===
b
?(
" "
+
e
+
" "
).
indexOf
(
c
)
>-
1
:
"|="
===
b
?
e
===
c
||
e
.
slice
(
0
,
c
.
length
+
1
)
===
c
+
"-"
:
!
1
):
!
0
}},
CHILD
:
function
(
a
,
b
,
c
,
d
,
e
){
var
f
=
"nth"
!==
a
.
slice
(
0
,
3
),
g
=
"last"
!==
a
.
slice
(
-
4
),
h
=
"of-type"
===
b
;
return
1
===
d
&&
0
===
e
?
function
(
a
){
return
!!
a
.
parentNode
}:
function
(
b
,
c
,
i
){
var
j
,
k
,
l
,
m
,
n
,
o
,
p
=
f
!==
g
?
"nextSibling"
:
"previousSibling"
,
q
=
b
.
parentNode
,
r
=
h
&&
b
.
nodeName
.
toLowerCase
(),
s
=!
i
&&!
h
;
if
(
q
){
if
(
f
){
while
(
p
){
l
=
b
;
while
(
l
=
l
[
p
])
if
(
h
?
l
.
nodeName
.
toLowerCase
()
===
r
:
1
===
l
.
nodeType
)
return
!
1
;
o
=
p
=
"only"
===
a
&&!
o
&&
"nextSibling"
}
return
!
0
}
if
(
o
=
[
g
?
q
.
firstChild
:
q
.
lastChild
],
g
&&
s
){
k
=
q
[
u
]
||
(
q
[
u
]
=
{}),
j
=
k
[
a
]
||
[],
n
=
j
[
0
]
===
w
&&
j
[
1
],
m
=
j
[
0
]
===
w
&&
j
[
2
],
l
=
n
&&
q
.
childNodes
[
n
];
while
(
l
=++
n
&&
l
&&
l
[
p
]
||
(
m
=
n
=
0
)
||
o
.
pop
())
if
(
1
===
l
.
nodeType
&&++
m
&&
l
===
b
){
k
[
a
]
=
[
w
,
n
,
m
];
break
}}
else
if
(
s
&&
(
j
=
(
b
[
u
]
||
(
b
[
u
]
=
{}))[
a
])
&&
j
[
0
]
===
w
)
m
=
j
[
1
];
else
while
(
l
=++
n
&&
l
&&
l
[
p
]
||
(
m
=
n
=
0
)
||
o
.
pop
())
if
((
h
?
l
.
nodeName
.
toLowerCase
()
===
r
:
1
===
l
.
nodeType
)
&&++
m
&&
(
s
&&
((
l
[
u
]
||
(
l
[
u
]
=
{}))[
a
]
=
[
w
,
m
]),
l
===
b
))
break
;
return
m
-=
e
,
m
===
d
||
m
%
d
===
0
&&
m
/
d
>=
0
}}},
PSEUDO
:
function
(
a
,
b
){
var
c
,
e
=
d
.
pseudos
[
a
]
||
d
.
setFilters
[
a
.
toLowerCase
()]
||
fb
.
error
(
"unsupported pseudo: "
+
a
);
return
e
[
u
]?
e
(
b
):
e
.
length
>
1
?(
c
=
[
a
,
a
,
""
,
b
],
d
.
setFilters
.
hasOwnProperty
(
a
.
toLowerCase
())?
hb
(
function
(
a
,
c
){
var
d
,
f
=
e
(
a
,
b
),
g
=
f
.
length
;
while
(
g
--
)
d
=
K
.
call
(
a
,
f
[
g
]),
a
[
d
]
=!
(
c
[
d
]
=
f
[
g
])}):
function
(
a
){
return
e
(
a
,
0
,
c
)}):
e
}},
pseudos
:{
not
:
hb
(
function
(
a
){
var
b
=
[],
c
=
[],
d
=
h
(
a
.
replace
(
R
,
"$1"
));
return
d
[
u
]?
hb
(
function
(
a
,
b
,
c
,
e
){
var
f
,
g
=
d
(
a
,
null
,
e
,[]),
h
=
a
.
length
;
while
(
h
--
)(
f
=
g
[
h
])
&&
(
a
[
h
]
=!
(
b
[
h
]
=
f
))}):
function
(
a
,
e
,
f
){
return
b
[
0
]
=
a
,
d
(
b
,
null
,
f
,
c
),
!
c
.
pop
()}}),
has
:
hb
(
function
(
a
){
return
function
(
b
){
return
fb
(
a
,
b
).
length
>
0
}}),
contains
:
hb
(
function
(
a
){
return
function
(
b
){
return
(
b
.
textContent
||
b
.
innerText
||
e
(
b
)).
indexOf
(
a
)
>-
1
}}),
lang
:
hb
(
function
(
a
){
return
W
.
test
(
a
||
""
)
||
fb
.
error
(
"unsupported lang: "
+
a
),
a
=
a
.
replace
(
cb
,
db
).
toLowerCase
(),
function
(
b
){
var
c
;
do
if
(
c
=
p
?
b
.
lang
:
b
.
getAttribute
(
"xml:lang"
)
||
b
.
getAttribute
(
"lang"
))
return
c
=
c
.
toLowerCase
(),
c
===
a
||
0
===
c
.
indexOf
(
a
+
"-"
);
while
((
b
=
b
.
parentNode
)
&&
1
===
b
.
nodeType
);
return
!
1
}}),
target
:
function
(
b
){
var
c
=
a
.
location
&&
a
.
location
.
hash
;
return
c
&&
c
.
slice
(
1
)
===
b
.
id
},
root
:
function
(
a
){
return
a
===
o
},
focus
:
function
(
a
){
return
a
===
n
.
activeElement
&&
(
!
n
.
hasFocus
||
n
.
hasFocus
())
&&!!
(
a
.
type
||
a
.
href
||~
a
.
tabIndex
)},
enabled
:
function
(
a
){
return
a
.
disabled
===!
1
},
disabled
:
function
(
a
){
return
a
.
disabled
===!
0
},
checked
:
function
(
a
){
var
b
=
a
.
nodeName
.
toLowerCase
();
return
"input"
===
b
&&!!
a
.
checked
||
"option"
===
b
&&!!
a
.
selected
},
selected
:
function
(
a
){
return
a
.
parentNode
&&
a
.
parentNode
.
selectedIndex
,
a
.
selected
===!
0
},
empty
:
function
(
a
){
for
(
a
=
a
.
firstChild
;
a
;
a
=
a
.
nextSibling
)
if
(
a
.
nodeType
<
6
)
return
!
1
;
return
!
0
},
parent
:
function
(
a
){
return
!
d
.
pseudos
.
empty
(
a
)},
header
:
function
(
a
){
return
Z
.
test
(
a
.
nodeName
)},
input
:
function
(
a
){
return
Y
.
test
(
a
.
nodeName
)},
button
:
function
(
a
){
var
b
=
a
.
nodeName
.
toLowerCase
();
return
"input"
===
b
&&
"button"
===
a
.
type
||
"button"
===
b
},
text
:
function
(
a
){
var
b
;
return
"input"
===
a
.
nodeName
.
toLowerCase
()
&&
"text"
===
a
.
type
&&
(
null
==
(
b
=
a
.
getAttribute
(
"type"
))
||
"text"
===
b
.
toLowerCase
())},
first
:
nb
(
function
(){
return
[
0
]}),
last
:
nb
(
function
(
a
,
b
){
return
[
b
-
1
]}),
eq
:
nb
(
function
(
a
,
b
,
c
){
return
[
0
>
c
?
c
+
b
:
c
]}),
even
:
nb
(
function
(
a
,
b
){
for
(
var
c
=
0
;
b
>
c
;
c
+=
2
)
a
.
push
(
c
);
return
a
}),
odd
:
nb
(
function
(
a
,
b
){
for
(
var
c
=
1
;
b
>
c
;
c
+=
2
)
a
.
push
(
c
);
return
a
}),
lt
:
nb
(
function
(
a
,
b
,
c
){
for
(
var
d
=
0
>
c
?
c
+
b
:
c
;
--
d
>=
0
;)
a
.
push
(
d
);
return
a
}),
gt
:
nb
(
function
(
a
,
b
,
c
){
for
(
var
d
=
0
>
c
?
c
+
b
:
c
;
++
d
<
b
;)
a
.
push
(
d
);
return
a
})}},
d
.
pseudos
.
nth
=
d
.
pseudos
.
eq
;
for
(
b
in
{
radio
:
!
0
,
checkbox
:
!
0
,
file
:
!
0
,
password
:
!
0
,
image
:
!
0
})
d
.
pseudos
[
b
]
=
lb
(
b
);
for
(
b
in
{
submit
:
!
0
,
reset
:
!
0
})
d
.
pseudos
[
b
]
=
mb
(
b
);
function
pb
(){}
pb
.
prototype
=
d
.
filters
=
d
.
pseudos
,
d
.
setFilters
=
new
pb
,
g
=
fb
.
tokenize
=
function
(
a
,
b
){
var
c
,
e
,
f
,
g
,
h
,
i
,
j
,
k
=
z
[
a
+
" "
];
if
(
k
)
return
b
?
0
:
k
.
slice
(
0
);
h
=
a
,
i
=
[],
j
=
d
.
preFilter
;
while
(
h
){(
!
c
||
(
e
=
S
.
exec
(
h
)))
&&
(
e
&&
(
h
=
h
.
slice
(
e
[
0
].
length
)
||
h
),
i
.
push
(
f
=
[])),
c
=!
1
,(
e
=
T
.
exec
(
h
))
&&
(
c
=
e
.
shift
(),
f
.
push
({
value
:
c
,
type
:
e
[
0
].
replace
(
R
,
" "
)}),
h
=
h
.
slice
(
c
.
length
));
for
(
g
in
d
.
filter
)
!
(
e
=
X
[
g
].
exec
(
h
))
||
j
[
g
]
&&!
(
e
=
j
[
g
](
e
))
||
(
c
=
e
.
shift
(),
f
.
push
({
value
:
c
,
type
:
g
,
matches
:
e
}),
h
=
h
.
slice
(
c
.
length
));
if
(
!
c
)
break
}
return
b
?
h
.
length
:
h
?
fb
.
error
(
a
):
z
(
a
,
i
).
slice
(
0
)};
function
qb
(
a
){
for
(
var
b
=
0
,
c
=
a
.
length
,
d
=
""
;
c
>
b
;
b
++
)
d
+=
a
[
b
].
value
;
return
d
}
function
rb
(
a
,
b
,
c
){
var
d
=
b
.
dir
,
e
=
c
&&
"parentNode"
===
d
,
f
=
x
++
;
return
b
.
first
?
function
(
b
,
c
,
f
){
while
(
b
=
b
[
d
])
if
(
1
===
b
.
nodeType
||
e
)
return
a
(
b
,
c
,
f
)}:
function
(
b
,
c
,
g
){
var
h
,
i
,
j
=
[
w
,
f
];
if
(
g
){
while
(
b
=
b
[
d
])
if
((
1
===
b
.
nodeType
||
e
)
&&
a
(
b
,
c
,
g
))
return
!
0
}
else
while
(
b
=
b
[
d
])
if
(
1
===
b
.
nodeType
||
e
){
if
(
i
=
b
[
u
]
||
(
b
[
u
]
=
{}),(
h
=
i
[
d
])
&&
h
[
0
]
===
w
&&
h
[
1
]
===
f
)
return
j
[
2
]
=
h
[
2
];
if
(
i
[
d
]
=
j
,
j
[
2
]
=
a
(
b
,
c
,
g
))
return
!
0
}}}
function
sb
(
a
){
return
a
.
length
>
1
?
function
(
b
,
c
,
d
){
var
e
=
a
.
length
;
while
(
e
--
)
if
(
!
a
[
e
](
b
,
c
,
d
))
return
!
1
;
return
!
0
}:
a
[
0
]}
function
tb
(
a
,
b
,
c
){
for
(
var
d
=
0
,
e
=
b
.
length
;
e
>
d
;
d
++
)
fb
(
a
,
b
[
d
],
c
);
return
c
}
function
ub
(
a
,
b
,
c
,
d
,
e
){
for
(
var
f
,
g
=
[],
h
=
0
,
i
=
a
.
length
,
j
=
null
!=
b
;
i
>
h
;
h
++
)(
f
=
a
[
h
])
&&
(
!
c
||
c
(
f
,
d
,
e
))
&&
(
g
.
push
(
f
),
j
&&
b
.
push
(
h
));
return
g
}
function
vb
(
a
,
b
,
c
,
d
,
e
,
f
){
return
d
&&!
d
[
u
]
&&
(
d
=
vb
(
d
)),
e
&&!
e
[
u
]
&&
(
e
=
vb
(
e
,
f
)),
hb
(
function
(
f
,
g
,
h
,
i
){
var
j
,
k
,
l
,
m
=
[],
n
=
[],
o
=
g
.
length
,
p
=
f
||
tb
(
b
||
"*"
,
h
.
nodeType
?[
h
]:
h
,[]),
q
=!
a
||!
f
&&
b
?
p
:
ub
(
p
,
m
,
a
,
h
,
i
),
r
=
c
?
e
||
(
f
?
a
:
o
||
d
)?[]:
g
:
q
;
if
(
c
&&
c
(
q
,
r
,
h
,
i
),
d
){
j
=
ub
(
r
,
n
),
d
(
j
,[],
h
,
i
),
k
=
j
.
length
;
while
(
k
--
)(
l
=
j
[
k
])
&&
(
r
[
n
[
k
]]
=!
(
q
[
n
[
k
]]
=
l
))}
if
(
f
){
if
(
e
||
a
){
if
(
e
){
j
=
[],
k
=
r
.
length
;
while
(
k
--
)(
l
=
r
[
k
])
&&
j
.
push
(
q
[
k
]
=
l
);
e
(
null
,
r
=
[],
j
,
i
)}
k
=
r
.
length
;
while
(
k
--
)(
l
=
r
[
k
])
&&
(
j
=
e
?
K
.
call
(
f
,
l
):
m
[
k
])
>-
1
&&
(
f
[
j
]
=!
(
g
[
j
]
=
l
))}}
else
r
=
ub
(
r
===
g
?
r
.
splice
(
o
,
r
.
length
):
r
),
e
?
e
(
null
,
g
,
r
,
i
):
I
.
apply
(
g
,
r
)})}
function
wb
(
a
){
for
(
var
b
,
c
,
e
,
f
=
a
.
length
,
g
=
d
.
relative
[
a
[
0
].
type
],
h
=
g
||
d
.
relative
[
" "
],
i
=
g
?
1
:
0
,
k
=
rb
(
function
(
a
){
return
a
===
b
},
h
,
!
0
),
l
=
rb
(
function
(
a
){
return
K
.
call
(
b
,
a
)
>-
1
},
h
,
!
0
),
m
=
[
function
(
a
,
c
,
d
){
return
!
g
&&
(
d
||
c
!==
j
)
||
((
b
=
c
).
nodeType
?
k
(
a
,
c
,
d
):
l
(
a
,
c
,
d
))}];
f
>
i
;
i
++
)
if
(
c
=
d
.
relative
[
a
[
i
].
type
])
m
=
[
rb
(
sb
(
m
),
c
)];
else
{
if
(
c
=
d
.
filter
[
a
[
i
].
type
].
apply
(
null
,
a
[
i
].
matches
),
c
[
u
]){
for
(
e
=++
i
;
f
>
e
;
e
++
)
if
(
d
.
relative
[
a
[
e
].
type
])
break
;
return
vb
(
i
>
1
&&
sb
(
m
),
i
>
1
&&
qb
(
a
.
slice
(
0
,
i
-
1
).
concat
({
value
:
" "
===
a
[
i
-
2
].
type
?
"*"
:
""
})).
replace
(
R
,
"$1"
),
c
,
e
>
i
&&
wb
(
a
.
slice
(
i
,
e
)),
f
>
e
&&
wb
(
a
=
a
.
slice
(
e
)),
f
>
e
&&
qb
(
a
))}
m
.
push
(
c
)}
return
sb
(
m
)}
function
xb
(
a
,
b
){
var
c
=
b
.
length
>
0
,
e
=
a
.
length
>
0
,
f
=
function
(
f
,
g
,
h
,
i
,
k
){
var
l
,
m
,
o
,
p
=
0
,
q
=
"0"
,
r
=
f
&&
[],
s
=
[],
t
=
j
,
u
=
f
||
e
&&
d
.
find
.
TAG
(
"*"
,
k
),
v
=
w
+=
null
==
t
?
1
:
Math
.
random
()
||
.
1
,
x
=
u
.
length
;
for
(
k
&&
(
j
=
g
!==
n
&&
g
);
q
!==
x
&&
null
!=
(
l
=
u
[
q
]);
q
++
){
if
(
e
&&
l
){
m
=
0
;
while
(
o
=
a
[
m
++
])
if
(
o
(
l
,
g
,
h
)){
i
.
push
(
l
);
break
}
k
&&
(
w
=
v
)}
c
&&
((
l
=!
o
&&
l
)
&&
p
--
,
f
&&
r
.
push
(
l
))}
if
(
p
+=
q
,
c
&&
q
!==
p
){
m
=
0
;
while
(
o
=
b
[
m
++
])
o
(
r
,
s
,
g
,
h
);
if
(
f
){
if
(
p
>
0
)
while
(
q
--
)
r
[
q
]
||
s
[
q
]
||
(
s
[
q
]
=
G
.
call
(
i
));
s
=
ub
(
s
)}
I
.
apply
(
i
,
s
),
k
&&!
f
&&
s
.
length
>
0
&&
p
+
b
.
length
>
1
&&
fb
.
uniqueSort
(
i
)}
return
k
&&
(
w
=
v
,
j
=
t
),
r
};
return
c
?
hb
(
f
):
f
}
return
h
=
fb
.
compile
=
function
(
a
,
b
){
var
c
,
d
=
[],
e
=
[],
f
=
A
[
a
+
" "
];
if
(
!
f
){
b
||
(
b
=
g
(
a
)),
c
=
b
.
length
;
while
(
c
--
)
f
=
wb
(
b
[
c
]),
f
[
u
]?
d
.
push
(
f
):
e
.
push
(
f
);
f
=
A
(
a
,
xb
(
e
,
d
)),
f
.
selector
=
a
}
return
f
},
i
=
fb
.
select
=
function
(
a
,
b
,
e
,
f
){
var
i
,
j
,
k
,
l
,
m
,
n
=
"function"
==
typeof
a
&&
a
,
o
=!
f
&&
g
(
a
=
n
.
selector
||
a
);
if
(
e
=
e
||
[],
1
===
o
.
length
){
if
(
j
=
o
[
0
]
=
o
[
0
].
slice
(
0
),
j
.
length
>
2
&&
"ID"
===
(
k
=
j
[
0
]).
type
&&
c
.
getById
&&
9
===
b
.
nodeType
&&
p
&&
d
.
relative
[
j
[
1
].
type
]){
if
(
b
=
(
d
.
find
.
ID
(
k
.
matches
[
0
].
replace
(
cb
,
db
),
b
)
||
[])[
0
],
!
b
)
return
e
;
n
&&
(
b
=
b
.
parentNode
),
a
=
a
.
slice
(
j
.
shift
().
value
.
length
)}
i
=
X
.
needsContext
.
test
(
a
)?
0
:
j
.
length
;
while
(
i
--
){
if
(
k
=
j
[
i
],
d
.
relative
[
l
=
k
.
type
])
break
;
if
((
m
=
d
.
find
[
l
])
&&
(
f
=
m
(
k
.
matches
[
0
].
replace
(
cb
,
db
),
ab
.
test
(
j
[
0
].
type
)
&&
ob
(
b
.
parentNode
)
||
b
))){
if
(
j
.
splice
(
i
,
1
),
a
=
f
.
length
&&
qb
(
j
),
!
a
)
return
I
.
apply
(
e
,
f
),
e
;
break
}}}
return
(
n
||
h
(
a
,
o
))(
f
,
b
,
!
p
,
e
,
ab
.
test
(
a
)
&&
ob
(
b
.
parentNode
)
||
b
),
e
},
c
.
sortStable
=
u
.
split
(
""
).
sort
(
B
).
join
(
""
)
===
u
,
c
.
detectDuplicates
=!!
l
,
m
(),
c
.
sortDetached
=
ib
(
function
(
a
){
return
1
&
a
.
compareDocumentPosition
(
n
.
createElement
(
"div"
))}),
ib
(
function
(
a
){
return
a
.
innerHTML
=
"<a href='#'></a>"
,
"#"
===
a
.
firstChild
.
getAttribute
(
"href"
)})
||
jb
(
"type|href|height|width"
,
function
(
a
,
b
,
c
){
return
c
?
void
0
:
a
.
getAttribute
(
b
,
"type"
===
b
.
toLowerCase
()?
1
:
2
)}),
c
.
attributes
&&
ib
(
function
(
a
){
return
a
.
innerHTML
=
"<input/>"
,
a
.
firstChild
.
setAttribute
(
"value"
,
""
),
""
===
a
.
firstChild
.
getAttribute
(
"value"
)})
||
jb
(
"value"
,
function
(
a
,
b
,
c
){
return
c
||
"input"
!==
a
.
nodeName
.
toLowerCase
()?
void
0
:
a
.
defaultValue
}),
ib
(
function
(
a
){
return
null
==
a
.
getAttribute
(
"disabled"
)})
||
jb
(
L
,
function
(
a
,
b
,
c
){
var
d
;
return
c
?
void
0
:
a
[
b
]
===!
0
?
b
.
toLowerCase
():(
d
=
a
.
getAttributeNode
(
b
))
&&
d
.
specified
?
d
.
value
:
null
}),
fb
}(
a
);
m
.
find
=
s
,
m
.
expr
=
s
.
selectors
,
m
.
expr
[
":"
]
=
m
.
expr
.
pseudos
,
m
.
unique
=
s
.
uniqueSort
,
m
.
text
=
s
.
getText
,
m
.
isXMLDoc
=
s
.
isXML
,
m
.
contains
=
s
.
contains
;
var
t
=
m
.
expr
.
match
.
needsContext
,
u
=
/^<
(\w
+
)\s
*
\/?
>
(?:
<
\/\1
>|
)
$/
,
v
=
/^.
[^
:#
\[\.
,
]
*$/
;
function
w
(
a
,
b
,
c
){
if
(
m
.
isFunction
(
b
))
return
m
.
grep
(
a
,
function
(
a
,
d
){
return
!!
b
.
call
(
a
,
d
,
a
)
!==
c
});
if
(
b
.
nodeType
)
return
m
.
grep
(
a
,
function
(
a
){
return
a
===
b
!==
c
});
if
(
"string"
==
typeof
b
){
if
(
v
.
test
(
b
))
return
m
.
filter
(
b
,
a
,
c
);
b
=
m
.
filter
(
b
,
a
)}
return
m
.
grep
(
a
,
function
(
a
){
return
m
.
inArray
(
a
,
b
)
>=
0
!==
c
})}
m
.
filter
=
function
(
a
,
b
,
c
){
var
d
=
b
[
0
];
return
c
&&
(
a
=
":not("
+
a
+
")"
),
1
===
b
.
length
&&
1
===
d
.
nodeType
?
m
.
find
.
matchesSelector
(
d
,
a
)?[
d
]:[]:
m
.
find
.
matches
(
a
,
m
.
grep
(
b
,
function
(
a
){
return
1
===
a
.
nodeType
}))},
m
.
fn
.
extend
({
find
:
function
(
a
){
var
b
,
c
=
[],
d
=
this
,
e
=
d
.
length
;
if
(
"string"
!=
typeof
a
)
return
this
.
pushStack
(
m
(
a
).
filter
(
function
(){
for
(
b
=
0
;
e
>
b
;
b
++
)
if
(
m
.
contains
(
d
[
b
],
this
))
return
!
0
}));
for
(
b
=
0
;
e
>
b
;
b
++
)
m
.
find
(
a
,
d
[
b
],
c
);
return
c
=
this
.
pushStack
(
e
>
1
?
m
.
unique
(
c
):
c
),
c
.
selector
=
this
.
selector
?
this
.
selector
+
" "
+
a
:
a
,
c
},
filter
:
function
(
a
){
return
this
.
pushStack
(
w
(
this
,
a
||
[],
!
1
))},
not
:
function
(
a
){
return
this
.
pushStack
(
w
(
this
,
a
||
[],
!
0
))},
is
:
function
(
a
){
return
!!
w
(
this
,
"string"
==
typeof
a
&&
t
.
test
(
a
)?
m
(
a
):
a
||
[],
!
1
).
length
}});
var
x
,
y
=
a
.
document
,
z
=
/^
(?:\s
*
(
<
[\w\W]
+>
)[^
>
]
*|#
([\w
-
]
*
))
$/
,
A
=
m
.
fn
.
init
=
function
(
a
,
b
){
var
c
,
d
;
if
(
!
a
)
return
this
;
if
(
"string"
==
typeof
a
){
if
(
c
=
"<"
===
a
.
charAt
(
0
)
&&
">"
===
a
.
charAt
(
a
.
length
-
1
)
&&
a
.
length
>=
3
?[
null
,
a
,
null
]:
z
.
exec
(
a
),
!
c
||!
c
[
1
]
&&
b
)
return
!
b
||
b
.
jquery
?(
b
||
x
).
find
(
a
):
this
.
constructor
(
b
).
find
(
a
);
if
(
c
[
1
]){
if
(
b
=
b
instanceof
m
?
b
[
0
]:
b
,
m
.
merge
(
this
,
m
.
parseHTML
(
c
[
1
],
b
&&
b
.
nodeType
?
b
.
ownerDocument
||
b
:
y
,
!
0
)),
u
.
test
(
c
[
1
])
&&
m
.
isPlainObject
(
b
))
for
(
c
in
b
)
m
.
isFunction
(
this
[
c
])?
this
[
c
](
b
[
c
]):
this
.
attr
(
c
,
b
[
c
]);
return
this
}
if
(
d
=
y
.
getElementById
(
c
[
2
]),
d
&&
d
.
parentNode
){
if
(
d
.
id
!==
c
[
2
])
return
x
.
find
(
a
);
this
.
length
=
1
,
this
[
0
]
=
d
}
return
this
.
context
=
y
,
this
.
selector
=
a
,
this
}
return
a
.
nodeType
?(
this
.
context
=
this
[
0
]
=
a
,
this
.
length
=
1
,
this
):
m
.
isFunction
(
a
)?
"undefined"
!=
typeof
x
.
ready
?
x
.
ready
(
a
):
a
(
m
):(
void
0
!==
a
.
selector
&&
(
this
.
selector
=
a
.
selector
,
this
.
context
=
a
.
context
),
m
.
makeArray
(
a
,
this
))};
A
.
prototype
=
m
.
fn
,
x
=
m
(
y
);
var
B
=
/^
(?:
parents|prev
(?:
Until|All
))
/
,
C
=
{
children
:
!
0
,
contents
:
!
0
,
next
:
!
0
,
prev
:
!
0
};
m
.
extend
({
dir
:
function
(
a
,
b
,
c
){
var
d
=
[],
e
=
a
[
b
];
while
(
e
&&
9
!==
e
.
nodeType
&&
(
void
0
===
c
||
1
!==
e
.
nodeType
||!
m
(
e
).
is
(
c
)))
1
===
e
.
nodeType
&&
d
.
push
(
e
),
e
=
e
[
b
];
return
d
},
sibling
:
function
(
a
,
b
){
for
(
var
c
=
[];
a
;
a
=
a
.
nextSibling
)
1
===
a
.
nodeType
&&
a
!==
b
&&
c
.
push
(
a
);
return
c
}}),
m
.
fn
.
extend
({
has
:
function
(
a
){
var
b
,
c
=
m
(
a
,
this
),
d
=
c
.
length
;
return
this
.
filter
(
function
(){
for
(
b
=
0
;
d
>
b
;
b
++
)
if
(
m
.
contains
(
this
,
c
[
b
]))
return
!
0
})},
closest
:
function
(
a
,
b
){
for
(
var
c
,
d
=
0
,
e
=
this
.
length
,
f
=
[],
g
=
t
.
test
(
a
)
||
"string"
!=
typeof
a
?
m
(
a
,
b
||
this
.
context
):
0
;
e
>
d
;
d
++
)
for
(
c
=
this
[
d
];
c
&&
c
!==
b
;
c
=
c
.
parentNode
)
if
(
c
.
nodeType
<
11
&&
(
g
?
g
.
index
(
c
)
>-
1
:
1
===
c
.
nodeType
&&
m
.
find
.
matchesSelector
(
c
,
a
))){
f
.
push
(
c
);
break
}
return
this
.
pushStack
(
f
.
length
>
1
?
m
.
unique
(
f
):
f
)},
index
:
function
(
a
){
return
a
?
"string"
==
typeof
a
?
m
.
inArray
(
this
[
0
],
m
(
a
)):
m
.
inArray
(
a
.
jquery
?
a
[
0
]:
a
,
this
):
this
[
0
]
&&
this
[
0
].
parentNode
?
this
.
first
().
prevAll
().
length
:
-
1
},
add
:
function
(
a
,
b
){
return
this
.
pushStack
(
m
.
unique
(
m
.
merge
(
this
.
get
(),
m
(
a
,
b
))))},
addBack
:
function
(
a
){
return
this
.
add
(
null
==
a
?
this
.
prevObject
:
this
.
prevObject
.
filter
(
a
))}});
function
D
(
a
,
b
){
do
a
=
a
[
b
];
while
(
a
&&
1
!==
a
.
nodeType
);
return
a
}
m
.
each
({
parent
:
function
(
a
){
var
b
=
a
.
parentNode
;
return
b
&&
11
!==
b
.
nodeType
?
b
:
null
},
parents
:
function
(
a
){
return
m
.
dir
(
a
,
"parentNode"
)},
parentsUntil
:
function
(
a
,
b
,
c
){
return
m
.
dir
(
a
,
"parentNode"
,
c
)},
next
:
function
(
a
){
return
D
(
a
,
"nextSibling"
)},
prev
:
function
(
a
){
return
D
(
a
,
"previousSibling"
)},
nextAll
:
function
(
a
){
return
m
.
dir
(
a
,
"nextSibling"
)},
prevAll
:
function
(
a
){
return
m
.
dir
(
a
,
"previousSibling"
)},
nextUntil
:
function
(
a
,
b
,
c
){
return
m
.
dir
(
a
,
"nextSibling"
,
c
)},
prevUntil
:
function
(
a
,
b
,
c
){
return
m
.
dir
(
a
,
"previousSibling"
,
c
)},
siblings
:
function
(
a
){
return
m
.
sibling
((
a
.
parentNode
||
{}).
firstChild
,
a
)},
children
:
function
(
a
){
return
m
.
sibling
(
a
.
firstChild
)},
contents
:
function
(
a
){
return
m
.
nodeName
(
a
,
"iframe"
)?
a
.
contentDocument
||
a
.
contentWindow
.
document
:
m
.
merge
([],
a
.
childNodes
)}},
function
(
a
,
b
){
m
.
fn
[
a
]
=
function
(
c
,
d
){
var
e
=
m
.
map
(
this
,
b
,
c
);
return
"Until"
!==
a
.
slice
(
-
5
)
&&
(
d
=
c
),
d
&&
"string"
==
typeof
d
&&
(
e
=
m
.
filter
(
d
,
e
)),
this
.
length
>
1
&&
(
C
[
a
]
||
(
e
=
m
.
unique
(
e
)),
B
.
test
(
a
)
&&
(
e
=
e
.
reverse
())),
this
.
pushStack
(
e
)}});
var
E
=
/
\S
+/g
,
F
=
{};
function
G
(
a
){
var
b
=
F
[
a
]
=
{};
return
m
.
each
(
a
.
match
(
E
)
||
[],
function
(
a
,
c
){
b
[
c
]
=!
0
}),
b
}
m
.
Callbacks
=
function
(
a
){
a
=
"string"
==
typeof
a
?
F
[
a
]
||
G
(
a
):
m
.
extend
({},
a
);
var
b
,
c
,
d
,
e
,
f
,
g
,
h
=
[],
i
=!
a
.
once
&&
[],
j
=
function
(
l
){
for
(
c
=
a
.
memory
&&
l
,
d
=!
0
,
f
=
g
||
0
,
g
=
0
,
e
=
h
.
length
,
b
=!
0
;
h
&&
e
>
f
;
f
++
)
if
(
h
[
f
].
apply
(
l
[
0
],
l
[
1
])
===!
1
&&
a
.
stopOnFalse
){
c
=!
1
;
break
}
b
=!
1
,
h
&&
(
i
?
i
.
length
&&
j
(
i
.
shift
()):
c
?
h
=
[]:
k
.
disable
())},
k
=
{
add
:
function
(){
if
(
h
){
var
d
=
h
.
length
;
!
function
f
(
b
){
m
.
each
(
b
,
function
(
b
,
c
){
var
d
=
m
.
type
(
c
);
"function"
===
d
?
a
.
unique
&&
k
.
has
(
c
)
||
h
.
push
(
c
):
c
&&
c
.
length
&&
"string"
!==
d
&&
f
(
c
)})}(
arguments
),
b
?
e
=
h
.
length
:
c
&&
(
g
=
d
,
j
(
c
))}
return
this
},
remove
:
function
(){
return
h
&&
m
.
each
(
arguments
,
function
(
a
,
c
){
var
d
;
while
((
d
=
m
.
inArray
(
c
,
h
,
d
))
>-
1
)
h
.
splice
(
d
,
1
),
b
&&
(
e
>=
d
&&
e
--
,
f
>=
d
&&
f
--
)}),
this
},
has
:
function
(
a
){
return
a
?
m
.
inArray
(
a
,
h
)
>-
1
:
!
(
!
h
||!
h
.
length
)},
empty
:
function
(){
return
h
=
[],
e
=
0
,
this
},
disable
:
function
(){
return
h
=
i
=
c
=
void
0
,
this
},
disabled
:
function
(){
return
!
h
},
lock
:
function
(){
return
i
=
void
0
,
c
||
k
.
disable
(),
this
},
locked
:
function
(){
return
!
i
},
fireWith
:
function
(
a
,
c
){
return
!
h
||
d
&&!
i
||
(
c
=
c
||
[],
c
=
[
a
,
c
.
slice
?
c
.
slice
():
c
],
b
?
i
.
push
(
c
):
j
(
c
)),
this
},
fire
:
function
(){
return
k
.
fireWith
(
this
,
arguments
),
this
},
fired
:
function
(){
return
!!
d
}};
return
k
},
m
.
extend
({
Deferred
:
function
(
a
){
var
b
=
[[
"resolve"
,
"done"
,
m
.
Callbacks
(
"once memory"
),
"resolved"
],[
"reject"
,
"fail"
,
m
.
Callbacks
(
"once memory"
),
"rejected"
],[
"notify"
,
"progress"
,
m
.
Callbacks
(
"memory"
)]],
c
=
"pending"
,
d
=
{
state
:
function
(){
return
c
},
always
:
function
(){
return
e
.
done
(
arguments
).
fail
(
arguments
),
this
},
then
:
function
(){
var
a
=
arguments
;
return
m
.
Deferred
(
function
(
c
){
m
.
each
(
b
,
function
(
b
,
f
){
var
g
=
m
.
isFunction
(
a
[
b
])
&&
a
[
b
];
e
[
f
[
1
]](
function
(){
var
a
=
g
&&
g
.
apply
(
this
,
arguments
);
a
&&
m
.
isFunction
(
a
.
promise
)?
a
.
promise
().
done
(
c
.
resolve
).
fail
(
c
.
reject
).
progress
(
c
.
notify
):
c
[
f
[
0
]
+
"With"
](
this
===
d
?
c
.
promise
():
this
,
g
?[
a
]:
arguments
)})}),
a
=
null
}).
promise
()},
promise
:
function
(
a
){
return
null
!=
a
?
m
.
extend
(
a
,
d
):
d
}},
e
=
{};
return
d
.
pipe
=
d
.
then
,
m
.
each
(
b
,
function
(
a
,
f
){
var
g
=
f
[
2
],
h
=
f
[
3
];
d
[
f
[
1
]]
=
g
.
add
,
h
&&
g
.
add
(
function
(){
c
=
h
},
b
[
1
^
a
][
2
].
disable
,
b
[
2
][
2
].
lock
),
e
[
f
[
0
]]
=
function
(){
return
e
[
f
[
0
]
+
"With"
](
this
===
e
?
d
:
this
,
arguments
),
this
},
e
[
f
[
0
]
+
"With"
]
=
g
.
fireWith
}),
d
.
promise
(
e
),
a
&&
a
.
call
(
e
,
e
),
e
},
when
:
function
(
a
){
var
b
=
0
,
c
=
d
.
call
(
arguments
),
e
=
c
.
length
,
f
=
1
!==
e
||
a
&&
m
.
isFunction
(
a
.
promise
)?
e
:
0
,
g
=
1
===
f
?
a
:
m
.
Deferred
(),
h
=
function
(
a
,
b
,
c
){
return
function
(
e
){
b
[
a
]
=
this
,
c
[
a
]
=
arguments
.
length
>
1
?
d
.
call
(
arguments
):
e
,
c
===
i
?
g
.
notifyWith
(
b
,
c
):
--
f
||
g
.
resolveWith
(
b
,
c
)}},
i
,
j
,
k
;
if
(
e
>
1
)
for
(
i
=
new
Array
(
e
),
j
=
new
Array
(
e
),
k
=
new
Array
(
e
);
e
>
b
;
b
++
)
c
[
b
]
&&
m
.
isFunction
(
c
[
b
].
promise
)?
c
[
b
].
promise
().
done
(
h
(
b
,
k
,
c
)).
fail
(
g
.
reject
).
progress
(
h
(
b
,
j
,
i
)):
--
f
;
return
f
||
g
.
resolveWith
(
k
,
c
),
g
.
promise
()}});
var
H
;
m
.
fn
.
ready
=
function
(
a
){
return
m
.
ready
.
promise
().
done
(
a
),
this
},
m
.
extend
({
isReady
:
!
1
,
readyWait
:
1
,
holdReady
:
function
(
a
){
a
?
m
.
readyWait
++
:
m
.
ready
(
!
0
)},
ready
:
function
(
a
){
if
(
a
===!
0
?
!--
m
.
readyWait
:
!
m
.
isReady
){
if
(
!
y
.
body
)
return
setTimeout
(
m
.
ready
);
m
.
isReady
=!
0
,
a
!==!
0
&&--
m
.
readyWait
>
0
||
(
H
.
resolveWith
(
y
,[
m
]),
m
.
fn
.
triggerHandler
&&
(
m
(
y
).
triggerHandler
(
"ready"
),
m
(
y
).
off
(
"ready"
)))}}});
function
I
(){
y
.
addEventListener
?(
y
.
removeEventListener
(
"DOMContentLoaded"
,
J
,
!
1
),
a
.
removeEventListener
(
"load"
,
J
,
!
1
)):(
y
.
detachEvent
(
"onreadystatechange"
,
J
),
a
.
detachEvent
(
"onload"
,
J
))}
function
J
(){(
y
.
addEventListener
||
"load"
===
event
.
type
||
"complete"
===
y
.
readyState
)
&&
(
I
(),
m
.
ready
())}
m
.
ready
.
promise
=
function
(
b
){
if
(
!
H
)
if
(
H
=
m
.
Deferred
(),
"complete"
===
y
.
readyState
)
setTimeout
(
m
.
ready
);
else
if
(
y
.
addEventListener
)
y
.
addEventListener
(
"DOMContentLoaded"
,
J
,
!
1
),
a
.
addEventListener
(
"load"
,
J
,
!
1
);
else
{
y
.
attachEvent
(
"onreadystatechange"
,
J
),
a
.
attachEvent
(
"onload"
,
J
);
var
c
=!
1
;
try
{
c
=
null
==
a
.
frameElement
&&
y
.
documentElement
}
catch
(
d
){}
c
&&
c
.
doScroll
&&!
function
e
(){
if
(
!
m
.
isReady
){
try
{
c
.
doScroll
(
"left"
)}
catch
(
a
){
return
setTimeout
(
e
,
50
)}
I
(),
m
.
ready
()}}()}
return
H
.
promise
(
b
)};
var
K
=
"undefined"
,
L
;
for
(
L
in
m
(
k
))
break
;
k
.
ownLast
=
"0"
!==
L
,
k
.
inlineBlockNeedsLayout
=!
1
,
m
(
function
(){
var
a
,
b
,
c
,
d
;
c
=
y
.
getElementsByTagName
(
"body"
)[
0
],
c
&&
c
.
style
&&
(
b
=
y
.
createElement
(
"div"
),
d
=
y
.
createElement
(
"div"
),
d
.
style
.
cssText
=
"position:absolute;border:0;width:0;height:0;top:0;left:-9999px"
,
c
.
appendChild
(
d
).
appendChild
(
b
),
typeof
b
.
style
.
zoom
!==
K
&&
(
b
.
style
.
cssText
=
"display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1"
,
k
.
inlineBlockNeedsLayout
=
a
=
3
===
b
.
offsetWidth
,
a
&&
(
c
.
style
.
zoom
=
1
)),
c
.
removeChild
(
d
))}),
function
(){
var
a
=
y
.
createElement
(
"div"
);
if
(
null
==
k
.
deleteExpando
){
k
.
deleteExpando
=!
0
;
try
{
delete
a
.
test
}
catch
(
b
){
k
.
deleteExpando
=!
1
}}
a
=
null
}(),
m
.
acceptData
=
function
(
a
){
var
b
=
m
.
noData
[(
a
.
nodeName
+
" "
).
toLowerCase
()],
c
=+
a
.
nodeType
||
1
;
return
1
!==
c
&&
9
!==
c
?
!
1
:
!
b
||
b
!==!
0
&&
a
.
getAttribute
(
"classid"
)
===
b
};
var
M
=
/^
(?:\{[\w\W]
*
\}
|
\[[\w\W]
*
\])
$/
,
N
=
/
([
A-Z
])
/g
;
function
O
(
a
,
b
,
c
){
if
(
void
0
===
c
&&
1
===
a
.
nodeType
){
var
d
=
"data-"
+
b
.
replace
(
N
,
"-$1"
).
toLowerCase
();
if
(
c
=
a
.
getAttribute
(
d
),
"string"
==
typeof
c
){
try
{
c
=
"true"
===
c
?
!
0
:
"false"
===
c
?
!
1
:
"null"
===
c
?
null
:
+
c
+
""
===
c
?
+
c
:
M
.
test
(
c
)?
m
.
parseJSON
(
c
):
c
}
catch
(
e
){}
m
.
data
(
a
,
b
,
c
)}
else
c
=
void
0
}
return
c
}
function
P
(
a
){
var
b
;
for
(
b
in
a
)
if
((
"data"
!==
b
||!
m
.
isEmptyObject
(
a
[
b
]))
&&
"toJSON"
!==
b
)
return
!
1
;
return
!
0
}
function
Q
(
a
,
b
,
d
,
e
){
if
(
m
.
acceptData
(
a
)){
var
f
,
g
,
h
=
m
.
expando
,
i
=
a
.
nodeType
,
j
=
i
?
m
.
cache
:
a
,
k
=
i
?
a
[
h
]:
a
[
h
]
&&
h
;
!
function
(
a
,
b
){
"object"
==
typeof
module
&&
"object"
==
typeof
module
.
exports
?
module
.
exports
=
a
.
document
?
b
(
a
,
!
0
):
function
(
a
){
if
(
!
a
.
document
)
throw
new
Error
(
"jQuery requires a window with a document"
);
return
b
(
a
)}:
b
(
a
)}(
"undefined"
!=
typeof
window
?
window
:
this
,
function
(
a
,
b
){
var
c
=
[],
d
=
c
.
slice
,
e
=
c
.
concat
,
f
=
c
.
push
,
g
=
c
.
indexOf
,
h
=
{},
i
=
h
.
toString
,
j
=
h
.
hasOwnProperty
,
k
=
{},
l
=
"1.11.1"
,
m
=
function
(
a
,
b
){
return
new
m
.
fn
.
init
(
a
,
b
)},
n
=
/^
[\s\u
FEFF
\x
A0
]
+|
[\s\u
FEFF
\x
A0
]
+$/g
,
o
=
/^-ms-/
,
p
=
/-
([\d
a-z
])
/gi
,
q
=
function
(
a
,
b
){
return
b
.
toUpperCase
()};
m
.
fn
=
m
.
prototype
=
{
jquery
:
l
,
constructor
:
m
,
selector
:
""
,
length
:
0
,
toArray
:
function
(){
return
d
.
call
(
this
)},
get
:
function
(
a
){
return
null
!=
a
?
0
>
a
?
this
[
a
+
this
.
length
]:
this
[
a
]:
d
.
call
(
this
)},
pushStack
:
function
(
a
){
var
b
=
m
.
merge
(
this
.
constructor
(),
a
);
return
b
.
prevObject
=
this
,
b
.
context
=
this
.
context
,
b
},
each
:
function
(
a
,
b
){
return
m
.
each
(
this
,
a
,
b
)},
map
:
function
(
a
){
return
this
.
pushStack
(
m
.
map
(
this
,
function
(
b
,
c
){
return
a
.
call
(
b
,
c
,
b
)}))},
slice
:
function
(){
return
this
.
pushStack
(
d
.
apply
(
this
,
arguments
))},
first
:
function
(){
return
this
.
eq
(
0
)},
last
:
function
(){
return
this
.
eq
(
-
1
)},
eq
:
function
(
a
){
var
b
=
this
.
length
,
c
=+
a
+
(
0
>
a
?
b
:
0
);
return
this
.
pushStack
(
c
>=
0
&&
b
>
c
?[
this
[
c
]]:[])},
end
:
function
(){
return
this
.
prevObject
||
this
.
constructor
(
null
)},
push
:
f
,
sort
:
c
.
sort
,
splice
:
c
.
splice
},
m
.
extend
=
m
.
fn
.
extend
=
function
(){
var
a
,
b
,
c
,
d
,
e
,
f
,
g
=
arguments
[
0
]
||
{},
h
=
1
,
i
=
arguments
.
length
,
j
=!
1
;
for
(
"boolean"
==
typeof
g
&&
(
j
=
g
,
g
=
arguments
[
h
]
||
{},
h
++
),
"object"
==
typeof
g
||
m
.
isFunction
(
g
)
||
(
g
=
{}),
h
===
i
&&
(
g
=
this
,
h
--
);
i
>
h
;
h
++
)
if
(
null
!=
(
e
=
arguments
[
h
]))
for
(
d
in
e
)
a
=
g
[
d
],
c
=
e
[
d
],
g
!==
c
&&
(
j
&&
c
&&
(
m
.
isPlainObject
(
c
)
||
(
b
=
m
.
isArray
(
c
)))?(
b
?(
b
=!
1
,
f
=
a
&&
m
.
isArray
(
a
)?
a
:[]):
f
=
a
&&
m
.
isPlainObject
(
a
)?
a
:{},
g
[
d
]
=
m
.
extend
(
j
,
f
,
c
)):
void
0
!==
c
&&
(
g
[
d
]
=
c
));
return
g
},
m
.
extend
({
expando
:
"jQuery"
+
(
l
+
Math
.
random
()).
replace
(
/
\D
/g
,
""
),
isReady
:
!
0
,
error
:
function
(
a
){
throw
new
Error
(
a
)},
noop
:
function
(){},
isFunction
:
function
(
a
){
return
"function"
===
m
.
type
(
a
)},
isArray
:
Array
.
isArray
||
function
(
a
){
return
"array"
===
m
.
type
(
a
)},
isWindow
:
function
(
a
){
return
null
!=
a
&&
a
==
a
.
window
},
isNumeric
:
function
(
a
){
return
!
m
.
isArray
(
a
)
&&
a
-
parseFloat
(
a
)
>=
0
},
isEmptyObject
:
function
(
a
){
var
b
;
for
(
b
in
a
)
return
!
1
;
return
!
0
},
isPlainObject
:
function
(
a
){
var
b
;
if
(
!
a
||
"object"
!==
m
.
type
(
a
)
||
a
.
nodeType
||
m
.
isWindow
(
a
))
return
!
1
;
try
{
if
(
a
.
constructor
&&!
j
.
call
(
a
,
"constructor"
)
&&!
j
.
call
(
a
.
constructor
.
prototype
,
"isPrototypeOf"
))
return
!
1
}
catch
(
c
){
return
!
1
}
if
(
k
.
ownLast
)
for
(
b
in
a
)
return
j
.
call
(
a
,
b
);
for
(
b
in
a
);
return
void
0
===
b
||
j
.
call
(
a
,
b
)},
type
:
function
(
a
){
return
null
==
a
?
a
+
""
:
"object"
==
typeof
a
||
"function"
==
typeof
a
?
h
[
i
.
call
(
a
)]
||
"object"
:
typeof
a
},
globalEval
:
function
(
b
){
b
&&
m
.
trim
(
b
)
&&
(
a
.
execScript
||
function
(
b
){
a
.
eval
.
call
(
a
,
b
)})(
b
)},
camelCase
:
function
(
a
){
return
a
.
replace
(
o
,
"ms-"
).
replace
(
p
,
q
)},
nodeName
:
function
(
a
,
b
){
return
a
.
nodeName
&&
a
.
nodeName
.
toLowerCase
()
===
b
.
toLowerCase
()},
each
:
function
(
a
,
b
,
c
){
var
d
,
e
=
0
,
f
=
a
.
length
,
g
=
r
(
a
);
if
(
c
){
if
(
g
){
for
(;
f
>
e
;
e
++
)
if
(
d
=
b
.
apply
(
a
[
e
],
c
),
d
===!
1
)
break
}
else
for
(
e
in
a
)
if
(
d
=
b
.
apply
(
a
[
e
],
c
),
d
===!
1
)
break
}
else
if
(
g
){
for
(;
f
>
e
;
e
++
)
if
(
d
=
b
.
call
(
a
[
e
],
e
,
a
[
e
]),
d
===!
1
)
break
}
else
for
(
e
in
a
)
if
(
d
=
b
.
call
(
a
[
e
],
e
,
a
[
e
]),
d
===!
1
)
break
;
return
a
},
trim
:
function
(
a
){
return
null
==
a
?
""
:(
a
+
""
).
replace
(
n
,
""
)},
makeArray
:
function
(
a
,
b
){
var
c
=
b
||
[];
return
null
!=
a
&&
(
r
(
Object
(
a
))?
m
.
merge
(
c
,
"string"
==
typeof
a
?[
a
]:
a
):
f
.
call
(
c
,
a
)),
c
},
inArray
:
function
(
a
,
b
,
c
){
var
d
;
if
(
b
){
if
(
g
)
return
g
.
call
(
b
,
a
,
c
);
for
(
d
=
b
.
length
,
c
=
c
?
0
>
c
?
Math
.
max
(
0
,
d
+
c
):
c
:
0
;
d
>
c
;
c
++
)
if
(
c
in
b
&&
b
[
c
]
===
a
)
return
c
}
return
-
1
},
merge
:
function
(
a
,
b
){
var
c
=+
b
.
length
,
d
=
0
,
e
=
a
.
length
;
while
(
c
>
d
)
a
[
e
++
]
=
b
[
d
++
];
if
(
c
!==
c
)
while
(
void
0
!==
b
[
d
])
a
[
e
++
]
=
b
[
d
++
];
return
a
.
length
=
e
,
a
},
grep
:
function
(
a
,
b
,
c
){
for
(
var
d
,
e
=
[],
f
=
0
,
g
=
a
.
length
,
h
=!
c
;
g
>
f
;
f
++
)
d
=!
b
(
a
[
f
],
f
),
d
!==
h
&&
e
.
push
(
a
[
f
]);
return
e
},
map
:
function
(
a
,
b
,
c
){
var
d
,
f
=
0
,
g
=
a
.
length
,
h
=
r
(
a
),
i
=
[];
if
(
h
)
for
(;
g
>
f
;
f
++
)
d
=
b
(
a
[
f
],
f
,
c
),
null
!=
d
&&
i
.
push
(
d
);
else
for
(
f
in
a
)
d
=
b
(
a
[
f
],
f
,
c
),
null
!=
d
&&
i
.
push
(
d
);
return
e
.
apply
([],
i
)},
guid
:
1
,
proxy
:
function
(
a
,
b
){
var
c
,
e
,
f
;
return
"string"
==
typeof
b
&&
(
f
=
a
[
b
],
b
=
a
,
a
=
f
),
m
.
isFunction
(
a
)?(
c
=
d
.
call
(
arguments
,
2
),
e
=
function
(){
return
a
.
apply
(
b
||
this
,
c
.
concat
(
d
.
call
(
arguments
)))},
e
.
guid
=
a
.
guid
=
a
.
guid
||
m
.
guid
++
,
e
):
void
0
},
now
:
function
(){
return
+
new
Date
},
support
:
k
}),
m
.
each
(
"Boolean Number String Function Array Date RegExp Object Error"
.
split
(
" "
),
function
(
a
,
b
){
h
[
"[object "
+
b
+
"]"
]
=
b
.
toLowerCase
()});
function
r
(
a
){
var
b
=
a
.
length
,
c
=
m
.
type
(
a
);
return
"function"
===
c
||
m
.
isWindow
(
a
)?
!
1
:
1
===
a
.
nodeType
&&
b
?
!
0
:
"array"
===
c
||
0
===
b
||
"number"
==
typeof
b
&&
b
>
0
&&
b
-
1
in
a
}
var
s
=
function
(
a
){
var
b
,
c
,
d
,
e
,
f
,
g
,
h
,
i
,
j
,
k
,
l
,
m
,
n
,
o
,
p
,
q
,
r
,
s
,
t
,
u
=
"sizzle"
+-
new
Date
,
v
=
a
.
document
,
w
=
0
,
x
=
0
,
y
=
gb
(),
z
=
gb
(),
A
=
gb
(),
B
=
function
(
a
,
b
){
return
a
===
b
&&
(
l
=!
0
),
0
},
C
=
"undefined"
,
D
=
1
<<
31
,
E
=
{}.
hasOwnProperty
,
F
=
[],
G
=
F
.
pop
,
H
=
F
.
push
,
I
=
F
.
push
,
J
=
F
.
slice
,
K
=
F
.
indexOf
||
function
(
a
){
for
(
var
b
=
0
,
c
=
this
.
length
;
c
>
b
;
b
++
)
if
(
this
[
b
]
===
a
)
return
b
;
return
-
1
},
L
=
"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped"
,
M
=
"[
\\
x20
\\
t
\\
r
\\
n
\\
f]"
,
N
=
"(?:
\\\\
.|[
\\
w-]|[^
\\
x00-
\\
xa0])+"
,
O
=
N
.
replace
(
"w"
,
"w#"
),
P
=
"
\\
["
+
M
+
"*("
+
N
+
")(?:"
+
M
+
"*([*^$|!~]?=)"
+
M
+
"*(?:'((?:
\\\\
.|[^
\\\\
'])*)'|
\"
((?:
\\\\
.|[^
\\\\
\"
])*)
\"
|("
+
O
+
"))|)"
+
M
+
"*
\\
]"
,
Q
=
":("
+
N
+
")(?:
\\
((('((?:
\\\\
.|[^
\\\\
'])*)'|
\"
((?:
\\\\
.|[^
\\\\
\"
])*)
\"
)|((?:
\\\\
.|[^
\\\\
()[
\\
]]|"
+
P
+
")*)|.*)
\\
)|)"
,
R
=
new
RegExp
(
"^"
+
M
+
"+|((?:^|[^
\\\\
])(?:
\\\\
.)*)"
+
M
+
"+$"
,
"g"
),
S
=
new
RegExp
(
"^"
+
M
+
"*,"
+
M
+
"*"
),
T
=
new
RegExp
(
"^"
+
M
+
"*([>+~]|"
+
M
+
")"
+
M
+
"*"
),
U
=
new
RegExp
(
"="
+
M
+
"*([^
\\
]'
\"
]*?)"
+
M
+
"*
\\
]"
,
"g"
),
V
=
new
RegExp
(
Q
),
W
=
new
RegExp
(
"^"
+
O
+
"$"
),
X
=
{
ID
:
new
RegExp
(
"^#("
+
N
+
")"
),
CLASS
:
new
RegExp
(
"^
\\
.("
+
N
+
")"
),
TAG
:
new
RegExp
(
"^("
+
N
.
replace
(
"w"
,
"w*"
)
+
")"
),
ATTR
:
new
RegExp
(
"^"
+
P
),
PSEUDO
:
new
RegExp
(
"^"
+
Q
),
CHILD
:
new
RegExp
(
"^:(only|first|last|nth|nth-last)-(child|of-type)(?:
\\
("
+
M
+
"*(even|odd|(([+-]|)(
\\
d*)n|)"
+
M
+
"*(?:([+-]|)"
+
M
+
"*(
\\
d+)|))"
+
M
+
"*
\\
)|)"
,
"i"
),
bool
:
new
RegExp
(
"^(?:"
+
L
+
")$"
,
"i"
),
needsContext
:
new
RegExp
(
"^"
+
M
+
"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:
\\
("
+
M
+
"*((?:-
\\
d)?
\\
d*)"
+
M
+
"*
\\
)|)(?=[^-]|$)"
,
"i"
)},
Y
=
/^
(?:
input|select|textarea|button
)
$/i
,
Z
=
/^h
\d
$/i
,
$
=
/^
[^
{
]
+
\{\s
*
\[
native
\w
/
,
_
=
/^
(?:
#
([\w
-
]
+
)
|
(\w
+
)
|
\.([\w
-
]
+
))
$/
,
ab
=
/
[
+~
]
/
,
bb
=
/'|
\\
/g
,
cb
=
new
RegExp
(
"
\\\\
([
\\
da-f]{1,6}"
+
M
+
"?|("
+
M
+
")|.)"
,
"ig"
),
db
=
function
(
a
,
b
,
c
){
var
d
=
"0x"
+
b
-
65536
;
return
d
!==
d
||
c
?
b
:
0
>
d
?
String
.
fromCharCode
(
d
+
65536
):
String
.
fromCharCode
(
d
>>
10
|
55296
,
1023
&
d
|
56320
)};
try
{
I
.
apply
(
F
=
J
.
call
(
v
.
childNodes
),
v
.
childNodes
),
F
[
v
.
childNodes
.
length
].
nodeType
}
catch
(
eb
){
I
=
{
apply
:
F
.
length
?
function
(
a
,
b
){
H
.
apply
(
a
,
J
.
call
(
b
))}:
function
(
a
,
b
){
var
c
=
a
.
length
,
d
=
0
;
while
(
a
[
c
++
]
=
b
[
d
++
]);
a
.
length
=
c
-
1
}}}
function
fb
(
a
,
b
,
d
,
e
){
var
f
,
h
,
j
,
k
,
l
,
o
,
r
,
s
,
w
,
x
;
if
((
b
?
b
.
ownerDocument
||
b
:
v
)
!==
n
&&
m
(
b
),
b
=
b
||
n
,
d
=
d
||
[],
!
a
||
"string"
!=
typeof
a
)
return
d
;
if
(
1
!==
(
k
=
b
.
nodeType
)
&&
9
!==
k
)
return
[];
if
(
p
&&!
e
){
if
(
f
=
_
.
exec
(
a
))
if
(
j
=
f
[
1
]){
if
(
9
===
k
){
if
(
h
=
b
.
getElementById
(
j
),
!
h
||!
h
.
parentNode
)
return
d
;
if
(
h
.
id
===
j
)
return
d
.
push
(
h
),
d
}
else
if
(
b
.
ownerDocument
&&
(
h
=
b
.
ownerDocument
.
getElementById
(
j
))
&&
t
(
b
,
h
)
&&
h
.
id
===
j
)
return
d
.
push
(
h
),
d
}
else
{
if
(
f
[
2
])
return
I
.
apply
(
d
,
b
.
getElementsByTagName
(
a
)),
d
;
if
((
j
=
f
[
3
])
&&
c
.
getElementsByClassName
&&
b
.
getElementsByClassName
)
return
I
.
apply
(
d
,
b
.
getElementsByClassName
(
j
)),
d
}
if
(
c
.
qsa
&&
(
!
q
||!
q
.
test
(
a
))){
if
(
s
=
r
=
u
,
w
=
b
,
x
=
9
===
k
&&
a
,
1
===
k
&&
"object"
!==
b
.
nodeName
.
toLowerCase
()){
o
=
g
(
a
),(
r
=
b
.
getAttribute
(
"id"
))?
s
=
r
.
replace
(
bb
,
"
\\
$&"
):
b
.
setAttribute
(
"id"
,
s
),
s
=
"[id='"
+
s
+
"'] "
,
l
=
o
.
length
;
while
(
l
--
)
o
[
l
]
=
s
+
qb
(
o
[
l
]);
w
=
ab
.
test
(
a
)
&&
ob
(
b
.
parentNode
)
||
b
,
x
=
o
.
join
(
","
)}
if
(
x
)
try
{
return
I
.
apply
(
d
,
w
.
querySelectorAll
(
x
)),
d
}
catch
(
y
){}
finally
{
r
||
b
.
removeAttribute
(
"id"
)}}}
return
i
(
a
.
replace
(
R
,
"$1"
),
b
,
d
,
e
)}
function
gb
(){
var
a
=
[];
function
b
(
c
,
e
){
return
a
.
push
(
c
+
" "
)
>
d
.
cacheLength
&&
delete
b
[
a
.
shift
()],
b
[
c
+
" "
]
=
e
}
return
b
}
function
hb
(
a
){
return
a
[
u
]
=!
0
,
a
}
function
ib
(
a
){
var
b
=
n
.
createElement
(
"div"
);
try
{
return
!!
a
(
b
)}
catch
(
c
){
return
!
1
}
finally
{
b
.
parentNode
&&
b
.
parentNode
.
removeChild
(
b
),
b
=
null
}}
function
jb
(
a
,
b
){
var
c
=
a
.
split
(
"|"
),
e
=
a
.
length
;
while
(
e
--
)
d
.
attrHandle
[
c
[
e
]]
=
b
}
function
kb
(
a
,
b
){
var
c
=
b
&&
a
,
d
=
c
&&
1
===
a
.
nodeType
&&
1
===
b
.
nodeType
&&
(
~
b
.
sourceIndex
||
D
)
-
(
~
a
.
sourceIndex
||
D
);
if
(
d
)
return
d
;
if
(
c
)
while
(
c
=
c
.
nextSibling
)
if
(
c
===
b
)
return
-
1
;
return
a
?
1
:
-
1
}
function
lb
(
a
){
return
function
(
b
){
var
c
=
b
.
nodeName
.
toLowerCase
();
return
"input"
===
c
&&
b
.
type
===
a
}}
function
mb
(
a
){
return
function
(
b
){
var
c
=
b
.
nodeName
.
toLowerCase
();
return
(
"input"
===
c
||
"button"
===
c
)
&&
b
.
type
===
a
}}
function
nb
(
a
){
return
hb
(
function
(
b
){
return
b
=+
b
,
hb
(
function
(
c
,
d
){
var
e
,
f
=
a
([],
c
.
length
,
b
),
g
=
f
.
length
;
while
(
g
--
)
c
[
e
=
f
[
g
]]
&&
(
c
[
e
]
=!
(
d
[
e
]
=
c
[
e
]))})})}
function
ob
(
a
){
return
a
&&
typeof
a
.
getElementsByTagName
!==
C
&&
a
}
c
=
fb
.
support
=
{},
f
=
fb
.
isXML
=
function
(
a
){
var
b
=
a
&&
(
a
.
ownerDocument
||
a
).
documentElement
;
return
b
?
"HTML"
!==
b
.
nodeName
:
!
1
},
m
=
fb
.
setDocument
=
function
(
a
){
var
b
,
e
=
a
?
a
.
ownerDocument
||
a
:
v
,
g
=
e
.
defaultView
;
return
e
!==
n
&&
9
===
e
.
nodeType
&&
e
.
documentElement
?(
n
=
e
,
o
=
e
.
documentElement
,
p
=!
f
(
e
),
g
&&
g
!==
g
.
top
&&
(
g
.
addEventListener
?
g
.
addEventListener
(
"unload"
,
function
(){
m
()},
!
1
):
g
.
attachEvent
&&
g
.
attachEvent
(
"onunload"
,
function
(){
m
()})),
c
.
attributes
=
ib
(
function
(
a
){
return
a
.
className
=
"i"
,
!
a
.
getAttribute
(
"className"
)}),
c
.
getElementsByTagName
=
ib
(
function
(
a
){
return
a
.
appendChild
(
e
.
createComment
(
""
)),
!
a
.
getElementsByTagName
(
"*"
).
length
}),
c
.
getElementsByClassName
=
$
.
test
(
e
.
getElementsByClassName
)
&&
ib
(
function
(
a
){
return
a
.
innerHTML
=
"<div class='a'></div><div class='a i'></div>"
,
a
.
firstChild
.
className
=
"i"
,
2
===
a
.
getElementsByClassName
(
"i"
).
length
}),
c
.
getById
=
ib
(
function
(
a
){
return
o
.
appendChild
(
a
).
id
=
u
,
!
e
.
getElementsByName
||!
e
.
getElementsByName
(
u
).
length
}),
c
.
getById
?(
d
.
find
.
ID
=
function
(
a
,
b
){
if
(
typeof
b
.
getElementById
!==
C
&&
p
){
var
c
=
b
.
getElementById
(
a
);
return
c
&&
c
.
parentNode
?[
c
]:[]}},
d
.
filter
.
ID
=
function
(
a
){
var
b
=
a
.
replace
(
cb
,
db
);
return
function
(
a
){
return
a
.
getAttribute
(
"id"
)
===
b
}}):(
delete
d
.
find
.
ID
,
d
.
filter
.
ID
=
function
(
a
){
var
b
=
a
.
replace
(
cb
,
db
);
return
function
(
a
){
var
c
=
typeof
a
.
getAttributeNode
!==
C
&&
a
.
getAttributeNode
(
"id"
);
return
c
&&
c
.
value
===
b
}}),
d
.
find
.
TAG
=
c
.
getElementsByTagName
?
function
(
a
,
b
){
return
typeof
b
.
getElementsByTagName
!==
C
?
b
.
getElementsByTagName
(
a
):
void
0
}:
function
(
a
,
b
){
var
c
,
d
=
[],
e
=
0
,
f
=
b
.
getElementsByTagName
(
a
);
if
(
"*"
===
a
){
while
(
c
=
f
[
e
++
])
1
===
c
.
nodeType
&&
d
.
push
(
c
);
return
d
}
return
f
},
d
.
find
.
CLASS
=
c
.
getElementsByClassName
&&
function
(
a
,
b
){
return
typeof
b
.
getElementsByClassName
!==
C
&&
p
?
b
.
getElementsByClassName
(
a
):
void
0
},
r
=
[],
q
=
[],(
c
.
qsa
=
$
.
test
(
e
.
querySelectorAll
))
&&
(
ib
(
function
(
a
){
a
.
innerHTML
=
"<select msallowclip=''><option selected=''></option></select>"
,
a
.
querySelectorAll
(
"[msallowclip^='']"
).
length
&&
q
.
push
(
"[*^$]="
+
M
+
"*(?:''|
\"\"
)"
),
a
.
querySelectorAll
(
"[selected]"
).
length
||
q
.
push
(
"
\\
["
+
M
+
"*(?:value|"
+
L
+
")"
),
a
.
querySelectorAll
(
":checked"
).
length
||
q
.
push
(
":checked"
)}),
ib
(
function
(
a
){
var
b
=
e
.
createElement
(
"input"
);
b
.
setAttribute
(
"type"
,
"hidden"
),
a
.
appendChild
(
b
).
setAttribute
(
"name"
,
"D"
),
a
.
querySelectorAll
(
"[name=d]"
).
length
&&
q
.
push
(
"name"
+
M
+
"*[*^$|!~]?="
),
a
.
querySelectorAll
(
":enabled"
).
length
||
q
.
push
(
":enabled"
,
":disabled"
),
a
.
querySelectorAll
(
"*,:x"
),
q
.
push
(
",.*:"
)})),(
c
.
matchesSelector
=
$
.
test
(
s
=
o
.
matches
||
o
.
webkitMatchesSelector
||
o
.
mozMatchesSelector
||
o
.
oMatchesSelector
||
o
.
msMatchesSelector
))
&&
ib
(
function
(
a
){
c
.
disconnectedMatch
=
s
.
call
(
a
,
"div"
),
s
.
call
(
a
,
"[s!='']:x"
),
r
.
push
(
"!="
,
Q
)}),
q
=
q
.
length
&&
new
RegExp
(
q
.
join
(
"|"
)),
r
=
r
.
length
&&
new
RegExp
(
r
.
join
(
"|"
)),
b
=
$
.
test
(
o
.
compareDocumentPosition
),
t
=
b
||
$
.
test
(
o
.
contains
)?
function
(
a
,
b
){
var
c
=
9
===
a
.
nodeType
?
a
.
documentElement
:
a
,
d
=
b
&&
b
.
parentNode
;
return
a
===
d
||!
(
!
d
||
1
!==
d
.
nodeType
||!
(
c
.
contains
?
c
.
contains
(
d
):
a
.
compareDocumentPosition
&&
16
&
a
.
compareDocumentPosition
(
d
)))}:
function
(
a
,
b
){
if
(
b
)
while
(
b
=
b
.
parentNode
)
if
(
b
===
a
)
return
!
0
;
return
!
1
},
B
=
b
?
function
(
a
,
b
){
if
(
a
===
b
)
return
l
=!
0
,
0
;
var
d
=!
a
.
compareDocumentPosition
-!
b
.
compareDocumentPosition
;
return
d
?
d
:(
d
=
(
a
.
ownerDocument
||
a
)
===
(
b
.
ownerDocument
||
b
)?
a
.
compareDocumentPosition
(
b
):
1
,
1
&
d
||!
c
.
sortDetached
&&
b
.
compareDocumentPosition
(
a
)
===
d
?
a
===
e
||
a
.
ownerDocument
===
v
&&
t
(
v
,
a
)?
-
1
:
b
===
e
||
b
.
ownerDocument
===
v
&&
t
(
v
,
b
)?
1
:
k
?
K
.
call
(
k
,
a
)
-
K
.
call
(
k
,
b
):
0
:
4
&
d
?
-
1
:
1
)}:
function
(
a
,
b
){
if
(
a
===
b
)
return
l
=!
0
,
0
;
var
c
,
d
=
0
,
f
=
a
.
parentNode
,
g
=
b
.
parentNode
,
h
=
[
a
],
i
=
[
b
];
if
(
!
f
||!
g
)
return
a
===
e
?
-
1
:
b
===
e
?
1
:
f
?
-
1
:
g
?
1
:
k
?
K
.
call
(
k
,
a
)
-
K
.
call
(
k
,
b
):
0
;
if
(
f
===
g
)
return
kb
(
a
,
b
);
c
=
a
;
while
(
c
=
c
.
parentNode
)
h
.
unshift
(
c
);
c
=
b
;
while
(
c
=
c
.
parentNode
)
i
.
unshift
(
c
);
while
(
h
[
d
]
===
i
[
d
])
d
++
;
return
d
?
kb
(
h
[
d
],
i
[
d
]):
h
[
d
]
===
v
?
-
1
:
i
[
d
]
===
v
?
1
:
0
},
e
):
n
},
fb
.
matches
=
function
(
a
,
b
){
return
fb
(
a
,
null
,
null
,
b
)},
fb
.
matchesSelector
=
function
(
a
,
b
){
if
((
a
.
ownerDocument
||
a
)
!==
n
&&
m
(
a
),
b
=
b
.
replace
(
U
,
"='$1']"
),
!
(
!
c
.
matchesSelector
||!
p
||
r
&&
r
.
test
(
b
)
||
q
&&
q
.
test
(
b
)))
try
{
var
d
=
s
.
call
(
a
,
b
);
if
(
d
||
c
.
disconnectedMatch
||
a
.
document
&&
11
!==
a
.
document
.
nodeType
)
return
d
}
catch
(
e
){}
return
fb
(
b
,
n
,
null
,[
a
]).
length
>
0
},
fb
.
contains
=
function
(
a
,
b
){
return
(
a
.
ownerDocument
||
a
)
!==
n
&&
m
(
a
),
t
(
a
,
b
)},
fb
.
attr
=
function
(
a
,
b
){(
a
.
ownerDocument
||
a
)
!==
n
&&
m
(
a
);
var
e
=
d
.
attrHandle
[
b
.
toLowerCase
()],
f
=
e
&&
E
.
call
(
d
.
attrHandle
,
b
.
toLowerCase
())?
e
(
a
,
b
,
!
p
):
void
0
;
return
void
0
!==
f
?
f
:
c
.
attributes
||!
p
?
a
.
getAttribute
(
b
):(
f
=
a
.
getAttributeNode
(
b
))
&&
f
.
specified
?
f
.
value
:
null
},
fb
.
error
=
function
(
a
){
throw
new
Error
(
"Syntax error, unrecognized expression: "
+
a
)},
fb
.
uniqueSort
=
function
(
a
){
var
b
,
d
=
[],
e
=
0
,
f
=
0
;
if
(
l
=!
c
.
detectDuplicates
,
k
=!
c
.
sortStable
&&
a
.
slice
(
0
),
a
.
sort
(
B
),
l
){
while
(
b
=
a
[
f
++
])
b
===
a
[
f
]
&&
(
e
=
d
.
push
(
f
));
while
(
e
--
)
a
.
splice
(
d
[
e
],
1
)}
return
k
=
null
,
a
},
e
=
fb
.
getText
=
function
(
a
){
var
b
,
c
=
""
,
d
=
0
,
f
=
a
.
nodeType
;
if
(
f
){
if
(
1
===
f
||
9
===
f
||
11
===
f
){
if
(
"string"
==
typeof
a
.
textContent
)
return
a
.
textContent
;
for
(
a
=
a
.
firstChild
;
a
;
a
=
a
.
nextSibling
)
c
+=
e
(
a
)}
else
if
(
3
===
f
||
4
===
f
)
return
a
.
nodeValue
}
else
while
(
b
=
a
[
d
++
])
c
+=
e
(
b
);
return
c
},
d
=
fb
.
selectors
=
{
cacheLength
:
50
,
createPseudo
:
hb
,
match
:
X
,
attrHandle
:{},
find
:{},
relative
:{
">"
:{
dir
:
"parentNode"
,
first
:
!
0
},
" "
:{
dir
:
"parentNode"
},
"+"
:{
dir
:
"previousSibling"
,
first
:
!
0
},
"~"
:{
dir
:
"previousSibling"
}},
preFilter
:{
ATTR
:
function
(
a
){
return
a
[
1
]
=
a
[
1
].
replace
(
cb
,
db
),
a
[
3
]
=
(
a
[
3
]
||
a
[
4
]
||
a
[
5
]
||
""
).
replace
(
cb
,
db
),
"~="
===
a
[
2
]
&&
(
a
[
3
]
=
" "
+
a
[
3
]
+
" "
),
a
.
slice
(
0
,
4
)},
CHILD
:
function
(
a
){
return
a
[
1
]
=
a
[
1
].
toLowerCase
(),
"nth"
===
a
[
1
].
slice
(
0
,
3
)?(
a
[
3
]
||
fb
.
error
(
a
[
0
]),
a
[
4
]
=+
(
a
[
4
]?
a
[
5
]
+
(
a
[
6
]
||
1
):
2
*
(
"even"
===
a
[
3
]
||
"odd"
===
a
[
3
])),
a
[
5
]
=+
(
a
[
7
]
+
a
[
8
]
||
"odd"
===
a
[
3
])):
a
[
3
]
&&
fb
.
error
(
a
[
0
]),
a
},
PSEUDO
:
function
(
a
){
var
b
,
c
=!
a
[
6
]
&&
a
[
2
];
return
X
.
CHILD
.
test
(
a
[
0
])?
null
:(
a
[
3
]?
a
[
2
]
=
a
[
4
]
||
a
[
5
]
||
""
:
c
&&
V
.
test
(
c
)
&&
(
b
=
g
(
c
,
!
0
))
&&
(
b
=
c
.
indexOf
(
")"
,
c
.
length
-
b
)
-
c
.
length
)
&&
(
a
[
0
]
=
a
[
0
].
slice
(
0
,
b
),
a
[
2
]
=
c
.
slice
(
0
,
b
)),
a
.
slice
(
0
,
3
))}},
filter
:{
TAG
:
function
(
a
){
var
b
=
a
.
replace
(
cb
,
db
).
toLowerCase
();
return
"*"
===
a
?
function
(){
return
!
0
}:
function
(
a
){
return
a
.
nodeName
&&
a
.
nodeName
.
toLowerCase
()
===
b
}},
CLASS
:
function
(
a
){
var
b
=
y
[
a
+
" "
];
return
b
||
(
b
=
new
RegExp
(
"(^|"
+
M
+
")"
+
a
+
"("
+
M
+
"|$)"
))
&&
y
(
a
,
function
(
a
){
return
b
.
test
(
"string"
==
typeof
a
.
className
&&
a
.
className
||
typeof
a
.
getAttribute
!==
C
&&
a
.
getAttribute
(
"class"
)
||
""
)})},
ATTR
:
function
(
a
,
b
,
c
){
return
function
(
d
){
var
e
=
fb
.
attr
(
d
,
a
);
return
null
==
e
?
"!="
===
b
:
b
?(
e
+=
""
,
"="
===
b
?
e
===
c
:
"!="
===
b
?
e
!==
c
:
"^="
===
b
?
c
&&
0
===
e
.
indexOf
(
c
):
"*="
===
b
?
c
&&
e
.
indexOf
(
c
)
>-
1
:
"$="
===
b
?
c
&&
e
.
slice
(
-
c
.
length
)
===
c
:
"~="
===
b
?(
" "
+
e
+
" "
).
indexOf
(
c
)
>-
1
:
"|="
===
b
?
e
===
c
||
e
.
slice
(
0
,
c
.
length
+
1
)
===
c
+
"-"
:
!
1
):
!
0
}},
CHILD
:
function
(
a
,
b
,
c
,
d
,
e
){
var
f
=
"nth"
!==
a
.
slice
(
0
,
3
),
g
=
"last"
!==
a
.
slice
(
-
4
),
h
=
"of-type"
===
b
;
return
1
===
d
&&
0
===
e
?
function
(
a
){
return
!!
a
.
parentNode
}:
function
(
b
,
c
,
i
){
var
j
,
k
,
l
,
m
,
n
,
o
,
p
=
f
!==
g
?
"nextSibling"
:
"previousSibling"
,
q
=
b
.
parentNode
,
r
=
h
&&
b
.
nodeName
.
toLowerCase
(),
s
=!
i
&&!
h
;
if
(
q
){
if
(
f
){
while
(
p
){
l
=
b
;
while
(
l
=
l
[
p
])
if
(
h
?
l
.
nodeName
.
toLowerCase
()
===
r
:
1
===
l
.
nodeType
)
return
!
1
;
o
=
p
=
"only"
===
a
&&!
o
&&
"nextSibling"
}
return
!
0
}
if
(
o
=
[
g
?
q
.
firstChild
:
q
.
lastChild
],
g
&&
s
){
k
=
q
[
u
]
||
(
q
[
u
]
=
{}),
j
=
k
[
a
]
||
[],
n
=
j
[
0
]
===
w
&&
j
[
1
],
m
=
j
[
0
]
===
w
&&
j
[
2
],
l
=
n
&&
q
.
childNodes
[
n
];
while
(
l
=++
n
&&
l
&&
l
[
p
]
||
(
m
=
n
=
0
)
||
o
.
pop
())
if
(
1
===
l
.
nodeType
&&++
m
&&
l
===
b
){
k
[
a
]
=
[
w
,
n
,
m
];
break
}}
else
if
(
s
&&
(
j
=
(
b
[
u
]
||
(
b
[
u
]
=
{}))[
a
])
&&
j
[
0
]
===
w
)
m
=
j
[
1
];
else
while
(
l
=++
n
&&
l
&&
l
[
p
]
||
(
m
=
n
=
0
)
||
o
.
pop
())
if
((
h
?
l
.
nodeName
.
toLowerCase
()
===
r
:
1
===
l
.
nodeType
)
&&++
m
&&
(
s
&&
((
l
[
u
]
||
(
l
[
u
]
=
{}))[
a
]
=
[
w
,
m
]),
l
===
b
))
break
;
return
m
-=
e
,
m
===
d
||
m
%
d
===
0
&&
m
/
d
>=
0
}}},
PSEUDO
:
function
(
a
,
b
){
var
c
,
e
=
d
.
pseudos
[
a
]
||
d
.
setFilters
[
a
.
toLowerCase
()]
||
fb
.
error
(
"unsupported pseudo: "
+
a
);
return
e
[
u
]?
e
(
b
):
e
.
length
>
1
?(
c
=
[
a
,
a
,
""
,
b
],
d
.
setFilters
.
hasOwnProperty
(
a
.
toLowerCase
())?
hb
(
function
(
a
,
c
){
var
d
,
f
=
e
(
a
,
b
),
g
=
f
.
length
;
while
(
g
--
)
d
=
K
.
call
(
a
,
f
[
g
]),
a
[
d
]
=!
(
c
[
d
]
=
f
[
g
])}):
function
(
a
){
return
e
(
a
,
0
,
c
)}):
e
}},
pseudos
:{
not
:
hb
(
function
(
a
){
var
b
=
[],
c
=
[],
d
=
h
(
a
.
replace
(
R
,
"$1"
));
return
d
[
u
]?
hb
(
function
(
a
,
b
,
c
,
e
){
var
f
,
g
=
d
(
a
,
null
,
e
,[]),
h
=
a
.
length
;
while
(
h
--
)(
f
=
g
[
h
])
&&
(
a
[
h
]
=!
(
b
[
h
]
=
f
))}):
function
(
a
,
e
,
f
){
return
b
[
0
]
=
a
,
d
(
b
,
null
,
f
,
c
),
!
c
.
pop
()}}),
has
:
hb
(
function
(
a
){
return
function
(
b
){
return
fb
(
a
,
b
).
length
>
0
}}),
contains
:
hb
(
function
(
a
){
return
function
(
b
){
return
(
b
.
textContent
||
b
.
innerText
||
e
(
b
)).
indexOf
(
a
)
>-
1
}}),
lang
:
hb
(
function
(
a
){
return
W
.
test
(
a
||
""
)
||
fb
.
error
(
"unsupported lang: "
+
a
),
a
=
a
.
replace
(
cb
,
db
).
toLowerCase
(),
function
(
b
){
var
c
;
do
if
(
c
=
p
?
b
.
lang
:
b
.
getAttribute
(
"xml:lang"
)
||
b
.
getAttribute
(
"lang"
))
return
c
=
c
.
toLowerCase
(),
c
===
a
||
0
===
c
.
indexOf
(
a
+
"-"
);
while
((
b
=
b
.
parentNode
)
&&
1
===
b
.
nodeType
);
return
!
1
}}),
target
:
function
(
b
){
var
c
=
a
.
location
&&
a
.
location
.
hash
;
return
c
&&
c
.
slice
(
1
)
===
b
.
id
},
root
:
function
(
a
){
return
a
===
o
},
focus
:
function
(
a
){
return
a
===
n
.
activeElement
&&
(
!
n
.
hasFocus
||
n
.
hasFocus
())
&&!!
(
a
.
type
||
a
.
href
||~
a
.
tabIndex
)},
enabled
:
function
(
a
){
return
a
.
disabled
===!
1
},
disabled
:
function
(
a
){
return
a
.
disabled
===!
0
},
checked
:
function
(
a
){
var
b
=
a
.
nodeName
.
toLowerCase
();
return
"input"
===
b
&&!!
a
.
checked
||
"option"
===
b
&&!!
a
.
selected
},
selected
:
function
(
a
){
return
a
.
parentNode
&&
a
.
parentNode
.
selectedIndex
,
a
.
selected
===!
0
},
empty
:
function
(
a
){
for
(
a
=
a
.
firstChild
;
a
;
a
=
a
.
nextSibling
)
if
(
a
.
nodeType
<
6
)
return
!
1
;
return
!
0
},
parent
:
function
(
a
){
return
!
d
.
pseudos
.
empty
(
a
)},
header
:
function
(
a
){
return
Z
.
test
(
a
.
nodeName
)},
input
:
function
(
a
){
return
Y
.
test
(
a
.
nodeName
)},
button
:
function
(
a
){
var
b
=
a
.
nodeName
.
toLowerCase
();
return
"input"
===
b
&&
"button"
===
a
.
type
||
"button"
===
b
},
text
:
function
(
a
){
var
b
;
return
"input"
===
a
.
nodeName
.
toLowerCase
()
&&
"text"
===
a
.
type
&&
(
null
==
(
b
=
a
.
getAttribute
(
"type"
))
||
"text"
===
b
.
toLowerCase
())},
first
:
nb
(
function
(){
return
[
0
]}),
last
:
nb
(
function
(
a
,
b
){
return
[
b
-
1
]}),
eq
:
nb
(
function
(
a
,
b
,
c
){
return
[
0
>
c
?
c
+
b
:
c
]}),
even
:
nb
(
function
(
a
,
b
){
for
(
var
c
=
0
;
b
>
c
;
c
+=
2
)
a
.
push
(
c
);
return
a
}),
odd
:
nb
(
function
(
a
,
b
){
for
(
var
c
=
1
;
b
>
c
;
c
+=
2
)
a
.
push
(
c
);
return
a
}),
lt
:
nb
(
function
(
a
,
b
,
c
){
for
(
var
d
=
0
>
c
?
c
+
b
:
c
;
--
d
>=
0
;)
a
.
push
(
d
);
return
a
}),
gt
:
nb
(
function
(
a
,
b
,
c
){
for
(
var
d
=
0
>
c
?
c
+
b
:
c
;
++
d
<
b
;)
a
.
push
(
d
);
return
a
})}},
d
.
pseudos
.
nth
=
d
.
pseudos
.
eq
;
for
(
b
in
{
radio
:
!
0
,
checkbox
:
!
0
,
file
:
!
0
,
password
:
!
0
,
image
:
!
0
})
d
.
pseudos
[
b
]
=
lb
(
b
);
for
(
b
in
{
submit
:
!
0
,
reset
:
!
0
})
d
.
pseudos
[
b
]
=
mb
(
b
);
function
pb
(){}
pb
.
prototype
=
d
.
filters
=
d
.
pseudos
,
d
.
setFilters
=
new
pb
,
g
=
fb
.
tokenize
=
function
(
a
,
b
){
var
c
,
e
,
f
,
g
,
h
,
i
,
j
,
k
=
z
[
a
+
" "
];
if
(
k
)
return
b
?
0
:
k
.
slice
(
0
);
h
=
a
,
i
=
[],
j
=
d
.
preFilter
;
while
(
h
){(
!
c
||
(
e
=
S
.
exec
(
h
)))
&&
(
e
&&
(
h
=
h
.
slice
(
e
[
0
].
length
)
||
h
),
i
.
push
(
f
=
[])),
c
=!
1
,(
e
=
T
.
exec
(
h
))
&&
(
c
=
e
.
shift
(),
f
.
push
({
value
:
c
,
type
:
e
[
0
].
replace
(
R
,
" "
)}),
h
=
h
.
slice
(
c
.
length
));
for
(
g
in
d
.
filter
)
!
(
e
=
X
[
g
].
exec
(
h
))
||
j
[
g
]
&&!
(
e
=
j
[
g
](
e
))
||
(
c
=
e
.
shift
(),
f
.
push
({
value
:
c
,
type
:
g
,
matches
:
e
}),
h
=
h
.
slice
(
c
.
length
));
if
(
!
c
)
break
}
return
b
?
h
.
length
:
h
?
fb
.
error
(
a
):
z
(
a
,
i
).
slice
(
0
)};
function
qb
(
a
){
for
(
var
b
=
0
,
c
=
a
.
length
,
d
=
""
;
c
>
b
;
b
++
)
d
+=
a
[
b
].
value
;
return
d
}
function
rb
(
a
,
b
,
c
){
var
d
=
b
.
dir
,
e
=
c
&&
"parentNode"
===
d
,
f
=
x
++
;
return
b
.
first
?
function
(
b
,
c
,
f
){
while
(
b
=
b
[
d
])
if
(
1
===
b
.
nodeType
||
e
)
return
a
(
b
,
c
,
f
)}:
function
(
b
,
c
,
g
){
var
h
,
i
,
j
=
[
w
,
f
];
if
(
g
){
while
(
b
=
b
[
d
])
if
((
1
===
b
.
nodeType
||
e
)
&&
a
(
b
,
c
,
g
))
return
!
0
}
else
while
(
b
=
b
[
d
])
if
(
1
===
b
.
nodeType
||
e
){
if
(
i
=
b
[
u
]
||
(
b
[
u
]
=
{}),(
h
=
i
[
d
])
&&
h
[
0
]
===
w
&&
h
[
1
]
===
f
)
return
j
[
2
]
=
h
[
2
];
if
(
i
[
d
]
=
j
,
j
[
2
]
=
a
(
b
,
c
,
g
))
return
!
0
}}}
function
sb
(
a
){
return
a
.
length
>
1
?
function
(
b
,
c
,
d
){
var
e
=
a
.
length
;
while
(
e
--
)
if
(
!
a
[
e
](
b
,
c
,
d
))
return
!
1
;
return
!
0
}:
a
[
0
]}
function
tb
(
a
,
b
,
c
){
for
(
var
d
=
0
,
e
=
b
.
length
;
e
>
d
;
d
++
)
fb
(
a
,
b
[
d
],
c
);
return
c
}
function
ub
(
a
,
b
,
c
,
d
,
e
){
for
(
var
f
,
g
=
[],
h
=
0
,
i
=
a
.
length
,
j
=
null
!=
b
;
i
>
h
;
h
++
)(
f
=
a
[
h
])
&&
(
!
c
||
c
(
f
,
d
,
e
))
&&
(
g
.
push
(
f
),
j
&&
b
.
push
(
h
));
return
g
}
function
vb
(
a
,
b
,
c
,
d
,
e
,
f
){
return
d
&&!
d
[
u
]
&&
(
d
=
vb
(
d
)),
e
&&!
e
[
u
]
&&
(
e
=
vb
(
e
,
f
)),
hb
(
function
(
f
,
g
,
h
,
i
){
var
j
,
k
,
l
,
m
=
[],
n
=
[],
o
=
g
.
length
,
p
=
f
||
tb
(
b
||
"*"
,
h
.
nodeType
?[
h
]:
h
,[]),
q
=!
a
||!
f
&&
b
?
p
:
ub
(
p
,
m
,
a
,
h
,
i
),
r
=
c
?
e
||
(
f
?
a
:
o
||
d
)?[]:
g
:
q
;
if
(
c
&&
c
(
q
,
r
,
h
,
i
),
d
){
j
=
ub
(
r
,
n
),
d
(
j
,[],
h
,
i
),
k
=
j
.
length
;
while
(
k
--
)(
l
=
j
[
k
])
&&
(
r
[
n
[
k
]]
=!
(
q
[
n
[
k
]]
=
l
))}
if
(
f
){
if
(
e
||
a
){
if
(
e
){
j
=
[],
k
=
r
.
length
;
while
(
k
--
)(
l
=
r
[
k
])
&&
j
.
push
(
q
[
k
]
=
l
);
e
(
null
,
r
=
[],
j
,
i
)}
k
=
r
.
length
;
while
(
k
--
)(
l
=
r
[
k
])
&&
(
j
=
e
?
K
.
call
(
f
,
l
):
m
[
k
])
>-
1
&&
(
f
[
j
]
=!
(
g
[
j
]
=
l
))}}
else
r
=
ub
(
r
===
g
?
r
.
splice
(
o
,
r
.
length
):
r
),
e
?
e
(
null
,
g
,
r
,
i
):
I
.
apply
(
g
,
r
)})}
function
wb
(
a
){
for
(
var
b
,
c
,
e
,
f
=
a
.
length
,
g
=
d
.
relative
[
a
[
0
].
type
],
h
=
g
||
d
.
relative
[
" "
],
i
=
g
?
1
:
0
,
k
=
rb
(
function
(
a
){
return
a
===
b
},
h
,
!
0
),
l
=
rb
(
function
(
a
){
return
K
.
call
(
b
,
a
)
>-
1
},
h
,
!
0
),
m
=
[
function
(
a
,
c
,
d
){
return
!
g
&&
(
d
||
c
!==
j
)
||
((
b
=
c
).
nodeType
?
k
(
a
,
c
,
d
):
l
(
a
,
c
,
d
))}];
f
>
i
;
i
++
)
if
(
c
=
d
.
relative
[
a
[
i
].
type
])
m
=
[
rb
(
sb
(
m
),
c
)];
else
{
if
(
c
=
d
.
filter
[
a
[
i
].
type
].
apply
(
null
,
a
[
i
].
matches
),
c
[
u
]){
for
(
e
=++
i
;
f
>
e
;
e
++
)
if
(
d
.
relative
[
a
[
e
].
type
])
break
;
return
vb
(
i
>
1
&&
sb
(
m
),
i
>
1
&&
qb
(
a
.
slice
(
0
,
i
-
1
).
concat
({
value
:
" "
===
a
[
i
-
2
].
type
?
"*"
:
""
})).
replace
(
R
,
"$1"
),
c
,
e
>
i
&&
wb
(
a
.
slice
(
i
,
e
)),
f
>
e
&&
wb
(
a
=
a
.
slice
(
e
)),
f
>
e
&&
qb
(
a
))}
m
.
push
(
c
)}
return
sb
(
m
)}
function
xb
(
a
,
b
){
var
c
=
b
.
length
>
0
,
e
=
a
.
length
>
0
,
f
=
function
(
f
,
g
,
h
,
i
,
k
){
var
l
,
m
,
o
,
p
=
0
,
q
=
"0"
,
r
=
f
&&
[],
s
=
[],
t
=
j
,
u
=
f
||
e
&&
d
.
find
.
TAG
(
"*"
,
k
),
v
=
w
+=
null
==
t
?
1
:
Math
.
random
()
||
.
1
,
x
=
u
.
length
;
for
(
k
&&
(
j
=
g
!==
n
&&
g
);
q
!==
x
&&
null
!=
(
l
=
u
[
q
]);
q
++
){
if
(
e
&&
l
){
m
=
0
;
while
(
o
=
a
[
m
++
])
if
(
o
(
l
,
g
,
h
)){
i
.
push
(
l
);
break
}
k
&&
(
w
=
v
)}
c
&&
((
l
=!
o
&&
l
)
&&
p
--
,
f
&&
r
.
push
(
l
))}
if
(
p
+=
q
,
c
&&
q
!==
p
){
m
=
0
;
while
(
o
=
b
[
m
++
])
o
(
r
,
s
,
g
,
h
);
if
(
f
){
if
(
p
>
0
)
while
(
q
--
)
r
[
q
]
||
s
[
q
]
||
(
s
[
q
]
=
G
.
call
(
i
));
s
=
ub
(
s
)}
I
.
apply
(
i
,
s
),
k
&&!
f
&&
s
.
length
>
0
&&
p
+
b
.
length
>
1
&&
fb
.
uniqueSort
(
i
)}
return
k
&&
(
w
=
v
,
j
=
t
),
r
};
return
c
?
hb
(
f
):
f
}
return
h
=
fb
.
compile
=
function
(
a
,
b
){
var
c
,
d
=
[],
e
=
[],
f
=
A
[
a
+
" "
];
if
(
!
f
){
b
||
(
b
=
g
(
a
)),
c
=
b
.
length
;
while
(
c
--
)
f
=
wb
(
b
[
c
]),
f
[
u
]?
d
.
push
(
f
):
e
.
push
(
f
);
f
=
A
(
a
,
xb
(
e
,
d
)),
f
.
selector
=
a
}
return
f
},
i
=
fb
.
select
=
function
(
a
,
b
,
e
,
f
){
var
i
,
j
,
k
,
l
,
m
,
n
=
"function"
==
typeof
a
&&
a
,
o
=!
f
&&
g
(
a
=
n
.
selector
||
a
);
if
(
e
=
e
||
[],
1
===
o
.
length
){
if
(
j
=
o
[
0
]
=
o
[
0
].
slice
(
0
),
j
.
length
>
2
&&
"ID"
===
(
k
=
j
[
0
]).
type
&&
c
.
getById
&&
9
===
b
.
nodeType
&&
p
&&
d
.
relative
[
j
[
1
].
type
]){
if
(
b
=
(
d
.
find
.
ID
(
k
.
matches
[
0
].
replace
(
cb
,
db
),
b
)
||
[])[
0
],
!
b
)
return
e
;
n
&&
(
b
=
b
.
parentNode
),
a
=
a
.
slice
(
j
.
shift
().
value
.
length
)}
i
=
X
.
needsContext
.
test
(
a
)?
0
:
j
.
length
;
while
(
i
--
){
if
(
k
=
j
[
i
],
d
.
relative
[
l
=
k
.
type
])
break
;
if
((
m
=
d
.
find
[
l
])
&&
(
f
=
m
(
k
.
matches
[
0
].
replace
(
cb
,
db
),
ab
.
test
(
j
[
0
].
type
)
&&
ob
(
b
.
parentNode
)
||
b
))){
if
(
j
.
splice
(
i
,
1
),
a
=
f
.
length
&&
qb
(
j
),
!
a
)
return
I
.
apply
(
e
,
f
),
e
;
break
}}}
return
(
n
||
h
(
a
,
o
))(
f
,
b
,
!
p
,
e
,
ab
.
test
(
a
)
&&
ob
(
b
.
parentNode
)
||
b
),
e
},
c
.
sortStable
=
u
.
split
(
""
).
sort
(
B
).
join
(
""
)
===
u
,
c
.
detectDuplicates
=!!
l
,
m
(),
c
.
sortDetached
=
ib
(
function
(
a
){
return
1
&
a
.
compareDocumentPosition
(
n
.
createElement
(
"div"
))}),
ib
(
function
(
a
){
return
a
.
innerHTML
=
"<a href='#'></a>"
,
"#"
===
a
.
firstChild
.
getAttribute
(
"href"
)})
||
jb
(
"type|href|height|width"
,
function
(
a
,
b
,
c
){
return
c
?
void
0
:
a
.
getAttribute
(
b
,
"type"
===
b
.
toLowerCase
()?
1
:
2
)}),
c
.
attributes
&&
ib
(
function
(
a
){
return
a
.
innerHTML
=
"<input/>"
,
a
.
firstChild
.
setAttribute
(
"value"
,
""
),
""
===
a
.
firstChild
.
getAttribute
(
"value"
)})
||
jb
(
"value"
,
function
(
a
,
b
,
c
){
return
c
||
"input"
!==
a
.
nodeName
.
toLowerCase
()?
void
0
:
a
.
defaultValue
}),
ib
(
function
(
a
){
return
null
==
a
.
getAttribute
(
"disabled"
)})
||
jb
(
L
,
function
(
a
,
b
,
c
){
var
d
;
return
c
?
void
0
:
a
[
b
]
===!
0
?
b
.
toLowerCase
():(
d
=
a
.
getAttributeNode
(
b
))
&&
d
.
specified
?
d
.
value
:
null
}),
fb
}(
a
);
m
.
find
=
s
,
m
.
expr
=
s
.
selectors
,
m
.
expr
[
":"
]
=
m
.
expr
.
pseudos
,
m
.
unique
=
s
.
uniqueSort
,
m
.
text
=
s
.
getText
,
m
.
isXMLDoc
=
s
.
isXML
,
m
.
contains
=
s
.
contains
;
var
t
=
m
.
expr
.
match
.
needsContext
,
u
=
/^<
(\w
+
)\s
*
\/?
>
(?:
<
\/\1
>|
)
$/
,
v
=
/^.
[^
:#
\[\.
,
]
*$/
;
function
w
(
a
,
b
,
c
){
if
(
m
.
isFunction
(
b
))
return
m
.
grep
(
a
,
function
(
a
,
d
){
return
!!
b
.
call
(
a
,
d
,
a
)
!==
c
});
if
(
b
.
nodeType
)
return
m
.
grep
(
a
,
function
(
a
){
return
a
===
b
!==
c
});
if
(
"string"
==
typeof
b
){
if
(
v
.
test
(
b
))
return
m
.
filter
(
b
,
a
,
c
);
b
=
m
.
filter
(
b
,
a
)}
return
m
.
grep
(
a
,
function
(
a
){
return
m
.
inArray
(
a
,
b
)
>=
0
!==
c
})}
m
.
filter
=
function
(
a
,
b
,
c
){
var
d
=
b
[
0
];
return
c
&&
(
a
=
":not("
+
a
+
")"
),
1
===
b
.
length
&&
1
===
d
.
nodeType
?
m
.
find
.
matchesSelector
(
d
,
a
)?[
d
]:[]:
m
.
find
.
matches
(
a
,
m
.
grep
(
b
,
function
(
a
){
return
1
===
a
.
nodeType
}))},
m
.
fn
.
extend
({
find
:
function
(
a
){
var
b
,
c
=
[],
d
=
this
,
e
=
d
.
length
;
if
(
"string"
!=
typeof
a
)
return
this
.
pushStack
(
m
(
a
).
filter
(
function
(){
for
(
b
=
0
;
e
>
b
;
b
++
)
if
(
m
.
contains
(
d
[
b
],
this
))
return
!
0
}));
for
(
b
=
0
;
e
>
b
;
b
++
)
m
.
find
(
a
,
d
[
b
],
c
);
return
c
=
this
.
pushStack
(
e
>
1
?
m
.
unique
(
c
):
c
),
c
.
selector
=
this
.
selector
?
this
.
selector
+
" "
+
a
:
a
,
c
},
filter
:
function
(
a
){
return
this
.
pushStack
(
w
(
this
,
a
||
[],
!
1
))},
not
:
function
(
a
){
return
this
.
pushStack
(
w
(
this
,
a
||
[],
!
0
))},
is
:
function
(
a
){
return
!!
w
(
this
,
"string"
==
typeof
a
&&
t
.
test
(
a
)?
m
(
a
):
a
||
[],
!
1
).
length
}});
var
x
,
y
=
a
.
document
,
z
=
/^
(?:\s
*
(
<
[\w\W]
+>
)[^
>
]
*|#
([\w
-
]
*
))
$/
,
A
=
m
.
fn
.
init
=
function
(
a
,
b
){
var
c
,
d
;
if
(
!
a
)
return
this
;
if
(
"string"
==
typeof
a
){
if
(
c
=
"<"
===
a
.
charAt
(
0
)
&&
">"
===
a
.
charAt
(
a
.
length
-
1
)
&&
a
.
length
>=
3
?[
null
,
a
,
null
]:
z
.
exec
(
a
),
!
c
||!
c
[
1
]
&&
b
)
return
!
b
||
b
.
jquery
?(
b
||
x
).
find
(
a
):
this
.
constructor
(
b
).
find
(
a
);
if
(
c
[
1
]){
if
(
b
=
b
instanceof
m
?
b
[
0
]:
b
,
m
.
merge
(
this
,
m
.
parseHTML
(
c
[
1
],
b
&&
b
.
nodeType
?
b
.
ownerDocument
||
b
:
y
,
!
0
)),
u
.
test
(
c
[
1
])
&&
m
.
isPlainObject
(
b
))
for
(
c
in
b
)
m
.
isFunction
(
this
[
c
])?
this
[
c
](
b
[
c
]):
this
.
attr
(
c
,
b
[
c
]);
return
this
}
if
(
d
=
y
.
getElementById
(
c
[
2
]),
d
&&
d
.
parentNode
){
if
(
d
.
id
!==
c
[
2
])
return
x
.
find
(
a
);
this
.
length
=
1
,
this
[
0
]
=
d
}
return
this
.
context
=
y
,
this
.
selector
=
a
,
this
}
return
a
.
nodeType
?(
this
.
context
=
this
[
0
]
=
a
,
this
.
length
=
1
,
this
):
m
.
isFunction
(
a
)?
"undefined"
!=
typeof
x
.
ready
?
x
.
ready
(
a
):
a
(
m
):(
void
0
!==
a
.
selector
&&
(
this
.
selector
=
a
.
selector
,
this
.
context
=
a
.
context
),
m
.
makeArray
(
a
,
this
))};
A
.
prototype
=
m
.
fn
,
x
=
m
(
y
);
var
B
=
/^
(?:
parents|prev
(?:
Until|All
))
/
,
C
=
{
children
:
!
0
,
contents
:
!
0
,
next
:
!
0
,
prev
:
!
0
};
m
.
extend
({
dir
:
function
(
a
,
b
,
c
){
var
d
=
[],
e
=
a
[
b
];
while
(
e
&&
9
!==
e
.
nodeType
&&
(
void
0
===
c
||
1
!==
e
.
nodeType
||!
m
(
e
).
is
(
c
)))
1
===
e
.
nodeType
&&
d
.
push
(
e
),
e
=
e
[
b
];
return
d
},
sibling
:
function
(
a
,
b
){
for
(
var
c
=
[];
a
;
a
=
a
.
nextSibling
)
1
===
a
.
nodeType
&&
a
!==
b
&&
c
.
push
(
a
);
return
c
}}),
m
.
fn
.
extend
({
has
:
function
(
a
){
var
b
,
c
=
m
(
a
,
this
),
d
=
c
.
length
;
return
this
.
filter
(
function
(){
for
(
b
=
0
;
d
>
b
;
b
++
)
if
(
m
.
contains
(
this
,
c
[
b
]))
return
!
0
})},
closest
:
function
(
a
,
b
){
for
(
var
c
,
d
=
0
,
e
=
this
.
length
,
f
=
[],
g
=
t
.
test
(
a
)
||
"string"
!=
typeof
a
?
m
(
a
,
b
||
this
.
context
):
0
;
e
>
d
;
d
++
)
for
(
c
=
this
[
d
];
c
&&
c
!==
b
;
c
=
c
.
parentNode
)
if
(
c
.
nodeType
<
11
&&
(
g
?
g
.
index
(
c
)
>-
1
:
1
===
c
.
nodeType
&&
m
.
find
.
matchesSelector
(
c
,
a
))){
f
.
push
(
c
);
break
}
return
this
.
pushStack
(
f
.
length
>
1
?
m
.
unique
(
f
):
f
)},
index
:
function
(
a
){
return
a
?
"string"
==
typeof
a
?
m
.
inArray
(
this
[
0
],
m
(
a
)):
m
.
inArray
(
a
.
jquery
?
a
[
0
]:
a
,
this
):
this
[
0
]
&&
this
[
0
].
parentNode
?
this
.
first
().
prevAll
().
length
:
-
1
},
add
:
function
(
a
,
b
){
return
this
.
pushStack
(
m
.
unique
(
m
.
merge
(
this
.
get
(),
m
(
a
,
b
))))},
addBack
:
function
(
a
){
return
this
.
add
(
null
==
a
?
this
.
prevObject
:
this
.
prevObject
.
filter
(
a
))}});
function
D
(
a
,
b
){
do
a
=
a
[
b
];
while
(
a
&&
1
!==
a
.
nodeType
);
return
a
}
m
.
each
({
parent
:
function
(
a
){
var
b
=
a
.
parentNode
;
return
b
&&
11
!==
b
.
nodeType
?
b
:
null
},
parents
:
function
(
a
){
return
m
.
dir
(
a
,
"parentNode"
)},
parentsUntil
:
function
(
a
,
b
,
c
){
return
m
.
dir
(
a
,
"parentNode"
,
c
)},
next
:
function
(
a
){
return
D
(
a
,
"nextSibling"
)},
prev
:
function
(
a
){
return
D
(
a
,
"previousSibling"
)},
nextAll
:
function
(
a
){
return
m
.
dir
(
a
,
"nextSibling"
)},
prevAll
:
function
(
a
){
return
m
.
dir
(
a
,
"previousSibling"
)},
nextUntil
:
function
(
a
,
b
,
c
){
return
m
.
dir
(
a
,
"nextSibling"
,
c
)},
prevUntil
:
function
(
a
,
b
,
c
){
return
m
.
dir
(
a
,
"previousSibling"
,
c
)},
siblings
:
function
(
a
){
return
m
.
sibling
((
a
.
parentNode
||
{}).
firstChild
,
a
)},
children
:
function
(
a
){
return
m
.
sibling
(
a
.
firstChild
)},
contents
:
function
(
a
){
return
m
.
nodeName
(
a
,
"iframe"
)?
a
.
contentDocument
||
a
.
contentWindow
.
document
:
m
.
merge
([],
a
.
childNodes
)}},
function
(
a
,
b
){
m
.
fn
[
a
]
=
function
(
c
,
d
){
var
e
=
m
.
map
(
this
,
b
,
c
);
return
"Until"
!==
a
.
slice
(
-
5
)
&&
(
d
=
c
),
d
&&
"string"
==
typeof
d
&&
(
e
=
m
.
filter
(
d
,
e
)),
this
.
length
>
1
&&
(
C
[
a
]
||
(
e
=
m
.
unique
(
e
)),
B
.
test
(
a
)
&&
(
e
=
e
.
reverse
())),
this
.
pushStack
(
e
)}});
var
E
=
/
\S
+/g
,
F
=
{};
function
G
(
a
){
var
b
=
F
[
a
]
=
{};
return
m
.
each
(
a
.
match
(
E
)
||
[],
function
(
a
,
c
){
b
[
c
]
=!
0
}),
b
}
m
.
Callbacks
=
function
(
a
){
a
=
"string"
==
typeof
a
?
F
[
a
]
||
G
(
a
):
m
.
extend
({},
a
);
var
b
,
c
,
d
,
e
,
f
,
g
,
h
=
[],
i
=!
a
.
once
&&
[],
j
=
function
(
l
){
for
(
c
=
a
.
memory
&&
l
,
d
=!
0
,
f
=
g
||
0
,
g
=
0
,
e
=
h
.
length
,
b
=!
0
;
h
&&
e
>
f
;
f
++
)
if
(
h
[
f
].
apply
(
l
[
0
],
l
[
1
])
===!
1
&&
a
.
stopOnFalse
){
c
=!
1
;
break
}
b
=!
1
,
h
&&
(
i
?
i
.
length
&&
j
(
i
.
shift
()):
c
?
h
=
[]:
k
.
disable
())},
k
=
{
add
:
function
(){
if
(
h
){
var
d
=
h
.
length
;
!
function
f
(
b
){
m
.
each
(
b
,
function
(
b
,
c
){
var
d
=
m
.
type
(
c
);
"function"
===
d
?
a
.
unique
&&
k
.
has
(
c
)
||
h
.
push
(
c
):
c
&&
c
.
length
&&
"string"
!==
d
&&
f
(
c
)})}(
arguments
),
b
?
e
=
h
.
length
:
c
&&
(
g
=
d
,
j
(
c
))}
return
this
},
remove
:
function
(){
return
h
&&
m
.
each
(
arguments
,
function
(
a
,
c
){
var
d
;
while
((
d
=
m
.
inArray
(
c
,
h
,
d
))
>-
1
)
h
.
splice
(
d
,
1
),
b
&&
(
e
>=
d
&&
e
--
,
f
>=
d
&&
f
--
)}),
this
},
has
:
function
(
a
){
return
a
?
m
.
inArray
(
a
,
h
)
>-
1
:
!
(
!
h
||!
h
.
length
)},
empty
:
function
(){
return
h
=
[],
e
=
0
,
this
},
disable
:
function
(){
return
h
=
i
=
c
=
void
0
,
this
},
disabled
:
function
(){
return
!
h
},
lock
:
function
(){
return
i
=
void
0
,
c
||
k
.
disable
(),
this
},
locked
:
function
(){
return
!
i
},
fireWith
:
function
(
a
,
c
){
return
!
h
||
d
&&!
i
||
(
c
=
c
||
[],
c
=
[
a
,
c
.
slice
?
c
.
slice
():
c
],
b
?
i
.
push
(
c
):
j
(
c
)),
this
},
fire
:
function
(){
return
k
.
fireWith
(
this
,
arguments
),
this
},
fired
:
function
(){
return
!!
d
}};
return
k
},
m
.
extend
({
Deferred
:
function
(
a
){
var
b
=
[[
"resolve"
,
"done"
,
m
.
Callbacks
(
"once memory"
),
"resolved"
],[
"reject"
,
"fail"
,
m
.
Callbacks
(
"once memory"
),
"rejected"
],[
"notify"
,
"progress"
,
m
.
Callbacks
(
"memory"
)]],
c
=
"pending"
,
d
=
{
state
:
function
(){
return
c
},
always
:
function
(){
return
e
.
done
(
arguments
).
fail
(
arguments
),
this
},
then
:
function
(){
var
a
=
arguments
;
return
m
.
Deferred
(
function
(
c
){
m
.
each
(
b
,
function
(
b
,
f
){
var
g
=
m
.
isFunction
(
a
[
b
])
&&
a
[
b
];
e
[
f
[
1
]](
function
(){
var
a
=
g
&&
g
.
apply
(
this
,
arguments
);
a
&&
m
.
isFunction
(
a
.
promise
)?
a
.
promise
().
done
(
c
.
resolve
).
fail
(
c
.
reject
).
progress
(
c
.
notify
):
c
[
f
[
0
]
+
"With"
](
this
===
d
?
c
.
promise
():
this
,
g
?[
a
]:
arguments
)})}),
a
=
null
}).
promise
()},
promise
:
function
(
a
){
return
null
!=
a
?
m
.
extend
(
a
,
d
):
d
}},
e
=
{};
return
d
.
pipe
=
d
.
then
,
m
.
each
(
b
,
function
(
a
,
f
){
var
g
=
f
[
2
],
h
=
f
[
3
];
d
[
f
[
1
]]
=
g
.
add
,
h
&&
g
.
add
(
function
(){
c
=
h
},
b
[
1
^
a
][
2
].
disable
,
b
[
2
][
2
].
lock
),
e
[
f
[
0
]]
=
function
(){
return
e
[
f
[
0
]
+
"With"
](
this
===
e
?
d
:
this
,
arguments
),
this
},
e
[
f
[
0
]
+
"With"
]
=
g
.
fireWith
}),
d
.
promise
(
e
),
a
&&
a
.
call
(
e
,
e
),
e
},
when
:
function
(
a
){
var
b
=
0
,
c
=
d
.
call
(
arguments
),
e
=
c
.
length
,
f
=
1
!==
e
||
a
&&
m
.
isFunction
(
a
.
promise
)?
e
:
0
,
g
=
1
===
f
?
a
:
m
.
Deferred
(),
h
=
function
(
a
,
b
,
c
){
return
function
(
e
){
b
[
a
]
=
this
,
c
[
a
]
=
arguments
.
length
>
1
?
d
.
call
(
arguments
):
e
,
c
===
i
?
g
.
notifyWith
(
b
,
c
):
--
f
||
g
.
resolveWith
(
b
,
c
)}},
i
,
j
,
k
;
if
(
e
>
1
)
for
(
i
=
new
Array
(
e
),
j
=
new
Array
(
e
),
k
=
new
Array
(
e
);
e
>
b
;
b
++
)
c
[
b
]
&&
m
.
isFunction
(
c
[
b
].
promise
)?
c
[
b
].
promise
().
done
(
h
(
b
,
k
,
c
)).
fail
(
g
.
reject
).
progress
(
h
(
b
,
j
,
i
)):
--
f
;
return
f
||
g
.
resolveWith
(
k
,
c
),
g
.
promise
()}});
var
H
;
m
.
fn
.
ready
=
function
(
a
){
return
m
.
ready
.
promise
().
done
(
a
),
this
},
m
.
extend
({
isReady
:
!
1
,
readyWait
:
1
,
holdReady
:
function
(
a
){
a
?
m
.
readyWait
++
:
m
.
ready
(
!
0
)},
ready
:
function
(
a
){
if
(
a
===!
0
?
!--
m
.
readyWait
:
!
m
.
isReady
){
if
(
!
y
.
body
)
return
setTimeout
(
m
.
ready
);
m
.
isReady
=!
0
,
a
!==!
0
&&--
m
.
readyWait
>
0
||
(
H
.
resolveWith
(
y
,[
m
]),
m
.
fn
.
triggerHandler
&&
(
m
(
y
).
triggerHandler
(
"ready"
),
m
(
y
).
off
(
"ready"
)))}}});
function
I
(){
y
.
addEventListener
?(
y
.
removeEventListener
(
"DOMContentLoaded"
,
J
,
!
1
),
a
.
removeEventListener
(
"load"
,
J
,
!
1
)):(
y
.
detachEvent
(
"onreadystatechange"
,
J
),
a
.
detachEvent
(
"onload"
,
J
))}
function
J
(){(
y
.
addEventListener
||
"load"
===
event
.
type
||
"complete"
===
y
.
readyState
)
&&
(
I
(),
m
.
ready
())}
m
.
ready
.
promise
=
function
(
b
){
if
(
!
H
)
if
(
H
=
m
.
Deferred
(),
"complete"
===
y
.
readyState
)
setTimeout
(
m
.
ready
);
else
if
(
y
.
addEventListener
)
y
.
addEventListener
(
"DOMContentLoaded"
,
J
,
!
1
),
a
.
addEventListener
(
"load"
,
J
,
!
1
);
else
{
y
.
attachEvent
(
"onreadystatechange"
,
J
),
a
.
attachEvent
(
"onload"
,
J
);
var
c
=!
1
;
try
{
c
=
null
==
a
.
frameElement
&&
y
.
documentElement
}
catch
(
d
){}
c
&&
c
.
doScroll
&&!
function
e
(){
if
(
!
m
.
isReady
){
try
{
c
.
doScroll
(
"left"
)}
catch
(
a
){
return
setTimeout
(
e
,
50
)}
I
(),
m
.
ready
()}}()}
return
H
.
promise
(
b
)};
var
K
=
"undefined"
,
L
;
for
(
L
in
m
(
k
))
break
;
k
.
ownLast
=
"0"
!==
L
,
k
.
inlineBlockNeedsLayout
=!
1
,
m
(
function
(){
var
a
,
b
,
c
,
d
;
c
=
y
.
getElementsByTagName
(
"body"
)[
0
],
c
&&
c
.
style
&&
(
b
=
y
.
createElement
(
"div"
),
d
=
y
.
createElement
(
"div"
),
d
.
style
.
cssText
=
"position:absolute;border:0;width:0;height:0;top:0;left:-9999px"
,
c
.
appendChild
(
d
).
appendChild
(
b
),
typeof
b
.
style
.
zoom
!==
K
&&
(
b
.
style
.
cssText
=
"display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1"
,
k
.
inlineBlockNeedsLayout
=
a
=
3
===
b
.
offsetWidth
,
a
&&
(
c
.
style
.
zoom
=
1
)),
c
.
removeChild
(
d
))}),
function
(){
var
a
=
y
.
createElement
(
"div"
);
if
(
null
==
k
.
deleteExpando
){
k
.
deleteExpando
=!
0
;
try
{
delete
a
.
test
}
catch
(
b
){
k
.
deleteExpando
=!
1
}}
a
=
null
}(),
m
.
acceptData
=
function
(
a
){
var
b
=
m
.
noData
[(
a
.
nodeName
+
" "
).
toLowerCase
()],
c
=+
a
.
nodeType
||
1
;
return
1
!==
c
&&
9
!==
c
?
!
1
:
!
b
||
b
!==!
0
&&
a
.
getAttribute
(
"classid"
)
===
b
};
var
M
=
/^
(?:\{[\w\W]
*
\}
|
\[[\w\W]
*
\])
$/
,
N
=
/
([
A-Z
])
/g
;
function
O
(
a
,
b
,
c
){
if
(
void
0
===
c
&&
1
===
a
.
nodeType
){
var
d
=
"data-"
+
b
.
replace
(
N
,
"-$1"
).
toLowerCase
();
if
(
c
=
a
.
getAttribute
(
d
),
"string"
==
typeof
c
){
try
{
c
=
"true"
===
c
?
!
0
:
"false"
===
c
?
!
1
:
"null"
===
c
?
null
:
+
c
+
""
===
c
?
+
c
:
M
.
test
(
c
)?
m
.
parseJSON
(
c
):
c
}
catch
(
e
){}
m
.
data
(
a
,
b
,
c
)}
else
c
=
void
0
}
return
c
}
function
P
(
a
){
var
b
;
for
(
b
in
a
)
if
((
"data"
!==
b
||!
m
.
isEmptyObject
(
a
[
b
]))
&&
"toJSON"
!==
b
)
return
!
1
;
return
!
0
}
function
Q
(
a
,
b
,
d
,
e
){
if
(
m
.
acceptData
(
a
)){
var
f
,
g
,
h
=
m
.
expando
,
i
=
a
.
nodeType
,
j
=
i
?
m
.
cache
:
a
,
k
=
i
?
a
[
h
]:
a
[
h
]
&&
h
;
if
(
k
&&
j
[
k
]
&&
(
e
||
j
[
k
].
data
)
||
void
0
!==
d
||
"string"
!=
typeof
b
)
return
k
||
(
k
=
i
?
a
[
h
]
=
c
.
pop
()
||
m
.
guid
++
:
h
),
j
[
k
]
||
(
j
[
k
]
=
i
?{}:{
toJSON
:
m
.
noop
}),(
"object"
==
typeof
b
||
"function"
==
typeof
b
)
&&
(
e
?
j
[
k
]
=
m
.
extend
(
j
[
k
],
b
):
j
[
k
].
data
=
m
.
extend
(
j
[
k
].
data
,
b
)),
g
=
j
[
k
],
e
||
(
g
.
data
||
(
g
.
data
=
{}),
g
=
g
.
data
),
void
0
!==
d
&&
(
g
[
m
.
camelCase
(
b
)]
=
d
),
"string"
==
typeof
b
?(
f
=
g
[
b
],
null
==
f
&&
(
f
=
g
[
m
.
camelCase
(
b
)])):
f
=
g
,
f
}}
function
R
(
a
,
b
,
c
){
if
(
m
.
acceptData
(
a
)){
var
d
,
e
,
f
=
a
.
nodeType
,
g
=
f
?
m
.
cache
:
a
,
h
=
f
?
a
[
m
.
expando
]:
m
.
expando
;
if
(
g
[
h
]){
if
(
b
&&
(
d
=
c
?
g
[
h
]:
g
[
h
].
data
)){
m
.
isArray
(
b
)?
b
=
b
.
concat
(
m
.
map
(
b
,
m
.
camelCase
)):
b
in
d
?
b
=
[
b
]:(
b
=
m
.
camelCase
(
b
),
b
=
b
in
d
?[
b
]:
b
.
split
(
" "
)),
e
=
b
.
length
;
while
(
e
--
)
delete
d
[
b
[
e
]];
if
(
c
?
!
P
(
d
):
!
m
.
isEmptyObject
(
d
))
return
}(
c
||
(
delete
g
[
h
].
data
,
P
(
g
[
h
])))
&&
(
f
?
m
.
cleanData
([
a
],
!
0
):
k
.
deleteExpando
||
g
!=
g
.
window
?
delete
g
[
h
]:
g
[
h
]
=
null
)}}}
m
.
extend
({
cache
:{},
noData
:{
"applet "
:
!
0
,
"embed "
:
!
0
,
"object "
:
"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
},
hasData
:
function
(
a
){
return
a
=
a
.
nodeType
?
m
.
cache
[
a
[
m
.
expando
]]:
a
[
m
.
expando
],
!!
a
&&!
P
(
a
)},
data
:
function
(
a
,
b
,
c
){
return
Q
(
a
,
b
,
c
)},
removeData
:
function
(
a
,
b
){
return
R
(
a
,
b
)},
_data
:
function
(
a
,
b
,
c
){
return
Q
(
a
,
b
,
c
,
!
0
)},
_removeData
:
function
(
a
,
b
){
return
R
(
a
,
b
,
!
0
)}}),
m
.
fn
.
extend
({
data
:
function
(
a
,
b
){
var
c
,
d
,
e
,
f
=
this
[
0
],
g
=
f
&&
f
.
attributes
;
if
(
void
0
===
a
){
if
(
this
.
length
&&
(
e
=
m
.
data
(
f
),
1
===
f
.
nodeType
&&!
m
.
_data
(
f
,
"parsedAttrs"
))){
c
=
g
.
length
;
while
(
c
--
)
g
[
c
]
&&
(
d
=
g
[
c
].
name
,
0
===
d
.
indexOf
(
"data-"
)
&&
(
d
=
m
.
camelCase
(
d
.
slice
(
5
)),
O
(
f
,
d
,
e
[
d
])));
m
.
_data
(
f
,
"parsedAttrs"
,
!
0
)}
return
e
}
return
"object"
==
typeof
a
?
this
.
each
(
function
(){
m
.
data
(
this
,
a
)}):
arguments
.
length
>
1
?
this
.
each
(
function
(){
m
.
data
(
this
,
a
,
b
)}):
f
?
O
(
f
,
a
,
m
.
data
(
f
,
a
)):
void
0
},
removeData
:
function
(
a
){
return
this
.
each
(
function
(){
m
.
removeData
(
this
,
a
)})}}),
m
.
extend
({
queue
:
function
(
a
,
b
,
c
){
var
d
;
return
a
?(
b
=
(
b
||
"fx"
)
+
"queue"
,
d
=
m
.
_data
(
a
,
b
),
c
&&
(
!
d
||
m
.
isArray
(
c
)?
d
=
m
.
_data
(
a
,
b
,
m
.
makeArray
(
c
)):
d
.
push
(
c
)),
d
||
[]):
void
0
},
dequeue
:
function
(
a
,
b
){
b
=
b
||
"fx"
;
var
c
=
m
.
queue
(
a
,
b
),
d
=
c
.
length
,
e
=
c
.
shift
(),
f
=
m
.
_queueHooks
(
a
,
b
),
g
=
function
(){
m
.
dequeue
(
a
,
b
)};
"inprogress"
===
e
&&
(
e
=
c
.
shift
(),
d
--
),
e
&&
(
"fx"
===
b
&&
c
.
unshift
(
"inprogress"
),
delete
f
.
stop
,
e
.
call
(
a
,
g
,
f
)),
!
d
&&
f
&&
f
.
empty
.
fire
()},
_queueHooks
:
function
(
a
,
b
){
var
c
=
b
+
"queueHooks"
;
return
m
.
_data
(
a
,
c
)
||
m
.
_data
(
a
,
c
,{
empty
:
m
.
Callbacks
(
"once memory"
).
add
(
function
(){
m
.
_removeData
(
a
,
b
+
"queue"
),
m
.
_removeData
(
a
,
c
)})})}}),
m
.
fn
.
extend
({
queue
:
function
(
a
,
b
){
var
c
=
2
;
return
"string"
!=
typeof
a
&&
(
b
=
a
,
a
=
"fx"
,
c
--
),
arguments
.
length
<
c
?
m
.
queue
(
this
[
0
],
a
):
void
0
===
b
?
this
:
this
.
each
(
function
(){
var
c
=
m
.
queue
(
this
,
a
,
b
);
m
.
_queueHooks
(
this
,
a
),
"fx"
===
a
&&
"inprogress"
!==
c
[
0
]
&&
m
.
dequeue
(
this
,
a
)})},
dequeue
:
function
(
a
){
return
this
.
each
(
function
(){
m
.
dequeue
(
this
,
a
)})},
clearQueue
:
function
(
a
){
return
this
.
queue
(
a
||
"fx"
,[])},
promise
:
function
(
a
,
b
){
var
c
,
d
=
1
,
e
=
m
.
Deferred
(),
f
=
this
,
g
=
this
.
length
,
h
=
function
(){
--
d
||
e
.
resolveWith
(
f
,[
f
])};
"string"
!=
typeof
a
&&
(
b
=
a
,
a
=
void
0
),
a
=
a
||
"fx"
;
while
(
g
--
)
c
=
m
.
_data
(
f
[
g
],
a
+
"queueHooks"
),
c
&&
c
.
empty
&&
(
d
++
,
c
.
empty
.
add
(
h
));
return
h
(),
e
.
promise
(
b
)}});
var
S
=
/
[
+-
]?(?:\d
*
\.
|
)\d
+
(?:[
eE
][
+-
]?\d
+|
)
/
.
source
,
T
=
[
"Top"
,
"Right"
,
"Bottom"
,
"Left"
],
U
=
function
(
a
,
b
){
return
a
=
b
||
a
,
"none"
===
m
.
css
(
a
,
"display"
)
||!
m
.
contains
(
a
.
ownerDocument
,
a
)},
V
=
m
.
access
=
function
(
a
,
b
,
c
,
d
,
e
,
f
,
g
){
var
h
=
0
,
i
=
a
.
length
,
j
=
null
==
c
;
if
(
"object"
===
m
.
type
(
c
)){
e
=!
0
;
for
(
h
in
c
)
m
.
access
(
a
,
b
,
h
,
c
[
h
],
!
0
,
f
,
g
)}
else
if
(
void
0
!==
d
&&
(
e
=!
0
,
m
.
isFunction
(
d
)
||
(
g
=!
0
),
j
&&
(
g
?(
b
.
call
(
a
,
d
),
b
=
null
):(
j
=
b
,
b
=
function
(
a
,
b
,
c
){
return
j
.
call
(
m
(
a
),
c
)})),
b
))
for
(;
i
>
h
;
h
++
)
b
(
a
[
h
],
c
,
g
?
d
:
d
.
call
(
a
[
h
],
h
,
b
(
a
[
h
],
c
)));
return
e
?
a
:
j
?
b
.
call
(
a
):
i
?
b
(
a
[
0
],
c
):
f
},
W
=
/^
(?:
checkbox|radio
)
$/i
;
!
function
(){
var
a
=
y
.
createElement
(
"input"
),
b
=
y
.
createElement
(
"div"
),
c
=
y
.
createDocumentFragment
();
if
(
b
.
innerHTML
=
" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>"
,
k
.
leadingWhitespace
=
3
===
b
.
firstChild
.
nodeType
,
k
.
tbody
=!
b
.
getElementsByTagName
(
"tbody"
).
length
,
k
.
htmlSerialize
=!!
b
.
getElementsByTagName
(
"link"
).
length
,
k
.
html5Clone
=
"<:nav></:nav>"
!==
y
.
createElement
(
"nav"
).
cloneNode
(
!
0
).
outerHTML
,
a
.
type
=
"checkbox"
,
a
.
checked
=!
0
,
c
.
appendChild
(
a
),
k
.
appendChecked
=
a
.
checked
,
b
.
innerHTML
=
"<textarea>x</textarea>"
,
k
.
noCloneChecked
=!!
b
.
cloneNode
(
!
0
).
lastChild
.
defaultValue
,
c
.
appendChild
(
b
),
b
.
innerHTML
=
"<input type='radio' checked='checked' name='t'/>"
,
k
.
checkClone
=
b
.
cloneNode
(
!
0
).
cloneNode
(
!
0
).
lastChild
.
checked
,
k
.
noCloneEvent
=!
0
,
b
.
attachEvent
&&
(
b
.
attachEvent
(
"onclick"
,
function
(){
k
.
noCloneEvent
=!
1
}),
b
.
cloneNode
(
!
0
).
click
()),
null
==
k
.
deleteExpando
){
k
.
deleteExpando
=!
0
;
try
{
delete
b
.
test
}
catch
(
d
){
k
.
deleteExpando
=!
1
}}}(),
function
(){
var
b
,
c
,
d
=
y
.
createElement
(
"div"
);
for
(
b
in
{
submit
:
!
0
,
change
:
!
0
,
focusin
:
!
0
})
c
=
"on"
+
b
,(
k
[
b
+
"Bubbles"
]
=
c
in
a
)
||
(
d
.
setAttribute
(
c
,
"t"
),
k
[
b
+
"Bubbles"
]
=
d
.
attributes
[
c
].
expando
===!
1
);
d
=
null
}();
var
X
=
/^
(?:
input|select|textarea
)
$/i
,
Y
=
/^key/
,
Z
=
/^
(?:
mouse|pointer|contextmenu
)
|click/
,
$
=
/^
(?:
focusinfocus|focusoutblur
)
$/
,
_
=
/^
([^
.
]
*
)(?:\.(
.+
)
|
)
$/
;
function
ab
(){
return
!
0
}
function
bb
(){
return
!
1
}
function
cb
(){
try
{
return
y
.
activeElement
}
catch
(
a
){}}
m
.
event
=
{
global
:{},
add
:
function
(
a
,
b
,
c
,
d
,
e
){
var
f
,
g
,
h
,
i
,
j
,
k
,
l
,
n
,
o
,
p
,
q
,
r
=
m
.
_data
(
a
);
if
(
r
){
c
.
handler
&&
(
i
=
c
,
c
=
i
.
handler
,
e
=
i
.
selector
),
c
.
guid
||
(
c
.
guid
=
m
.
guid
++
),(
g
=
r
.
events
)
||
(
g
=
r
.
events
=
{}),(
k
=
r
.
handle
)
||
(
k
=
r
.
handle
=
function
(
a
){
return
typeof
m
===
K
||
a
&&
m
.
event
.
triggered
===
a
.
type
?
void
0
:
m
.
event
.
dispatch
.
apply
(
k
.
elem
,
arguments
)},
k
.
elem
=
a
),
b
=
(
b
||
""
).
match
(
E
)
||
[
""
],
h
=
b
.
length
;
while
(
h
--
)
f
=
_
.
exec
(
b
[
h
])
||
[],
o
=
q
=
f
[
1
],
p
=
(
f
[
2
]
||
""
).
split
(
"."
).
sort
(),
o
&&
(
j
=
m
.
event
.
special
[
o
]
||
{},
o
=
(
e
?
j
.
delegateType
:
j
.
bindType
)
||
o
,
j
=
m
.
event
.
special
[
o
]
||
{},
l
=
m
.
extend
({
type
:
o
,
origType
:
q
,
data
:
d
,
handler
:
c
,
guid
:
c
.
guid
,
selector
:
e
,
needsContext
:
e
&&
m
.
expr
.
match
.
needsContext
.
test
(
e
),
namespace
:
p
.
join
(
"."
)},
i
),(
n
=
g
[
o
])
||
(
n
=
g
[
o
]
=
[],
n
.
delegateCount
=
0
,
j
.
setup
&&
j
.
setup
.
call
(
a
,
d
,
p
,
k
)
!==!
1
||
(
a
.
addEventListener
?
a
.
addEventListener
(
o
,
k
,
!
1
):
a
.
attachEvent
&&
a
.
attachEvent
(
"on"
+
o
,
k
))),
j
.
add
&&
(
j
.
add
.
call
(
a
,
l
),
l
.
handler
.
guid
||
(
l
.
handler
.
guid
=
c
.
guid
)),
e
?
n
.
splice
(
n
.
delegateCount
++
,
0
,
l
):
n
.
push
(
l
),
m
.
event
.
global
[
o
]
=!
0
);
a
=
null
}},
remove
:
function
(
a
,
b
,
c
,
d
,
e
){
var
f
,
g
,
h
,
i
,
j
,
k
,
l
,
n
,
o
,
p
,
q
,
r
=
m
.
hasData
(
a
)
&&
m
.
_data
(
a
);
if
(
r
&&
(
k
=
r
.
events
)){
b
=
(
b
||
""
).
match
(
E
)
||
[
""
],
j
=
b
.
length
;
while
(
j
--
)
if
(
h
=
_
.
exec
(
b
[
j
])
||
[],
o
=
q
=
h
[
1
],
p
=
(
h
[
2
]
||
""
).
split
(
"."
).
sort
(),
o
){
l
=
m
.
event
.
special
[
o
]
||
{},
o
=
(
d
?
l
.
delegateType
:
l
.
bindType
)
||
o
,
n
=
k
[
o
]
||
[],
h
=
h
[
2
]
&&
new
RegExp
(
"(^|
\\
.)"
+
p
.
join
(
"
\\
.(?:.*
\\
.|)"
)
+
"(
\\
.|$)"
),
i
=
f
=
n
.
length
;
while
(
f
--
)
g
=
n
[
f
],
!
e
&&
q
!==
g
.
origType
||
c
&&
c
.
guid
!==
g
.
guid
||
h
&&!
h
.
test
(
g
.
namespace
)
||
d
&&
d
!==
g
.
selector
&&
(
"**"
!==
d
||!
g
.
selector
)
||
(
n
.
splice
(
f
,
1
),
g
.
selector
&&
n
.
delegateCount
--
,
l
.
remove
&&
l
.
remove
.
call
(
a
,
g
));
i
&&!
n
.
length
&&
(
l
.
teardown
&&
l
.
teardown
.
call
(
a
,
p
,
r
.
handle
)
!==!
1
||
m
.
removeEvent
(
a
,
o
,
r
.
handle
),
delete
k
[
o
])}
else
for
(
o
in
k
)
m
.
event
.
remove
(
a
,
o
+
b
[
j
],
c
,
d
,
!
0
);
m
.
isEmptyObject
(
k
)
&&
(
delete
r
.
handle
,
m
.
_removeData
(
a
,
"events"
))}},
trigger
:
function
(
b
,
c
,
d
,
e
){
var
f
,
g
,
h
,
i
,
k
,
l
,
n
,
o
=
[
d
||
y
],
p
=
j
.
call
(
b
,
"type"
)?
b
.
type
:
b
,
q
=
j
.
call
(
b
,
"namespace"
)?
b
.
namespace
.
split
(
"."
):[];
if
(
h
=
l
=
d
=
d
||
y
,
3
!==
d
.
nodeType
&&
8
!==
d
.
nodeType
&&!
$
.
test
(
p
+
m
.
event
.
triggered
)
&&
(
p
.
indexOf
(
"."
)
>=
0
&&
(
q
=
p
.
split
(
"."
),
p
=
q
.
shift
(),
q
.
sort
()),
g
=
p
.
indexOf
(
":"
)
<
0
&&
"on"
+
p
,
b
=
b
[
m
.
expando
]?
b
:
new
m
.
Event
(
p
,
"object"
==
typeof
b
&&
b
),
b
.
isTrigger
=
e
?
2
:
3
,
b
.
namespace
=
q
.
join
(
"."
),
b
.
namespace_re
=
b
.
namespace
?
new
RegExp
(
"(^|
\\
.)"
+
q
.
join
(
"
\\
.(?:.*
\\
.|)"
)
+
"(
\\
.|$)"
):
null
,
b
.
result
=
void
0
,
b
.
target
||
(
b
.
target
=
d
),
c
=
null
==
c
?[
b
]:
m
.
makeArray
(
c
,[
b
]),
k
=
m
.
event
.
special
[
p
]
||
{},
e
||!
k
.
trigger
||
k
.
trigger
.
apply
(
d
,
c
)
!==!
1
)){
if
(
!
e
&&!
k
.
noBubble
&&!
m
.
isWindow
(
d
)){
for
(
i
=
k
.
delegateType
||
p
,
$
.
test
(
i
+
p
)
||
(
h
=
h
.
parentNode
);
h
;
h
=
h
.
parentNode
)
o
.
push
(
h
),
l
=
h
;
l
===
(
d
.
ownerDocument
||
y
)
&&
o
.
push
(
l
.
defaultView
||
l
.
parentWindow
||
a
)}
n
=
0
;
while
((
h
=
o
[
n
++
])
&&!
b
.
isPropagationStopped
())
b
.
type
=
n
>
1
?
i
:
k
.
bindType
||
p
,
f
=
(
m
.
_data
(
h
,
"events"
)
||
{})[
b
.
type
]
&&
m
.
_data
(
h
,
"handle"
),
f
&&
f
.
apply
(
h
,
c
),
f
=
g
&&
h
[
g
],
f
&&
f
.
apply
&&
m
.
acceptData
(
h
)
&&
(
b
.
result
=
f
.
apply
(
h
,
c
),
b
.
result
===!
1
&&
b
.
preventDefault
());
if
(
b
.
type
=
p
,
!
e
&&!
b
.
isDefaultPrevented
()
&&
(
!
k
.
_default
||
k
.
_default
.
apply
(
o
.
pop
(),
c
)
===!
1
)
&&
m
.
acceptData
(
d
)
&&
g
&&
d
[
p
]
&&!
m
.
isWindow
(
d
)){
l
=
d
[
g
],
l
&&
(
d
[
g
]
=
null
),
m
.
event
.
triggered
=
p
;
try
{
d
[
p
]()}
catch
(
r
){}
m
.
event
.
triggered
=
void
0
,
l
&&
(
d
[
g
]
=
l
)}
return
b
.
result
}},
dispatch
:
function
(
a
){
a
=
m
.
event
.
fix
(
a
);
var
b
,
c
,
e
,
f
,
g
,
h
=
[],
i
=
d
.
call
(
arguments
),
j
=
(
m
.
_data
(
this
,
"events"
)
||
{})[
a
.
type
]
||
[],
k
=
m
.
event
.
special
[
a
.
type
]
||
{};
if
(
i
[
0
]
=
a
,
a
.
delegateTarget
=
this
,
!
k
.
preDispatch
||
k
.
preDispatch
.
call
(
this
,
a
)
!==!
1
){
h
=
m
.
event
.
handlers
.
call
(
this
,
a
,
j
),
b
=
0
;
while
((
f
=
h
[
b
++
])
&&!
a
.
isPropagationStopped
()){
a
.
currentTarget
=
f
.
elem
,
g
=
0
;
while
((
e
=
f
.
handlers
[
g
++
])
&&!
a
.
isImmediatePropagationStopped
())(
!
a
.
namespace_re
||
a
.
namespace_re
.
test
(
e
.
namespace
))
&&
(
a
.
handleObj
=
e
,
a
.
data
=
e
.
data
,
c
=
((
m
.
event
.
special
[
e
.
origType
]
||
{}).
handle
||
e
.
handler
).
apply
(
f
.
elem
,
i
),
void
0
!==
c
&&
(
a
.
result
=
c
)
===!
1
&&
(
a
.
preventDefault
(),
a
.
stopPropagation
()))}
return
k
.
postDispatch
&&
k
.
postDispatch
.
call
(
this
,
a
),
a
.
result
}},
handlers
:
function
(
a
,
b
){
var
c
,
d
,
e
,
f
,
g
=
[],
h
=
b
.
delegateCount
,
i
=
a
.
target
;
if
(
h
&&
i
.
nodeType
&&
(
!
a
.
button
||
"click"
!==
a
.
type
))
for
(;
i
!=
this
;
i
=
i
.
parentNode
||
this
)
if
(
1
===
i
.
nodeType
&&
(
i
.
disabled
!==!
0
||
"click"
!==
a
.
type
)){
for
(
e
=
[],
f
=
0
;
h
>
f
;
f
++
)
d
=
b
[
f
],
c
=
d
.
selector
+
" "
,
void
0
===
e
[
c
]
&&
(
e
[
c
]
=
d
.
needsContext
?
m
(
c
,
this
).
index
(
i
)
>=
0
:
m
.
find
(
c
,
this
,
null
,[
i
]).
length
),
e
[
c
]
&&
e
.
push
(
d
);
e
.
length
&&
g
.
push
({
elem
:
i
,
handlers
:
e
})}
return
h
<
b
.
length
&&
g
.
push
({
elem
:
this
,
handlers
:
b
.
slice
(
h
)}),
g
},
fix
:
function
(
a
){
if
(
a
[
m
.
expando
])
return
a
;
var
b
,
c
,
d
,
e
=
a
.
type
,
f
=
a
,
g
=
this
.
fixHooks
[
e
];
g
||
(
this
.
fixHooks
[
e
]
=
g
=
Z
.
test
(
e
)?
this
.
mouseHooks
:
Y
.
test
(
e
)?
this
.
keyHooks
:{}),
d
=
g
.
props
?
this
.
props
.
concat
(
g
.
props
):
this
.
props
,
a
=
new
m
.
Event
(
f
),
b
=
d
.
length
;
while
(
b
--
)
c
=
d
[
b
],
a
[
c
]
=
f
[
c
];
return
a
.
target
||
(
a
.
target
=
f
.
srcElement
||
y
),
3
===
a
.
target
.
nodeType
&&
(
a
.
target
=
a
.
target
.
parentNode
),
a
.
metaKey
=!!
a
.
metaKey
,
g
.
filter
?
g
.
filter
(
a
,
f
):
a
},
props
:
"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which"
.
split
(
" "
),
fixHooks
:{},
keyHooks
:{
props
:
"char charCode key keyCode"
.
split
(
" "
),
filter
:
function
(
a
,
b
){
return
null
==
a
.
which
&&
(
a
.
which
=
null
!=
b
.
charCode
?
b
.
charCode
:
b
.
keyCode
),
a
}},
mouseHooks
:{
props
:
"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement"
.
split
(
" "
),
filter
:
function
(
a
,
b
){
var
c
,
d
,
e
,
f
=
b
.
button
,
g
=
b
.
fromElement
;
return
null
==
a
.
pageX
&&
null
!=
b
.
clientX
&&
(
d
=
a
.
target
.
ownerDocument
||
y
,
e
=
d
.
documentElement
,
c
=
d
.
body
,
a
.
pageX
=
b
.
clientX
+
(
e
&&
e
.
scrollLeft
||
c
&&
c
.
scrollLeft
||
0
)
-
(
e
&&
e
.
clientLeft
||
c
&&
c
.
clientLeft
||
0
),
a
.
pageY
=
b
.
clientY
+
(
e
&&
e
.
scrollTop
||
c
&&
c
.
scrollTop
||
0
)
-
(
e
&&
e
.
clientTop
||
c
&&
c
.
clientTop
||
0
)),
!
a
.
relatedTarget
&&
g
&&
(
a
.
relatedTarget
=
g
===
a
.
target
?
b
.
toElement
:
g
),
a
.
which
||
void
0
===
f
||
(
a
.
which
=
1
&
f
?
1
:
2
&
f
?
3
:
4
&
f
?
2
:
0
),
a
}},
special
:{
load
:{
noBubble
:
!
0
},
focus
:{
trigger
:
function
(){
if
(
this
!==
cb
()
&&
this
.
focus
)
try
{
return
this
.
focus
(),
!
1
}
catch
(
a
){}},
delegateType
:
"focusin"
},
blur
:{
trigger
:
function
(){
return
this
===
cb
()
&&
this
.
blur
?(
this
.
blur
(),
!
1
):
void
0
},
delegateType
:
"focusout"
},
click
:{
trigger
:
function
(){
return
m
.
nodeName
(
this
,
"input"
)
&&
"checkbox"
===
this
.
type
&&
this
.
click
?(
this
.
click
(),
!
1
):
void
0
},
_default
:
function
(
a
){
return
m
.
nodeName
(
a
.
target
,
"a"
)}},
beforeunload
:{
postDispatch
:
function
(
a
){
void
0
!==
a
.
result
&&
a
.
originalEvent
&&
(
a
.
originalEvent
.
returnValue
=
a
.
result
)}}},
simulate
:
function
(
a
,
b
,
c
,
d
){
var
e
=
m
.
extend
(
new
m
.
Event
,
c
,{
type
:
a
,
isSimulated
:
!
0
,
originalEvent
:{}});
d
?
m
.
event
.
trigger
(
e
,
null
,
b
):
m
.
event
.
dispatch
.
call
(
b
,
e
),
e
.
isDefaultPrevented
()
&&
c
.
preventDefault
()}},
m
.
removeEvent
=
y
.
removeEventListener
?
function
(
a
,
b
,
c
){
a
.
removeEventListener
&&
a
.
removeEventListener
(
b
,
c
,
!
1
)}:
function
(
a
,
b
,
c
){
var
d
=
"on"
+
b
;
a
.
detachEvent
&&
(
typeof
a
[
d
]
===
K
&&
(
a
[
d
]
=
null
),
a
.
detachEvent
(
d
,
c
))},
m
.
Event
=
function
(
a
,
b
){
return
this
instanceof
m
.
Event
?(
a
&&
a
.
type
?(
this
.
originalEvent
=
a
,
this
.
type
=
a
.
type
,
this
.
isDefaultPrevented
=
a
.
defaultPrevented
||
void
0
===
a
.
defaultPrevented
&&
a
.
returnValue
===!
1
?
ab
:
bb
):
this
.
type
=
a
,
b
&&
m
.
extend
(
this
,
b
),
this
.
timeStamp
=
a
&&
a
.
timeStamp
||
m
.
now
(),
void
(
this
[
m
.
expando
]
=!
0
)):
new
m
.
Event
(
a
,
b
)},
m
.
Event
.
prototype
=
{
isDefaultPrevented
:
bb
,
isPropagationStopped
:
bb
,
isImmediatePropagationStopped
:
bb
,
preventDefault
:
function
(){
var
a
=
this
.
originalEvent
;
this
.
isDefaultPrevented
=
ab
,
a
&&
(
a
.
preventDefault
?
a
.
preventDefault
():
a
.
returnValue
=!
1
)},
stopPropagation
:
function
(){
var
a
=
this
.
originalEvent
;
this
.
isPropagationStopped
=
ab
,
a
&&
(
a
.
stopPropagation
&&
a
.
stopPropagation
(),
a
.
cancelBubble
=!
0
)},
stopImmediatePropagation
:
function
(){
var
a
=
this
.
originalEvent
;
this
.
isImmediatePropagationStopped
=
ab
,
a
&&
a
.
stopImmediatePropagation
&&
a
.
stopImmediatePropagation
(),
this
.
stopPropagation
()}},
m
.
each
({
mouseenter
:
"mouseover"
,
mouseleave
:
"mouseout"
,
pointerenter
:
"pointerover"
,
pointerleave
:
"pointerout"
},
function
(
a
,
b
){
m
.
event
.
special
[
a
]
=
{
delegateType
:
b
,
bindType
:
b
,
handle
:
function
(
a
){
var
c
,
d
=
this
,
e
=
a
.
relatedTarget
,
f
=
a
.
handleObj
;
return
(
!
e
||
e
!==
d
&&!
m
.
contains
(
d
,
e
))
&&
(
a
.
type
=
f
.
origType
,
c
=
f
.
handler
.
apply
(
this
,
arguments
),
a
.
type
=
b
),
c
}}}),
k
.
submitBubbles
||
(
m
.
event
.
special
.
submit
=
{
setup
:
function
(){
return
m
.
nodeName
(
this
,
"form"
)?
!
1
:
void
m
.
event
.
add
(
this
,
"click._submit keypress._submit"
,
function
(
a
){
var
b
=
a
.
target
,
c
=
m
.
nodeName
(
b
,
"input"
)
||
m
.
nodeName
(
b
,
"button"
)?
b
.
form
:
void
0
;
c
&&!
m
.
_data
(
c
,
"submitBubbles"
)
&&
(
m
.
event
.
add
(
c
,
"submit._submit"
,
function
(
a
){
a
.
_submit_bubble
=!
0
}),
m
.
_data
(
c
,
"submitBubbles"
,
!
0
))})},
postDispatch
:
function
(
a
){
a
.
_submit_bubble
&&
(
delete
a
.
_submit_bubble
,
this
.
parentNode
&&!
a
.
isTrigger
&&
m
.
event
.
simulate
(
"submit"
,
this
.
parentNode
,
a
,
!
0
))},
teardown
:
function
(){
return
m
.
nodeName
(
this
,
"form"
)?
!
1
:
void
m
.
event
.
remove
(
this
,
"._submit"
)}}),
k
.
changeBubbles
||
(
m
.
event
.
special
.
change
=
{
setup
:
function
(){
return
X
.
test
(
this
.
nodeName
)?((
"checkbox"
===
this
.
type
||
"radio"
===
this
.
type
)
&&
(
m
.
event
.
add
(
this
,
"propertychange._change"
,
function
(
a
){
"checked"
===
a
.
originalEvent
.
propertyName
&&
(
this
.
_just_changed
=!
0
)}),
m
.
event
.
add
(
this
,
"click._change"
,
function
(
a
){
this
.
_just_changed
&&!
a
.
isTrigger
&&
(
this
.
_just_changed
=!
1
),
m
.
event
.
simulate
(
"change"
,
this
,
a
,
!
0
)})),
!
1
):
void
m
.
event
.
add
(
this
,
"beforeactivate._change"
,
function
(
a
){
var
b
=
a
.
target
;
X
.
test
(
b
.
nodeName
)
&&!
m
.
_data
(
b
,
"changeBubbles"
)
&&
(
m
.
event
.
add
(
b
,
"change._change"
,
function
(
a
){
!
this
.
parentNode
||
a
.
isSimulated
||
a
.
isTrigger
||
m
.
event
.
simulate
(
"change"
,
this
.
parentNode
,
a
,
!
0
)}),
m
.
_data
(
b
,
"changeBubbles"
,
!
0
))})},
handle
:
function
(
a
){
var
b
=
a
.
target
;
return
this
!==
b
||
a
.
isSimulated
||
a
.
isTrigger
||
"radio"
!==
b
.
type
&&
"checkbox"
!==
b
.
type
?
a
.
handleObj
.
handler
.
apply
(
this
,
arguments
):
void
0
},
teardown
:
function
(){
return
m
.
event
.
remove
(
this
,
"._change"
),
!
X
.
test
(
this
.
nodeName
)}}),
k
.
focusinBubbles
||
m
.
each
({
focus
:
"focusin"
,
blur
:
"focusout"
},
function
(
a
,
b
){
var
c
=
function
(
a
){
m
.
event
.
simulate
(
b
,
a
.
target
,
m
.
event
.
fix
(
a
),
!
0
)};
m
.
event
.
special
[
b
]
=
{
setup
:
function
(){
var
d
=
this
.
ownerDocument
||
this
,
e
=
m
.
_data
(
d
,
b
);
e
||
d
.
addEventListener
(
a
,
c
,
!
0
),
m
.
_data
(
d
,
b
,(
e
||
0
)
+
1
)},
teardown
:
function
(){
var
d
=
this
.
ownerDocument
||
this
,
e
=
m
.
_data
(
d
,
b
)
-
1
;
e
?
m
.
_data
(
d
,
b
,
e
):(
d
.
removeEventListener
(
a
,
c
,
!
0
),
m
.
_removeData
(
d
,
b
))}}}),
m
.
fn
.
extend
({
on
:
function
(
a
,
b
,
c
,
d
,
e
){
var
f
,
g
;
if
(
"object"
==
typeof
a
){
"string"
!=
typeof
b
&&
(
c
=
c
||
b
,
b
=
void
0
);
for
(
f
in
a
)
this
.
on
(
f
,
b
,
c
,
a
[
f
],
e
);
return
this
}
if
(
null
==
c
&&
null
==
d
?(
d
=
b
,
c
=
b
=
void
0
):
null
==
d
&&
(
"string"
==
typeof
b
?(
d
=
c
,
c
=
void
0
):(
d
=
c
,
c
=
b
,
b
=
void
0
)),
d
===!
1
)
d
=
bb
;
else
if
(
!
d
)
return
this
;
return
1
===
e
&&
(
g
=
d
,
d
=
function
(
a
){
return
m
().
off
(
a
),
g
.
apply
(
this
,
arguments
)},
d
.
guid
=
g
.
guid
||
(
g
.
guid
=
m
.
guid
++
)),
this
.
each
(
function
(){
m
.
event
.
add
(
this
,
a
,
d
,
c
,
b
)})},
one
:
function
(
a
,
b
,
c
,
d
){
return
this
.
on
(
a
,
b
,
c
,
d
,
1
)},
off
:
function
(
a
,
b
,
c
){
var
d
,
e
;
if
(
a
&&
a
.
preventDefault
&&
a
.
handleObj
)
return
d
=
a
.
handleObj
,
m
(
a
.
delegateTarget
).
off
(
d
.
namespace
?
d
.
origType
+
"."
+
d
.
namespace
:
d
.
origType
,
d
.
selector
,
d
.
handler
),
this
;
if
(
"object"
==
typeof
a
){
for
(
e
in
a
)
this
.
off
(
e
,
b
,
a
[
e
]);
return
this
}
return
(
b
===!
1
||
"function"
==
typeof
b
)
&&
(
c
=
b
,
b
=
void
0
),
c
===!
1
&&
(
c
=
bb
),
this
.
each
(
function
(){
m
.
event
.
remove
(
this
,
a
,
c
,
b
)})},
trigger
:
function
(
a
,
b
){
return
this
.
each
(
function
(){
m
.
event
.
trigger
(
a
,
b
,
this
)})},
triggerHandler
:
function
(
a
,
b
){
var
c
=
this
[
0
];
return
c
?
m
.
event
.
trigger
(
a
,
b
,
c
,
!
0
):
void
0
}});
function
db
(
a
){
var
b
=
eb
.
split
(
"|"
),
c
=
a
.
createDocumentFragment
();
if
(
c
.
createElement
)
while
(
b
.
length
)
c
.
createElement
(
b
.
pop
());
return
c
}
var
eb
=
"abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video"
,
fb
=
/ jQuery
\d
+="
(?:
null|
\d
+
)
"/g
,
gb
=
new
RegExp
(
"<(?:"
+
eb
+
")[
\\
s/>]"
,
"i"
),
hb
=
/^
\s
+/
,
ib
=
/<
(?!
area|br|col|embed|hr|img|input|link|meta|param
)(([\w
:
]
+
)[^
>
]
*
)\/
>/gi
,
jb
=
/<
([\w
:
]
+
)
/
,
kb
=
/<tbody/i
,
lb
=
/<|&#
?\w
+;/
,
mb
=
/<
(?:
script|style|link
)
/i
,
nb
=
/checked
\s
*
(?:[^
=
]
|=
\s
*.checked.
)
/i
,
ob
=
/^$|
\/(?:
java|ecma
)
script/i
,
pb
=
/^true
\/(
.*
)
/
,
qb
=
/^
\s
*<!
(?:\[
CDATA
\[
|--
)
|
(?:\]\]
|--
)
>
\s
*$/g
,
rb
=
{
option
:[
1
,
"<select multiple='multiple'>"
,
"</select>"
],
legend
:[
1
,
"<fieldset>"
,
"</fieldset>"
],
area
:[
1
,
"<map>"
,
"</map>"
],
param
:[
1
,
"<object>"
,
"</object>"
],
thead
:[
1
,
"<table>"
,
"</table>"
],
tr
:[
2
,
"<table><tbody>"
,
"</tbody></table>"
],
col
:[
2
,
"<table><tbody></tbody><colgroup>"
,
"</colgroup></table>"
],
td
:[
3
,
"<table><tbody><tr>"
,
"</tr></tbody></table>"
],
_default
:
k
.
htmlSerialize
?[
0
,
""
,
""
]:[
1
,
"X<div>"
,
"</div>"
]},
sb
=
db
(
y
),
tb
=
sb
.
appendChild
(
y
.
createElement
(
"div"
));
rb
.
optgroup
=
rb
.
option
,
rb
.
tbody
=
rb
.
tfoot
=
rb
.
colgroup
=
rb
.
caption
=
rb
.
thead
,
rb
.
th
=
rb
.
td
;
function
ub
(
a
,
b
){
var
c
,
d
,
e
=
0
,
f
=
typeof
a
.
getElementsByTagName
!==
K
?
a
.
getElementsByTagName
(
b
||
"*"
):
typeof
a
.
querySelectorAll
!==
K
?
a
.
querySelectorAll
(
b
||
"*"
):
void
0
;
if
(
!
f
)
for
(
f
=
[],
c
=
a
.
childNodes
||
a
;
null
!=
(
d
=
c
[
e
]);
e
++
)
!
b
||
m
.
nodeName
(
d
,
b
)?
f
.
push
(
d
):
m
.
merge
(
f
,
ub
(
d
,
b
));
return
void
0
===
b
||
b
&&
m
.
nodeName
(
a
,
b
)?
m
.
merge
([
a
],
f
):
f
}
function
vb
(
a
){
W
.
test
(
a
.
type
)
&&
(
a
.
defaultChecked
=
a
.
checked
)}
function
wb
(
a
,
b
){
return
m
.
nodeName
(
a
,
"table"
)
&&
m
.
nodeName
(
11
!==
b
.
nodeType
?
b
:
b
.
firstChild
,
"tr"
)?
a
.
getElementsByTagName
(
"tbody"
)[
0
]
||
a
.
appendChild
(
a
.
ownerDocument
.
createElement
(
"tbody"
)):
a
}
function
xb
(
a
){
return
a
.
type
=
(
null
!==
m
.
find
.
attr
(
a
,
"type"
))
+
"/"
+
a
.
type
,
a
}
function
yb
(
a
){
var
b
=
pb
.
exec
(
a
.
type
);
return
b
?
a
.
type
=
b
[
1
]:
a
.
removeAttribute
(
"type"
),
a
}
function
zb
(
a
,
b
){
for
(
var
c
,
d
=
0
;
null
!=
(
c
=
a
[
d
]);
d
++
)
m
.
_data
(
c
,
"globalEval"
,
!
b
||
m
.
_data
(
b
[
d
],
"globalEval"
))}
function
Ab
(
a
,
b
){
if
(
1
===
b
.
nodeType
&&
m
.
hasData
(
a
)){
var
c
,
d
,
e
,
f
=
m
.
_data
(
a
),
g
=
m
.
_data
(
b
,
f
),
h
=
f
.
events
;
if
(
h
){
delete
g
.
handle
,
g
.
events
=
{};
for
(
c
in
h
)
for
(
d
=
0
,
e
=
h
[
c
].
length
;
e
>
d
;
d
++
)
m
.
event
.
add
(
b
,
c
,
h
[
c
][
d
])}
g
.
data
&&
(
g
.
data
=
m
.
extend
({},
g
.
data
))}}
function
Bb
(
a
,
b
){
var
c
,
d
,
e
;
if
(
1
===
b
.
nodeType
){
if
(
c
=
b
.
nodeName
.
toLowerCase
(),
!
k
.
noCloneEvent
&&
b
[
m
.
expando
]){
e
=
m
.
_data
(
b
);
for
(
d
in
e
.
events
)
m
.
removeEvent
(
b
,
d
,
e
.
handle
);
b
.
removeAttribute
(
m
.
expando
)}
"script"
===
c
&&
b
.
text
!==
a
.
text
?(
xb
(
b
).
text
=
a
.
text
,
yb
(
b
)):
"object"
===
c
?(
b
.
parentNode
&&
(
b
.
outerHTML
=
a
.
outerHTML
),
k
.
html5Clone
&&
a
.
innerHTML
&&!
m
.
trim
(
b
.
innerHTML
)
&&
(
b
.
innerHTML
=
a
.
innerHTML
)):
"input"
===
c
&&
W
.
test
(
a
.
type
)?(
b
.
defaultChecked
=
b
.
checked
=
a
.
checked
,
b
.
value
!==
a
.
value
&&
(
b
.
value
=
a
.
value
)):
"option"
===
c
?
b
.
defaultSelected
=
b
.
selected
=
a
.
defaultSelected
:(
"input"
===
c
||
"textarea"
===
c
)
&&
(
b
.
defaultValue
=
a
.
defaultValue
)}}
m
.
extend
({
clone
:
function
(
a
,
b
,
c
){
var
d
,
e
,
f
,
g
,
h
,
i
=
m
.
contains
(
a
.
ownerDocument
,
a
);
if
(
k
.
html5Clone
||
m
.
isXMLDoc
(
a
)
||!
gb
.
test
(
"<"
+
a
.
nodeName
+
">"
)?
f
=
a
.
cloneNode
(
!
0
):(
tb
.
innerHTML
=
a
.
outerHTML
,
tb
.
removeChild
(
f
=
tb
.
firstChild
)),
!
(
k
.
noCloneEvent
&&
k
.
noCloneChecked
||
1
!==
a
.
nodeType
&&
11
!==
a
.
nodeType
||
m
.
isXMLDoc
(
a
)))
for
(
d
=
ub
(
f
),
h
=
ub
(
a
),
g
=
0
;
null
!=
(
e
=
h
[
g
]);
++
g
)
d
[
g
]
&&
Bb
(
e
,
d
[
g
]);
if
(
b
)
if
(
c
)
for
(
h
=
h
||
ub
(
a
),
d
=
d
||
ub
(
f
),
g
=
0
;
null
!=
(
e
=
h
[
g
]);
g
++
)
Ab
(
e
,
d
[
g
]);
else
Ab
(
a
,
f
);
return
d
=
ub
(
f
,
"script"
),
d
.
length
>
0
&&
zb
(
d
,
!
i
&&
ub
(
a
,
"script"
)),
d
=
h
=
e
=
null
,
f
},
buildFragment
:
function
(
a
,
b
,
c
,
d
){
for
(
var
e
,
f
,
g
,
h
,
i
,
j
,
l
,
n
=
a
.
length
,
o
=
db
(
b
),
p
=
[],
q
=
0
;
n
>
q
;
q
++
)
if
(
f
=
a
[
q
],
f
||
0
===
f
)
if
(
"object"
===
m
.
type
(
f
))
m
.
merge
(
p
,
f
.
nodeType
?[
f
]:
f
);
else
if
(
lb
.
test
(
f
)){
h
=
h
||
o
.
appendChild
(
b
.
createElement
(
"div"
)),
i
=
(
jb
.
exec
(
f
)
||
[
""
,
""
])[
1
].
toLowerCase
(),
l
=
rb
[
i
]
||
rb
.
_default
,
h
.
innerHTML
=
l
[
1
]
+
f
.
replace
(
ib
,
"<$1></$2>"
)
+
l
[
2
],
e
=
l
[
0
];
while
(
e
--
)
h
=
h
.
lastChild
;
if
(
!
k
.
leadingWhitespace
&&
hb
.
test
(
f
)
&&
p
.
push
(
b
.
createTextNode
(
hb
.
exec
(
f
)[
0
])),
!
k
.
tbody
){
f
=
"table"
!==
i
||
kb
.
test
(
f
)?
"<table>"
!==
l
[
1
]
||
kb
.
test
(
f
)?
0
:
h
:
h
.
firstChild
,
e
=
f
&&
f
.
childNodes
.
length
;
while
(
e
--
)
m
.
nodeName
(
j
=
f
.
childNodes
[
e
],
"tbody"
)
&&!
j
.
childNodes
.
length
&&
f
.
removeChild
(
j
)}
m
.
merge
(
p
,
h
.
childNodes
),
h
.
textContent
=
""
;
while
(
h
.
firstChild
)
h
.
removeChild
(
h
.
firstChild
);
h
=
o
.
lastChild
}
else
p
.
push
(
b
.
createTextNode
(
f
));
h
&&
o
.
removeChild
(
h
),
k
.
appendChecked
||
m
.
grep
(
ub
(
p
,
"input"
),
vb
),
q
=
0
;
while
(
f
=
p
[
q
++
])
if
((
!
d
||-
1
===
m
.
inArray
(
f
,
d
))
&&
(
g
=
m
.
contains
(
f
.
ownerDocument
,
f
),
h
=
ub
(
o
.
appendChild
(
f
),
"script"
),
g
&&
zb
(
h
),
c
)){
e
=
0
;
while
(
f
=
h
[
e
++
])
ob
.
test
(
f
.
type
||
""
)
&&
c
.
push
(
f
)}
return
h
=
null
,
o
},
cleanData
:
function
(
a
,
b
){
for
(
var
d
,
e
,
f
,
g
,
h
=
0
,
i
=
m
.
expando
,
j
=
m
.
cache
,
l
=
k
.
deleteExpando
,
n
=
m
.
event
.
special
;
null
!=
(
d
=
a
[
h
]);
h
++
)
if
((
b
||
m
.
acceptData
(
d
))
&&
(
f
=
d
[
i
],
g
=
f
&&
j
[
f
])){
if
(
g
.
events
)
for
(
e
in
g
.
events
)
n
[
e
]?
m
.
event
.
remove
(
d
,
e
):
m
.
removeEvent
(
d
,
e
,
g
.
handle
);
j
[
f
]
&&
(
delete
j
[
f
],
l
?
delete
d
[
i
]:
typeof
d
.
removeAttribute
!==
K
?
d
.
removeAttribute
(
i
):
d
[
i
]
=
null
,
c
.
push
(
f
))}}}),
m
.
fn
.
extend
({
text
:
function
(
a
){
return
V
(
this
,
function
(
a
){
return
void
0
===
a
?
m
.
text
(
this
):
this
.
empty
().
append
((
this
[
0
]
&&
this
[
0
].
ownerDocument
||
y
).
createTextNode
(
a
))},
null
,
a
,
arguments
.
length
)},
append
:
function
(){
return
this
.
domManip
(
arguments
,
function
(
a
){
if
(
1
===
this
.
nodeType
||
11
===
this
.
nodeType
||
9
===
this
.
nodeType
){
var
b
=
wb
(
this
,
a
);
b
.
appendChild
(
a
)}})},
prepend
:
function
(){
return
this
.
domManip
(
arguments
,
function
(
a
){
if
(
1
===
this
.
nodeType
||
11
===
this
.
nodeType
||
9
===
this
.
nodeType
){
var
b
=
wb
(
this
,
a
);
b
.
insertBefore
(
a
,
b
.
firstChild
)}})},
before
:
function
(){
return
this
.
domManip
(
arguments
,
function
(
a
){
this
.
parentNode
&&
this
.
parentNode
.
insertBefore
(
a
,
this
)})},
after
:
function
(){
return
this
.
domManip
(
arguments
,
function
(
a
){
this
.
parentNode
&&
this
.
parentNode
.
insertBefore
(
a
,
this
.
nextSibling
)})},
remove
:
function
(
a
,
b
){
for
(
var
c
,
d
=
a
?
m
.
filter
(
a
,
this
):
this
,
e
=
0
;
null
!=
(
c
=
d
[
e
]);
e
++
)
b
||
1
!==
c
.
nodeType
||
m
.
cleanData
(
ub
(
c
)),
c
.
parentNode
&&
(
b
&&
m
.
contains
(
c
.
ownerDocument
,
c
)
&&
zb
(
ub
(
c
,
"script"
)),
c
.
parentNode
.
removeChild
(
c
));
return
this
},
empty
:
function
(){
for
(
var
a
,
b
=
0
;
null
!=
(
a
=
this
[
b
]);
b
++
){
1
===
a
.
nodeType
&&
m
.
cleanData
(
ub
(
a
,
!
1
));
while
(
a
.
firstChild
)
a
.
removeChild
(
a
.
firstChild
);
a
.
options
&&
m
.
nodeName
(
a
,
"select"
)
&&
(
a
.
options
.
length
=
0
)}
return
this
},
clone
:
function
(
a
,
b
){
return
a
=
null
==
a
?
!
1
:
a
,
b
=
null
==
b
?
a
:
b
,
this
.
map
(
function
(){
return
m
.
clone
(
this
,
a
,
b
)})},
html
:
function
(
a
){
return
V
(
this
,
function
(
a
){
var
b
=
this
[
0
]
||
{},
c
=
0
,
d
=
this
.
length
;
if
(
void
0
===
a
)
return
1
===
b
.
nodeType
?
b
.
innerHTML
.
replace
(
fb
,
""
):
void
0
;
if
(
!
(
"string"
!=
typeof
a
||
mb
.
test
(
a
)
||!
k
.
htmlSerialize
&&
gb
.
test
(
a
)
||!
k
.
leadingWhitespace
&&
hb
.
test
(
a
)
||
rb
[(
jb
.
exec
(
a
)
||
[
""
,
""
])[
1
].
toLowerCase
()])){
a
=
a
.
replace
(
ib
,
"<$1></$2>"
);
try
{
for
(;
d
>
c
;
c
++
)
b
=
this
[
c
]
||
{},
1
===
b
.
nodeType
&&
(
m
.
cleanData
(
ub
(
b
,
!
1
)),
b
.
innerHTML
=
a
);
b
=
0
}
catch
(
e
){}}
b
&&
this
.
empty
().
append
(
a
)},
null
,
a
,
arguments
.
length
)},
replaceWith
:
function
(){
var
a
=
arguments
[
0
];
return
this
.
domManip
(
arguments
,
function
(
b
){
a
=
this
.
parentNode
,
m
.
cleanData
(
ub
(
this
)),
a
&&
a
.
replaceChild
(
b
,
this
)}),
a
&&
(
a
.
length
||
a
.
nodeType
)?
this
:
this
.
remove
()},
detach
:
function
(
a
){
return
this
.
remove
(
a
,
!
0
)},
domManip
:
function
(
a
,
b
){
a
=
e
.
apply
([],
a
);
var
c
,
d
,
f
,
g
,
h
,
i
,
j
=
0
,
l
=
this
.
length
,
n
=
this
,
o
=
l
-
1
,
p
=
a
[
0
],
q
=
m
.
isFunction
(
p
);
if
(
q
||
l
>
1
&&
"string"
==
typeof
p
&&!
k
.
checkClone
&&
nb
.
test
(
p
))
return
this
.
each
(
function
(
c
){
var
d
=
n
.
eq
(
c
);
q
&&
(
a
[
0
]
=
p
.
call
(
this
,
c
,
d
.
html
())),
d
.
domManip
(
a
,
b
)});
if
(
l
&&
(
i
=
m
.
buildFragment
(
a
,
this
[
0
].
ownerDocument
,
!
1
,
this
),
c
=
i
.
firstChild
,
1
===
i
.
childNodes
.
length
&&
(
i
=
c
),
c
)){
for
(
g
=
m
.
map
(
ub
(
i
,
"script"
),
xb
),
f
=
g
.
length
;
l
>
j
;
j
++
)
d
=
i
,
j
!==
o
&&
(
d
=
m
.
clone
(
d
,
!
0
,
!
0
),
f
&&
m
.
merge
(
g
,
ub
(
d
,
"script"
))),
b
.
call
(
this
[
j
],
d
,
j
);
if
(
f
)
for
(
h
=
g
[
g
.
length
-
1
].
ownerDocument
,
m
.
map
(
g
,
yb
),
j
=
0
;
f
>
j
;
j
++
)
d
=
g
[
j
],
ob
.
test
(
d
.
type
||
""
)
&&!
m
.
_data
(
d
,
"globalEval"
)
&&
m
.
contains
(
h
,
d
)
&&
(
d
.
src
?
m
.
_evalUrl
&&
m
.
_evalUrl
(
d
.
src
):
m
.
globalEval
((
d
.
text
||
d
.
textContent
||
d
.
innerHTML
||
""
).
replace
(
qb
,
""
)));
i
=
c
=
null
}
return
this
}}),
m
.
each
({
appendTo
:
"append"
,
prependTo
:
"prepend"
,
insertBefore
:
"before"
,
insertAfter
:
"after"
,
replaceAll
:
"replaceWith"
},
function
(
a
,
b
){
m
.
fn
[
a
]
=
function
(
a
){
for
(
var
c
,
d
=
0
,
e
=
[],
g
=
m
(
a
),
h
=
g
.
length
-
1
;
h
>=
d
;
d
++
)
c
=
d
===
h
?
this
:
this
.
clone
(
!
0
),
m
(
g
[
d
])[
b
](
c
),
f
.
apply
(
e
,
c
.
get
());
return
this
.
pushStack
(
e
)}});
var
Cb
,
Db
=
{};
function
Eb
(
b
,
c
){
var
d
,
e
=
m
(
c
.
createElement
(
b
)).
appendTo
(
c
.
body
),
f
=
a
.
getDefaultComputedStyle
&&
(
d
=
a
.
getDefaultComputedStyle
(
e
[
0
]))?
d
.
display
:
m
.
css
(
e
[
0
],
"display"
);
return
e
.
detach
(),
f
}
function
Fb
(
a
){
var
b
=
y
,
c
=
Db
[
a
];
return
c
||
(
c
=
Eb
(
a
,
b
),
"none"
!==
c
&&
c
||
(
Cb
=
(
Cb
||
m
(
"<iframe frameborder='0' width='0' height='0'/>"
)).
appendTo
(
b
.
documentElement
),
b
=
(
Cb
[
0
].
contentWindow
||
Cb
[
0
].
contentDocument
).
document
,
b
.
write
(),
b
.
close
(),
c
=
Eb
(
a
,
b
),
Cb
.
detach
()),
Db
[
a
]
=
c
),
c
}
!
function
(){
var
a
;
k
.
shrinkWrapBlocks
=
function
(){
if
(
null
!=
a
)
return
a
;
a
=!
1
;
var
b
,
c
,
d
;
return
c
=
y
.
getElementsByTagName
(
"body"
)[
0
],
c
&&
c
.
style
?(
b
=
y
.
createElement
(
"div"
),
d
=
y
.
createElement
(
"div"
),
d
.
style
.
cssText
=
"position:absolute;border:0;width:0;height:0;top:0;left:-9999px"
,
c
.
appendChild
(
d
).
appendChild
(
b
),
typeof
b
.
style
.
zoom
!==
K
&&
(
b
.
style
.
cssText
=
"-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1"
,
b
.
appendChild
(
y
.
createElement
(
"div"
)).
style
.
width
=
"5px"
,
a
=
3
!==
b
.
offsetWidth
),
c
.
removeChild
(
d
),
a
):
void
0
}}();
var
Gb
=
/^margin/
,
Hb
=
new
RegExp
(
"^("
+
S
+
")(?!px)[a-z%]+$"
,
"i"
),
Ib
,
Jb
,
Kb
=
/^
(
top|right|bottom|left
)
$/
;
a
.
getComputedStyle
?(
Ib
=
function
(
a
){
return
a
.
ownerDocument
.
defaultView
.
getComputedStyle
(
a
,
null
)},
Jb
=
function
(
a
,
b
,
c
){
var
d
,
e
,
f
,
g
,
h
=
a
.
style
;
return
c
=
c
||
Ib
(
a
),
g
=
c
?
c
.
getPropertyValue
(
b
)
||
c
[
b
]:
void
0
,
c
&&
(
""
!==
g
||
m
.
contains
(
a
.
ownerDocument
,
a
)
||
(
g
=
m
.
style
(
a
,
b
)),
Hb
.
test
(
g
)
&&
Gb
.
test
(
b
)
&&
(
d
=
h
.
width
,
e
=
h
.
minWidth
,
f
=
h
.
maxWidth
,
h
.
minWidth
=
h
.
maxWidth
=
h
.
width
=
g
,
g
=
c
.
width
,
h
.
width
=
d
,
h
.
minWidth
=
e
,
h
.
maxWidth
=
f
)),
void
0
===
g
?
g
:
g
+
""
}):
y
.
documentElement
.
currentStyle
&&
(
Ib
=
function
(
a
){
return
a
.
currentStyle
},
Jb
=
function
(
a
,
b
,
c
){
var
d
,
e
,
f
,
g
,
h
=
a
.
style
;
return
c
=
c
||
Ib
(
a
),
g
=
c
?
c
[
b
]:
void
0
,
null
==
g
&&
h
&&
h
[
b
]
&&
(
g
=
h
[
b
]),
Hb
.
test
(
g
)
&&!
Kb
.
test
(
b
)
&&
(
d
=
h
.
left
,
e
=
a
.
runtimeStyle
,
f
=
e
&&
e
.
left
,
f
&&
(
e
.
left
=
a
.
currentStyle
.
left
),
h
.
left
=
"fontSize"
===
b
?
"1em"
:
g
,
g
=
h
.
pixelLeft
+
"px"
,
h
.
left
=
d
,
f
&&
(
e
.
left
=
f
)),
void
0
===
g
?
g
:
g
+
""
||
"auto"
});
function
Lb
(
a
,
b
){
return
{
get
:
function
(){
var
c
=
a
();
if
(
null
!=
c
)
return
c
?
void
delete
this
.
get
:(
this
.
get
=
b
).
apply
(
this
,
arguments
)}}}
!
function
(){
var
b
,
c
,
d
,
e
,
f
,
g
,
h
;
if
(
b
=
y
.
createElement
(
"div"
),
b
.
innerHTML
=
" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>"
,
d
=
b
.
getElementsByTagName
(
"a"
)[
0
],
c
=
d
&&
d
.
style
){
c
.
cssText
=
"float:left;opacity:.5"
,
k
.
opacity
=
"0.5"
===
c
.
opacity
,
k
.
cssFloat
=!!
c
.
cssFloat
,
b
.
style
.
backgroundClip
=
"content-box"
,
b
.
cloneNode
(
!
0
).
style
.
backgroundClip
=
""
,
k
.
clearCloneStyle
=
"content-box"
===
b
.
style
.
backgroundClip
,
k
.
boxSizing
=
""
===
c
.
boxSizing
||
""
===
c
.
MozBoxSizing
||
""
===
c
.
WebkitBoxSizing
,
m
.
extend
(
k
,{
reliableHiddenOffsets
:
function
(){
return
null
==
g
&&
i
(),
g
},
boxSizingReliable
:
function
(){
return
null
==
f
&&
i
(),
f
},
pixelPosition
:
function
(){
return
null
==
e
&&
i
(),
e
},
reliableMarginRight
:
function
(){
return
null
==
h
&&
i
(),
h
}});
function
i
(){
var
b
,
c
,
d
,
i
;
c
=
y
.
getElementsByTagName
(
"body"
)[
0
],
c
&&
c
.
style
&&
(
b
=
y
.
createElement
(
"div"
),
d
=
y
.
createElement
(
"div"
),
d
.
style
.
cssText
=
"position:absolute;border:0;width:0;height:0;top:0;left:-9999px"
,
c
.
appendChild
(
d
).
appendChild
(
b
),
b
.
style
.
cssText
=
"-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute"
,
e
=
f
=!
1
,
h
=!
0
,
a
.
getComputedStyle
&&
(
e
=
"1%"
!==
(
a
.
getComputedStyle
(
b
,
null
)
||
{}).
top
,
f
=
"4px"
===
(
a
.
getComputedStyle
(
b
,
null
)
||
{
width
:
"4px"
}).
width
,
i
=
b
.
appendChild
(
y
.
createElement
(
"div"
)),
i
.
style
.
cssText
=
b
.
style
.
cssText
=
"-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0"
,
i
.
style
.
marginRight
=
i
.
style
.
width
=
"0"
,
b
.
style
.
width
=
"1px"
,
h
=!
parseFloat
((
a
.
getComputedStyle
(
i
,
null
)
||
{}).
marginRight
)),
b
.
innerHTML
=
"<table><tr><td></td><td>t</td></tr></table>"
,
i
=
b
.
getElementsByTagName
(
"td"
),
i
[
0
].
style
.
cssText
=
"margin:0;border:0;padding:0;display:none"
,
g
=
0
===
i
[
0
].
offsetHeight
,
g
&&
(
i
[
0
].
style
.
display
=
""
,
i
[
1
].
style
.
display
=
"none"
,
g
=
0
===
i
[
0
].
offsetHeight
),
c
.
removeChild
(
d
))}}}(),
m
.
swap
=
function
(
a
,
b
,
c
,
d
){
var
e
,
f
,
g
=
{};
for
(
f
in
b
)
g
[
f
]
=
a
.
style
[
f
],
a
.
style
[
f
]
=
b
[
f
];
e
=
c
.
apply
(
a
,
d
||
[]);
for
(
f
in
b
)
a
.
style
[
f
]
=
g
[
f
];
return
e
};
var
Mb
=
/alpha
\([^
)
]
*
\)
/i
,
Nb
=
/opacity
\s
*=
\s
*
([^
)
]
*
)
/
,
Ob
=
/^
(
none|table
(?!
-c
[
ea
])
.+
)
/
,
Pb
=
new
RegExp
(
"^("
+
S
+
")(.*)$"
,
"i"
),
Qb
=
new
RegExp
(
"^([+-])=("
+
S
+
")"
,
"i"
),
Rb
=
{
position
:
"absolute"
,
visibility
:
"hidden"
,
display
:
"block"
},
Sb
=
{
letterSpacing
:
"0"
,
fontWeight
:
"400"
},
Tb
=
[
"Webkit"
,
"O"
,
"Moz"
,
"ms"
];
function
Ub
(
a
,
b
){
if
(
b
in
a
)
return
b
;
var
c
=
b
.
charAt
(
0
).
toUpperCase
()
+
b
.
slice
(
1
),
d
=
b
,
e
=
Tb
.
length
;
while
(
e
--
)
if
(
b
=
Tb
[
e
]
+
c
,
b
in
a
)
return
b
;
return
d
}
function
Vb
(
a
,
b
){
for
(
var
c
,
d
,
e
,
f
=
[],
g
=
0
,
h
=
a
.
length
;
h
>
g
;
g
++
)
d
=
a
[
g
],
d
.
style
&&
(
f
[
g
]
=
m
.
_data
(
d
,
"olddisplay"
),
c
=
d
.
style
.
display
,
b
?(
f
[
g
]
||
"none"
!==
c
||
(
d
.
style
.
display
=
""
),
""
===
d
.
style
.
display
&&
U
(
d
)
&&
(
f
[
g
]
=
m
.
_data
(
d
,
"olddisplay"
,
Fb
(
d
.
nodeName
)))):(
e
=
U
(
d
),(
c
&&
"none"
!==
c
||!
e
)
&&
m
.
_data
(
d
,
"olddisplay"
,
e
?
c
:
m
.
css
(
d
,
"display"
))));
for
(
g
=
0
;
h
>
g
;
g
++
)
d
=
a
[
g
],
d
.
style
&&
(
b
&&
"none"
!==
d
.
style
.
display
&&
""
!==
d
.
style
.
display
||
(
d
.
style
.
display
=
b
?
f
[
g
]
||
""
:
"none"
));
return
a
}
function
Wb
(
a
,
b
,
c
){
var
d
=
Pb
.
exec
(
b
);
return
d
?
Math
.
max
(
0
,
d
[
1
]
-
(
c
||
0
))
+
(
d
[
2
]
||
"px"
):
b
}
function
Xb
(
a
,
b
,
c
,
d
,
e
){
for
(
var
f
=
c
===
(
d
?
"border"
:
"content"
)?
4
:
"width"
===
b
?
1
:
0
,
g
=
0
;
4
>
f
;
f
+=
2
)
"margin"
===
c
&&
(
g
+=
m
.
css
(
a
,
c
+
T
[
f
],
!
0
,
e
)),
d
?(
"content"
===
c
&&
(
g
-=
m
.
css
(
a
,
"padding"
+
T
[
f
],
!
0
,
e
)),
"margin"
!==
c
&&
(
g
-=
m
.
css
(
a
,
"border"
+
T
[
f
]
+
"Width"
,
!
0
,
e
))):(
g
+=
m
.
css
(
a
,
"padding"
+
T
[
f
],
!
0
,
e
),
"padding"
!==
c
&&
(
g
+=
m
.
css
(
a
,
"border"
+
T
[
f
]
+
"Width"
,
!
0
,
e
)));
return
g
}
function
Yb
(
a
,
b
,
c
){
var
d
=!
0
,
e
=
"width"
===
b
?
a
.
offsetWidth
:
a
.
offsetHeight
,
f
=
Ib
(
a
),
g
=
k
.
boxSizing
&&
"border-box"
===
m
.
css
(
a
,
"boxSizing"
,
!
1
,
f
);
if
(
0
>=
e
||
null
==
e
){
if
(
e
=
Jb
(
a
,
b
,
f
),(
0
>
e
||
null
==
e
)
&&
(
e
=
a
.
style
[
b
]),
Hb
.
test
(
e
))
return
e
;
d
=
g
&&
(
k
.
boxSizingReliable
()
||
e
===
a
.
style
[
b
]),
e
=
parseFloat
(
e
)
||
0
}
return
e
+
Xb
(
a
,
b
,
c
||
(
g
?
"border"
:
"content"
),
d
,
f
)
+
"px"
}
m
.
extend
({
cssHooks
:{
opacity
:{
get
:
function
(
a
,
b
){
if
(
b
){
var
c
=
Jb
(
a
,
"opacity"
);
return
""
===
c
?
"1"
:
c
}}}},
cssNumber
:{
columnCount
:
!
0
,
fillOpacity
:
!
0
,
flexGrow
:
!
0
,
flexShrink
:
!
0
,
fontWeight
:
!
0
,
lineHeight
:
!
0
,
opacity
:
!
0
,
order
:
!
0
,
orphans
:
!
0
,
widows
:
!
0
,
zIndex
:
!
0
,
zoom
:
!
0
},
cssProps
:{
"float"
:
k
.
cssFloat
?
"cssFloat"
:
"styleFloat"
},
style
:
function
(
a
,
b
,
c
,
d
){
if
(
a
&&
3
!==
a
.
nodeType
&&
8
!==
a
.
nodeType
&&
a
.
style
){
var
e
,
f
,
g
,
h
=
m
.
camelCase
(
b
),
i
=
a
.
style
;
if
(
b
=
m
.
cssProps
[
h
]
||
(
m
.
cssProps
[
h
]
=
Ub
(
i
,
h
)),
g
=
m
.
cssHooks
[
b
]
||
m
.
cssHooks
[
h
],
void
0
===
c
)
return
g
&&
"get"
in
g
&&
void
0
!==
(
e
=
g
.
get
(
a
,
!
1
,
d
))?
e
:
i
[
b
];
if
(
f
=
typeof
c
,
"string"
===
f
&&
(
e
=
Qb
.
exec
(
c
))
&&
(
c
=
(
e
[
1
]
+
1
)
*
e
[
2
]
+
parseFloat
(
m
.
css
(
a
,
b
)),
f
=
"number"
),
null
!=
c
&&
c
===
c
&&
(
"number"
!==
f
||
m
.
cssNumber
[
h
]
||
(
c
+=
"px"
),
k
.
clearCloneStyle
||
""
!==
c
||
0
!==
b
.
indexOf
(
"background"
)
||
(
i
[
b
]
=
"inherit"
),
!
(
g
&&
"set"
in
g
&&
void
0
===
(
c
=
g
.
set
(
a
,
c
,
d
)))))
try
{
i
[
b
]
=
c
}
catch
(
j
){}}},
css
:
function
(
a
,
b
,
c
,
d
){
var
e
,
f
,
g
,
h
=
m
.
camelCase
(
b
);
return
b
=
m
.
cssProps
[
h
]
||
(
m
.
cssProps
[
h
]
=
Ub
(
a
.
style
,
h
)),
g
=
m
.
cssHooks
[
b
]
||
m
.
cssHooks
[
h
],
g
&&
"get"
in
g
&&
(
f
=
g
.
get
(
a
,
!
0
,
c
)),
void
0
===
f
&&
(
f
=
Jb
(
a
,
b
,
d
)),
"normal"
===
f
&&
b
in
Sb
&&
(
f
=
Sb
[
b
]),
""
===
c
||
c
?(
e
=
parseFloat
(
f
),
c
===!
0
||
m
.
isNumeric
(
e
)?
e
||
0
:
f
):
f
}}),
m
.
each
([
"height"
,
"width"
],
function
(
a
,
b
){
m
.
cssHooks
[
b
]
=
{
get
:
function
(
a
,
c
,
d
){
return
c
?
Ob
.
test
(
m
.
css
(
a
,
"display"
))
&&
0
===
a
.
offsetWidth
?
m
.
swap
(
a
,
Rb
,
function
(){
return
Yb
(
a
,
b
,
d
)}):
Yb
(
a
,
b
,
d
):
void
0
},
set
:
function
(
a
,
c
,
d
){
var
e
=
d
&&
Ib
(
a
);
return
Wb
(
a
,
c
,
d
?
Xb
(
a
,
b
,
d
,
k
.
boxSizing
&&
"border-box"
===
m
.
css
(
a
,
"boxSizing"
,
!
1
,
e
),
e
):
0
)}}}),
k
.
opacity
||
(
m
.
cssHooks
.
opacity
=
{
get
:
function
(
a
,
b
){
return
Nb
.
test
((
b
&&
a
.
currentStyle
?
a
.
currentStyle
.
filter
:
a
.
style
.
filter
)
||
""
)?.
01
*
parseFloat
(
RegExp
.
$1
)
+
""
:
b
?
"1"
:
""
},
set
:
function
(
a
,
b
){
var
c
=
a
.
style
,
d
=
a
.
currentStyle
,
e
=
m
.
isNumeric
(
b
)?
"alpha(opacity="
+
100
*
b
+
")"
:
""
,
f
=
d
&&
d
.
filter
||
c
.
filter
||
""
;
c
.
zoom
=
1
,(
b
>=
1
||
""
===
b
)
&&
""
===
m
.
trim
(
f
.
replace
(
Mb
,
""
))
&&
c
.
removeAttribute
&&
(
c
.
removeAttribute
(
"filter"
),
""
===
b
||
d
&&!
d
.
filter
)
||
(
c
.
filter
=
Mb
.
test
(
f
)?
f
.
replace
(
Mb
,
e
):
f
+
" "
+
e
)}}),
m
.
cssHooks
.
marginRight
=
Lb
(
k
.
reliableMarginRight
,
function
(
a
,
b
){
return
b
?
m
.
swap
(
a
,{
display
:
"inline-block"
},
Jb
,[
a
,
"marginRight"
]):
void
0
}),
m
.
each
({
margin
:
""
,
padding
:
""
,
border
:
"Width"
},
function
(
a
,
b
){
m
.
cssHooks
[
a
+
b
]
=
{
expand
:
function
(
c
){
for
(
var
d
=
0
,
e
=
{},
f
=
"string"
==
typeof
c
?
c
.
split
(
" "
):[
c
];
4
>
d
;
d
++
)
e
[
a
+
T
[
d
]
+
b
]
=
f
[
d
]
||
f
[
d
-
2
]
||
f
[
0
];
return
e
}},
Gb
.
test
(
a
)
||
(
m
.
cssHooks
[
a
+
b
].
set
=
Wb
)}),
m
.
fn
.
extend
({
css
:
function
(
a
,
b
){
return
V
(
this
,
function
(
a
,
b
,
c
){
var
d
,
e
,
f
=
{},
g
=
0
;
if
(
m
.
isArray
(
b
)){
for
(
d
=
Ib
(
a
),
e
=
b
.
length
;
e
>
g
;
g
++
)
f
[
b
[
g
]]
=
m
.
css
(
a
,
b
[
g
],
!
1
,
d
);
return
f
}
return
void
0
!==
c
?
m
.
style
(
a
,
b
,
c
):
m
.
css
(
a
,
b
)},
a
,
b
,
arguments
.
length
>
1
)},
show
:
function
(){
return
Vb
(
this
,
!
0
)},
hide
:
function
(){
return
Vb
(
this
)},
toggle
:
function
(
a
){
return
"boolean"
==
typeof
a
?
a
?
this
.
show
():
this
.
hide
():
this
.
each
(
function
(){
U
(
this
)?
m
(
this
).
show
():
m
(
this
).
hide
()})}});
function
Zb
(
a
,
b
,
c
,
d
,
e
){
return
new
Zb
.
prototype
.
init
(
a
,
b
,
c
,
d
,
e
)}
m
.
Tween
=
Zb
,
Zb
.
prototype
=
{
constructor
:
Zb
,
init
:
function
(
a
,
b
,
c
,
d
,
e
,
f
){
this
.
elem
=
a
,
this
.
prop
=
c
,
this
.
easing
=
e
||
"swing"
,
this
.
options
=
b
,
this
.
start
=
this
.
now
=
this
.
cur
(),
this
.
end
=
d
,
this
.
unit
=
f
||
(
m
.
cssNumber
[
c
]?
""
:
"px"
)
if
(
k
&&
j
[
k
]
&&
(
e
||
j
[
k
].
data
)
||
void
0
!==
d
||
"string"
!=
typeof
b
)
return
k
||
(
k
=
i
?
a
[
h
]
=
c
.
pop
()
||
m
.
guid
++
:
h
),
j
[
k
]
||
(
j
[
k
]
=
i
?{}:{
toJSON
:
m
.
noop
}),(
"object"
==
typeof
b
||
"function"
==
typeof
b
)
&&
(
e
?
j
[
k
]
=
m
.
extend
(
j
[
k
],
b
):
j
[
k
].
data
=
m
.
extend
(
j
[
k
].
data
,
b
)),
g
=
j
[
k
],
e
||
(
g
.
data
||
(
g
.
data
=
{}),
g
=
g
.
data
),
void
0
!==
d
&&
(
g
[
m
.
camelCase
(
b
)]
=
d
),
"string"
==
typeof
b
?(
f
=
g
[
b
],
null
==
f
&&
(
f
=
g
[
m
.
camelCase
(
b
)])):
f
=
g
,
f
}}
function
R
(
a
,
b
,
c
){
if
(
m
.
acceptData
(
a
)){
var
d
,
e
,
f
=
a
.
nodeType
,
g
=
f
?
m
.
cache
:
a
,
h
=
f
?
a
[
m
.
expando
]:
m
.
expando
;
if
(
g
[
h
]){
if
(
b
&&
(
d
=
c
?
g
[
h
]:
g
[
h
].
data
)){
m
.
isArray
(
b
)?
b
=
b
.
concat
(
m
.
map
(
b
,
m
.
camelCase
)):
b
in
d
?
b
=
[
b
]:(
b
=
m
.
camelCase
(
b
),
b
=
b
in
d
?[
b
]:
b
.
split
(
" "
)),
e
=
b
.
length
;
while
(
e
--
)
delete
d
[
b
[
e
]];
if
(
c
?
!
P
(
d
):
!
m
.
isEmptyObject
(
d
))
return
}(
c
||
(
delete
g
[
h
].
data
,
P
(
g
[
h
])))
&&
(
f
?
m
.
cleanData
([
a
],
!
0
):
k
.
deleteExpando
||
g
!=
g
.
window
?
delete
g
[
h
]:
g
[
h
]
=
null
)}}}
m
.
extend
({
cache
:{},
noData
:{
"applet "
:
!
0
,
"embed "
:
!
0
,
"object "
:
"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
},
hasData
:
function
(
a
){
return
a
=
a
.
nodeType
?
m
.
cache
[
a
[
m
.
expando
]]:
a
[
m
.
expando
],
!!
a
&&!
P
(
a
)},
data
:
function
(
a
,
b
,
c
){
return
Q
(
a
,
b
,
c
)},
removeData
:
function
(
a
,
b
){
return
R
(
a
,
b
)},
_data
:
function
(
a
,
b
,
c
){
return
Q
(
a
,
b
,
c
,
!
0
)},
_removeData
:
function
(
a
,
b
){
return
R
(
a
,
b
,
!
0
)}}),
m
.
fn
.
extend
({
data
:
function
(
a
,
b
){
var
c
,
d
,
e
,
f
=
this
[
0
],
g
=
f
&&
f
.
attributes
;
if
(
void
0
===
a
){
if
(
this
.
length
&&
(
e
=
m
.
data
(
f
),
1
===
f
.
nodeType
&&!
m
.
_data
(
f
,
"parsedAttrs"
))){
c
=
g
.
length
;
while
(
c
--
)
g
[
c
]
&&
(
d
=
g
[
c
].
name
,
0
===
d
.
indexOf
(
"data-"
)
&&
(
d
=
m
.
camelCase
(
d
.
slice
(
5
)),
O
(
f
,
d
,
e
[
d
])));
m
.
_data
(
f
,
"parsedAttrs"
,
!
0
)}
return
e
}
return
"object"
==
typeof
a
?
this
.
each
(
function
(){
m
.
data
(
this
,
a
)}):
arguments
.
length
>
1
?
this
.
each
(
function
(){
m
.
data
(
this
,
a
,
b
)}):
f
?
O
(
f
,
a
,
m
.
data
(
f
,
a
)):
void
0
},
removeData
:
function
(
a
){
return
this
.
each
(
function
(){
m
.
removeData
(
this
,
a
)})}}),
m
.
extend
({
queue
:
function
(
a
,
b
,
c
){
var
d
;
return
a
?(
b
=
(
b
||
"fx"
)
+
"queue"
,
d
=
m
.
_data
(
a
,
b
),
c
&&
(
!
d
||
m
.
isArray
(
c
)?
d
=
m
.
_data
(
a
,
b
,
m
.
makeArray
(
c
)):
d
.
push
(
c
)),
d
||
[]):
void
0
},
dequeue
:
function
(
a
,
b
){
b
=
b
||
"fx"
;
var
c
=
m
.
queue
(
a
,
b
),
d
=
c
.
length
,
e
=
c
.
shift
(),
f
=
m
.
_queueHooks
(
a
,
b
),
g
=
function
(){
m
.
dequeue
(
a
,
b
)};
"inprogress"
===
e
&&
(
e
=
c
.
shift
(),
d
--
),
e
&&
(
"fx"
===
b
&&
c
.
unshift
(
"inprogress"
),
delete
f
.
stop
,
e
.
call
(
a
,
g
,
f
)),
!
d
&&
f
&&
f
.
empty
.
fire
()},
_queueHooks
:
function
(
a
,
b
){
var
c
=
b
+
"queueHooks"
;
return
m
.
_data
(
a
,
c
)
||
m
.
_data
(
a
,
c
,{
empty
:
m
.
Callbacks
(
"once memory"
).
add
(
function
(){
m
.
_removeData
(
a
,
b
+
"queue"
),
m
.
_removeData
(
a
,
c
)})})}}),
m
.
fn
.
extend
({
queue
:
function
(
a
,
b
){
var
c
=
2
;
return
"string"
!=
typeof
a
&&
(
b
=
a
,
a
=
"fx"
,
c
--
),
arguments
.
length
<
c
?
m
.
queue
(
this
[
0
],
a
):
void
0
===
b
?
this
:
this
.
each
(
function
(){
var
c
=
m
.
queue
(
this
,
a
,
b
);
m
.
_queueHooks
(
this
,
a
),
"fx"
===
a
&&
"inprogress"
!==
c
[
0
]
&&
m
.
dequeue
(
this
,
a
)})},
dequeue
:
function
(
a
){
return
this
.
each
(
function
(){
m
.
dequeue
(
this
,
a
)})},
clearQueue
:
function
(
a
){
return
this
.
queue
(
a
||
"fx"
,[])},
promise
:
function
(
a
,
b
){
var
c
,
d
=
1
,
e
=
m
.
Deferred
(),
f
=
this
,
g
=
this
.
length
,
h
=
function
(){
--
d
||
e
.
resolveWith
(
f
,[
f
])};
"string"
!=
typeof
a
&&
(
b
=
a
,
a
=
void
0
),
a
=
a
||
"fx"
;
while
(
g
--
)
c
=
m
.
_data
(
f
[
g
],
a
+
"queueHooks"
),
c
&&
c
.
empty
&&
(
d
++
,
c
.
empty
.
add
(
h
));
return
h
(),
e
.
promise
(
b
)}});
var
S
=
/
[
+-
]?(?:\d
*
\.
|
)\d
+
(?:[
eE
][
+-
]?\d
+|
)
/
.
source
,
T
=
[
"Top"
,
"Right"
,
"Bottom"
,
"Left"
],
U
=
function
(
a
,
b
){
return
a
=
b
||
a
,
"none"
===
m
.
css
(
a
,
"display"
)
||!
m
.
contains
(
a
.
ownerDocument
,
a
)},
V
=
m
.
access
=
function
(
a
,
b
,
c
,
d
,
e
,
f
,
g
){
var
h
=
0
,
i
=
a
.
length
,
j
=
null
==
c
;
if
(
"object"
===
m
.
type
(
c
)){
e
=!
0
;
for
(
h
in
c
)
m
.
access
(
a
,
b
,
h
,
c
[
h
],
!
0
,
f
,
g
)}
else
if
(
void
0
!==
d
&&
(
e
=!
0
,
m
.
isFunction
(
d
)
||
(
g
=!
0
),
j
&&
(
g
?(
b
.
call
(
a
,
d
),
b
=
null
):(
j
=
b
,
b
=
function
(
a
,
b
,
c
){
return
j
.
call
(
m
(
a
),
c
)})),
b
))
for
(;
i
>
h
;
h
++
)
b
(
a
[
h
],
c
,
g
?
d
:
d
.
call
(
a
[
h
],
h
,
b
(
a
[
h
],
c
)));
return
e
?
a
:
j
?
b
.
call
(
a
):
i
?
b
(
a
[
0
],
c
):
f
},
W
=
/^
(?:
checkbox|radio
)
$/i
;
!
function
(){
var
a
=
y
.
createElement
(
"input"
),
b
=
y
.
createElement
(
"div"
),
c
=
y
.
createDocumentFragment
();
if
(
b
.
innerHTML
=
" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>"
,
k
.
leadingWhitespace
=
3
===
b
.
firstChild
.
nodeType
,
k
.
tbody
=!
b
.
getElementsByTagName
(
"tbody"
).
length
,
k
.
htmlSerialize
=!!
b
.
getElementsByTagName
(
"link"
).
length
,
k
.
html5Clone
=
"<:nav></:nav>"
!==
y
.
createElement
(
"nav"
).
cloneNode
(
!
0
).
outerHTML
,
a
.
type
=
"checkbox"
,
a
.
checked
=!
0
,
c
.
appendChild
(
a
),
k
.
appendChecked
=
a
.
checked
,
b
.
innerHTML
=
"<textarea>x</textarea>"
,
k
.
noCloneChecked
=!!
b
.
cloneNode
(
!
0
).
lastChild
.
defaultValue
,
c
.
appendChild
(
b
),
b
.
innerHTML
=
"<input type='radio' checked='checked' name='t'/>"
,
k
.
checkClone
=
b
.
cloneNode
(
!
0
).
cloneNode
(
!
0
).
lastChild
.
checked
,
k
.
noCloneEvent
=!
0
,
b
.
attachEvent
&&
(
b
.
attachEvent
(
"onclick"
,
function
(){
k
.
noCloneEvent
=!
1
}),
b
.
cloneNode
(
!
0
).
click
()),
null
==
k
.
deleteExpando
){
k
.
deleteExpando
=!
0
;
try
{
delete
b
.
test
}
catch
(
d
){
k
.
deleteExpando
=!
1
}}}(),
function
(){
var
b
,
c
,
d
=
y
.
createElement
(
"div"
);
for
(
b
in
{
submit
:
!
0
,
change
:
!
0
,
focusin
:
!
0
})
c
=
"on"
+
b
,(
k
[
b
+
"Bubbles"
]
=
c
in
a
)
||
(
d
.
setAttribute
(
c
,
"t"
),
k
[
b
+
"Bubbles"
]
=
d
.
attributes
[
c
].
expando
===!
1
);
d
=
null
}();
var
X
=
/^
(?:
input|select|textarea
)
$/i
,
Y
=
/^key/
,
Z
=
/^
(?:
mouse|pointer|contextmenu
)
|click/
,
$
=
/^
(?:
focusinfocus|focusoutblur
)
$/
,
_
=
/^
([^
.
]
*
)(?:\.(
.+
)
|
)
$/
;
function
ab
(){
return
!
0
}
function
bb
(){
return
!
1
}
function
cb
(){
try
{
return
y
.
activeElement
}
catch
(
a
){}}
m
.
event
=
{
global
:{},
add
:
function
(
a
,
b
,
c
,
d
,
e
){
var
f
,
g
,
h
,
i
,
j
,
k
,
l
,
n
,
o
,
p
,
q
,
r
=
m
.
_data
(
a
);
if
(
r
){
c
.
handler
&&
(
i
=
c
,
c
=
i
.
handler
,
e
=
i
.
selector
),
c
.
guid
||
(
c
.
guid
=
m
.
guid
++
),(
g
=
r
.
events
)
||
(
g
=
r
.
events
=
{}),(
k
=
r
.
handle
)
||
(
k
=
r
.
handle
=
function
(
a
){
return
typeof
m
===
K
||
a
&&
m
.
event
.
triggered
===
a
.
type
?
void
0
:
m
.
event
.
dispatch
.
apply
(
k
.
elem
,
arguments
)},
k
.
elem
=
a
),
b
=
(
b
||
""
).
match
(
E
)
||
[
""
],
h
=
b
.
length
;
while
(
h
--
)
f
=
_
.
exec
(
b
[
h
])
||
[],
o
=
q
=
f
[
1
],
p
=
(
f
[
2
]
||
""
).
split
(
"."
).
sort
(),
o
&&
(
j
=
m
.
event
.
special
[
o
]
||
{},
o
=
(
e
?
j
.
delegateType
:
j
.
bindType
)
||
o
,
j
=
m
.
event
.
special
[
o
]
||
{},
l
=
m
.
extend
({
type
:
o
,
origType
:
q
,
data
:
d
,
handler
:
c
,
guid
:
c
.
guid
,
selector
:
e
,
needsContext
:
e
&&
m
.
expr
.
match
.
needsContext
.
test
(
e
),
namespace
:
p
.
join
(
"."
)},
i
),(
n
=
g
[
o
])
||
(
n
=
g
[
o
]
=
[],
n
.
delegateCount
=
0
,
j
.
setup
&&
j
.
setup
.
call
(
a
,
d
,
p
,
k
)
!==!
1
||
(
a
.
addEventListener
?
a
.
addEventListener
(
o
,
k
,
!
1
):
a
.
attachEvent
&&
a
.
attachEvent
(
"on"
+
o
,
k
))),
j
.
add
&&
(
j
.
add
.
call
(
a
,
l
),
l
.
handler
.
guid
||
(
l
.
handler
.
guid
=
c
.
guid
)),
e
?
n
.
splice
(
n
.
delegateCount
++
,
0
,
l
):
n
.
push
(
l
),
m
.
event
.
global
[
o
]
=!
0
);
a
=
null
}},
remove
:
function
(
a
,
b
,
c
,
d
,
e
){
var
f
,
g
,
h
,
i
,
j
,
k
,
l
,
n
,
o
,
p
,
q
,
r
=
m
.
hasData
(
a
)
&&
m
.
_data
(
a
);
if
(
r
&&
(
k
=
r
.
events
)){
b
=
(
b
||
""
).
match
(
E
)
||
[
""
],
j
=
b
.
length
;
while
(
j
--
)
if
(
h
=
_
.
exec
(
b
[
j
])
||
[],
o
=
q
=
h
[
1
],
p
=
(
h
[
2
]
||
""
).
split
(
"."
).
sort
(),
o
){
l
=
m
.
event
.
special
[
o
]
||
{},
o
=
(
d
?
l
.
delegateType
:
l
.
bindType
)
||
o
,
n
=
k
[
o
]
||
[],
h
=
h
[
2
]
&&
new
RegExp
(
"(^|
\\
.)"
+
p
.
join
(
"
\\
.(?:.*
\\
.|)"
)
+
"(
\\
.|$)"
),
i
=
f
=
n
.
length
;
while
(
f
--
)
g
=
n
[
f
],
!
e
&&
q
!==
g
.
origType
||
c
&&
c
.
guid
!==
g
.
guid
||
h
&&!
h
.
test
(
g
.
namespace
)
||
d
&&
d
!==
g
.
selector
&&
(
"**"
!==
d
||!
g
.
selector
)
||
(
n
.
splice
(
f
,
1
),
g
.
selector
&&
n
.
delegateCount
--
,
l
.
remove
&&
l
.
remove
.
call
(
a
,
g
));
i
&&!
n
.
length
&&
(
l
.
teardown
&&
l
.
teardown
.
call
(
a
,
p
,
r
.
handle
)
!==!
1
||
m
.
removeEvent
(
a
,
o
,
r
.
handle
),
delete
k
[
o
])}
else
for
(
o
in
k
)
m
.
event
.
remove
(
a
,
o
+
b
[
j
],
c
,
d
,
!
0
);
m
.
isEmptyObject
(
k
)
&&
(
delete
r
.
handle
,
m
.
_removeData
(
a
,
"events"
))}},
trigger
:
function
(
b
,
c
,
d
,
e
){
var
f
,
g
,
h
,
i
,
k
,
l
,
n
,
o
=
[
d
||
y
],
p
=
j
.
call
(
b
,
"type"
)?
b
.
type
:
b
,
q
=
j
.
call
(
b
,
"namespace"
)?
b
.
namespace
.
split
(
"."
):[];
if
(
h
=
l
=
d
=
d
||
y
,
3
!==
d
.
nodeType
&&
8
!==
d
.
nodeType
&&!
$
.
test
(
p
+
m
.
event
.
triggered
)
&&
(
p
.
indexOf
(
"."
)
>=
0
&&
(
q
=
p
.
split
(
"."
),
p
=
q
.
shift
(),
q
.
sort
()),
g
=
p
.
indexOf
(
":"
)
<
0
&&
"on"
+
p
,
b
=
b
[
m
.
expando
]?
b
:
new
m
.
Event
(
p
,
"object"
==
typeof
b
&&
b
),
b
.
isTrigger
=
e
?
2
:
3
,
b
.
namespace
=
q
.
join
(
"."
),
b
.
namespace_re
=
b
.
namespace
?
new
RegExp
(
"(^|
\\
.)"
+
q
.
join
(
"
\\
.(?:.*
\\
.|)"
)
+
"(
\\
.|$)"
):
null
,
b
.
result
=
void
0
,
b
.
target
||
(
b
.
target
=
d
),
c
=
null
==
c
?[
b
]:
m
.
makeArray
(
c
,[
b
]),
k
=
m
.
event
.
special
[
p
]
||
{},
e
||!
k
.
trigger
||
k
.
trigger
.
apply
(
d
,
c
)
!==!
1
)){
if
(
!
e
&&!
k
.
noBubble
&&!
m
.
isWindow
(
d
)){
for
(
i
=
k
.
delegateType
||
p
,
$
.
test
(
i
+
p
)
||
(
h
=
h
.
parentNode
);
h
;
h
=
h
.
parentNode
)
o
.
push
(
h
),
l
=
h
;
l
===
(
d
.
ownerDocument
||
y
)
&&
o
.
push
(
l
.
defaultView
||
l
.
parentWindow
||
a
)}
n
=
0
;
while
((
h
=
o
[
n
++
])
&&!
b
.
isPropagationStopped
())
b
.
type
=
n
>
1
?
i
:
k
.
bindType
||
p
,
f
=
(
m
.
_data
(
h
,
"events"
)
||
{})[
b
.
type
]
&&
m
.
_data
(
h
,
"handle"
),
f
&&
f
.
apply
(
h
,
c
),
f
=
g
&&
h
[
g
],
f
&&
f
.
apply
&&
m
.
acceptData
(
h
)
&&
(
b
.
result
=
f
.
apply
(
h
,
c
),
b
.
result
===!
1
&&
b
.
preventDefault
());
if
(
b
.
type
=
p
,
!
e
&&!
b
.
isDefaultPrevented
()
&&
(
!
k
.
_default
||
k
.
_default
.
apply
(
o
.
pop
(),
c
)
===!
1
)
&&
m
.
acceptData
(
d
)
&&
g
&&
d
[
p
]
&&!
m
.
isWindow
(
d
)){
l
=
d
[
g
],
l
&&
(
d
[
g
]
=
null
),
m
.
event
.
triggered
=
p
;
try
{
d
[
p
]()}
catch
(
r
){}
m
.
event
.
triggered
=
void
0
,
l
&&
(
d
[
g
]
=
l
)}
return
b
.
result
}},
dispatch
:
function
(
a
){
a
=
m
.
event
.
fix
(
a
);
var
b
,
c
,
e
,
f
,
g
,
h
=
[],
i
=
d
.
call
(
arguments
),
j
=
(
m
.
_data
(
this
,
"events"
)
||
{})[
a
.
type
]
||
[],
k
=
m
.
event
.
special
[
a
.
type
]
||
{};
if
(
i
[
0
]
=
a
,
a
.
delegateTarget
=
this
,
!
k
.
preDispatch
||
k
.
preDispatch
.
call
(
this
,
a
)
!==!
1
){
h
=
m
.
event
.
handlers
.
call
(
this
,
a
,
j
),
b
=
0
;
while
((
f
=
h
[
b
++
])
&&!
a
.
isPropagationStopped
()){
a
.
currentTarget
=
f
.
elem
,
g
=
0
;
while
((
e
=
f
.
handlers
[
g
++
])
&&!
a
.
isImmediatePropagationStopped
())(
!
a
.
namespace_re
||
a
.
namespace_re
.
test
(
e
.
namespace
))
&&
(
a
.
handleObj
=
e
,
a
.
data
=
e
.
data
,
c
=
((
m
.
event
.
special
[
e
.
origType
]
||
{}).
handle
||
e
.
handler
).
apply
(
f
.
elem
,
i
),
void
0
!==
c
&&
(
a
.
result
=
c
)
===!
1
&&
(
a
.
preventDefault
(),
a
.
stopPropagation
()))}
return
k
.
postDispatch
&&
k
.
postDispatch
.
call
(
this
,
a
),
a
.
result
}},
handlers
:
function
(
a
,
b
){
var
c
,
d
,
e
,
f
,
g
=
[],
h
=
b
.
delegateCount
,
i
=
a
.
target
;
if
(
h
&&
i
.
nodeType
&&
(
!
a
.
button
||
"click"
!==
a
.
type
))
for
(;
i
!=
this
;
i
=
i
.
parentNode
||
this
)
if
(
1
===
i
.
nodeType
&&
(
i
.
disabled
!==!
0
||
"click"
!==
a
.
type
)){
for
(
e
=
[],
f
=
0
;
h
>
f
;
f
++
)
d
=
b
[
f
],
c
=
d
.
selector
+
" "
,
void
0
===
e
[
c
]
&&
(
e
[
c
]
=
d
.
needsContext
?
m
(
c
,
this
).
index
(
i
)
>=
0
:
m
.
find
(
c
,
this
,
null
,[
i
]).
length
),
e
[
c
]
&&
e
.
push
(
d
);
e
.
length
&&
g
.
push
({
elem
:
i
,
handlers
:
e
})}
return
h
<
b
.
length
&&
g
.
push
({
elem
:
this
,
handlers
:
b
.
slice
(
h
)}),
g
},
fix
:
function
(
a
){
if
(
a
[
m
.
expando
])
return
a
;
var
b
,
c
,
d
,
e
=
a
.
type
,
f
=
a
,
g
=
this
.
fixHooks
[
e
];
g
||
(
this
.
fixHooks
[
e
]
=
g
=
Z
.
test
(
e
)?
this
.
mouseHooks
:
Y
.
test
(
e
)?
this
.
keyHooks
:{}),
d
=
g
.
props
?
this
.
props
.
concat
(
g
.
props
):
this
.
props
,
a
=
new
m
.
Event
(
f
),
b
=
d
.
length
;
while
(
b
--
)
c
=
d
[
b
],
a
[
c
]
=
f
[
c
];
return
a
.
target
||
(
a
.
target
=
f
.
srcElement
||
y
),
3
===
a
.
target
.
nodeType
&&
(
a
.
target
=
a
.
target
.
parentNode
),
a
.
metaKey
=!!
a
.
metaKey
,
g
.
filter
?
g
.
filter
(
a
,
f
):
a
},
props
:
"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which"
.
split
(
" "
),
fixHooks
:{},
keyHooks
:{
props
:
"char charCode key keyCode"
.
split
(
" "
),
filter
:
function
(
a
,
b
){
return
null
==
a
.
which
&&
(
a
.
which
=
null
!=
b
.
charCode
?
b
.
charCode
:
b
.
keyCode
),
a
}},
mouseHooks
:{
props
:
"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement"
.
split
(
" "
),
filter
:
function
(
a
,
b
){
var
c
,
d
,
e
,
f
=
b
.
button
,
g
=
b
.
fromElement
;
return
null
==
a
.
pageX
&&
null
!=
b
.
clientX
&&
(
d
=
a
.
target
.
ownerDocument
||
y
,
e
=
d
.
documentElement
,
c
=
d
.
body
,
a
.
pageX
=
b
.
clientX
+
(
e
&&
e
.
scrollLeft
||
c
&&
c
.
scrollLeft
||
0
)
-
(
e
&&
e
.
clientLeft
||
c
&&
c
.
clientLeft
||
0
),
a
.
pageY
=
b
.
clientY
+
(
e
&&
e
.
scrollTop
||
c
&&
c
.
scrollTop
||
0
)
-
(
e
&&
e
.
clientTop
||
c
&&
c
.
clientTop
||
0
)),
!
a
.
relatedTarget
&&
g
&&
(
a
.
relatedTarget
=
g
===
a
.
target
?
b
.
toElement
:
g
),
a
.
which
||
void
0
===
f
||
(
a
.
which
=
1
&
f
?
1
:
2
&
f
?
3
:
4
&
f
?
2
:
0
),
a
}},
special
:{
load
:{
noBubble
:
!
0
},
focus
:{
trigger
:
function
(){
if
(
this
!==
cb
()
&&
this
.
focus
)
try
{
return
this
.
focus
(),
!
1
}
catch
(
a
){}},
delegateType
:
"focusin"
},
blur
:{
trigger
:
function
(){
return
this
===
cb
()
&&
this
.
blur
?(
this
.
blur
(),
!
1
):
void
0
},
delegateType
:
"focusout"
},
click
:{
trigger
:
function
(){
return
m
.
nodeName
(
this
,
"input"
)
&&
"checkbox"
===
this
.
type
&&
this
.
click
?(
this
.
click
(),
!
1
):
void
0
},
_default
:
function
(
a
){
return
m
.
nodeName
(
a
.
target
,
"a"
)}},
beforeunload
:{
postDispatch
:
function
(
a
){
void
0
!==
a
.
result
&&
a
.
originalEvent
&&
(
a
.
originalEvent
.
returnValue
=
a
.
result
)}}},
simulate
:
function
(
a
,
b
,
c
,
d
){
var
e
=
m
.
extend
(
new
m
.
Event
,
c
,{
type
:
a
,
isSimulated
:
!
0
,
originalEvent
:{}});
d
?
m
.
event
.
trigger
(
e
,
null
,
b
):
m
.
event
.
dispatch
.
call
(
b
,
e
),
e
.
isDefaultPrevented
()
&&
c
.
preventDefault
()}},
m
.
removeEvent
=
y
.
removeEventListener
?
function
(
a
,
b
,
c
){
a
.
removeEventListener
&&
a
.
removeEventListener
(
b
,
c
,
!
1
)}:
function
(
a
,
b
,
c
){
var
d
=
"on"
+
b
;
a
.
detachEvent
&&
(
typeof
a
[
d
]
===
K
&&
(
a
[
d
]
=
null
),
a
.
detachEvent
(
d
,
c
))},
m
.
Event
=
function
(
a
,
b
){
return
this
instanceof
m
.
Event
?(
a
&&
a
.
type
?(
this
.
originalEvent
=
a
,
this
.
type
=
a
.
type
,
this
.
isDefaultPrevented
=
a
.
defaultPrevented
||
void
0
===
a
.
defaultPrevented
&&
a
.
returnValue
===!
1
?
ab
:
bb
):
this
.
type
=
a
,
b
&&
m
.
extend
(
this
,
b
),
this
.
timeStamp
=
a
&&
a
.
timeStamp
||
m
.
now
(),
void
(
this
[
m
.
expando
]
=!
0
)):
new
m
.
Event
(
a
,
b
)},
m
.
Event
.
prototype
=
{
isDefaultPrevented
:
bb
,
isPropagationStopped
:
bb
,
isImmediatePropagationStopped
:
bb
,
preventDefault
:
function
(){
var
a
=
this
.
originalEvent
;
this
.
isDefaultPrevented
=
ab
,
a
&&
(
a
.
preventDefault
?
a
.
preventDefault
():
a
.
returnValue
=!
1
)},
stopPropagation
:
function
(){
var
a
=
this
.
originalEvent
;
this
.
isPropagationStopped
=
ab
,
a
&&
(
a
.
stopPropagation
&&
a
.
stopPropagation
(),
a
.
cancelBubble
=!
0
)},
stopImmediatePropagation
:
function
(){
var
a
=
this
.
originalEvent
;
this
.
isImmediatePropagationStopped
=
ab
,
a
&&
a
.
stopImmediatePropagation
&&
a
.
stopImmediatePropagation
(),
this
.
stopPropagation
()}},
m
.
each
({
mouseenter
:
"mouseover"
,
mouseleave
:
"mouseout"
,
pointerenter
:
"pointerover"
,
pointerleave
:
"pointerout"
},
function
(
a
,
b
){
m
.
event
.
special
[
a
]
=
{
delegateType
:
b
,
bindType
:
b
,
handle
:
function
(
a
){
var
c
,
d
=
this
,
e
=
a
.
relatedTarget
,
f
=
a
.
handleObj
;
return
(
!
e
||
e
!==
d
&&!
m
.
contains
(
d
,
e
))
&&
(
a
.
type
=
f
.
origType
,
c
=
f
.
handler
.
apply
(
this
,
arguments
),
a
.
type
=
b
),
c
}}}),
k
.
submitBubbles
||
(
m
.
event
.
special
.
submit
=
{
setup
:
function
(){
return
m
.
nodeName
(
this
,
"form"
)?
!
1
:
void
m
.
event
.
add
(
this
,
"click._submit keypress._submit"
,
function
(
a
){
var
b
=
a
.
target
,
c
=
m
.
nodeName
(
b
,
"input"
)
||
m
.
nodeName
(
b
,
"button"
)?
b
.
form
:
void
0
;
c
&&!
m
.
_data
(
c
,
"submitBubbles"
)
&&
(
m
.
event
.
add
(
c
,
"submit._submit"
,
function
(
a
){
a
.
_submit_bubble
=!
0
}),
m
.
_data
(
c
,
"submitBubbles"
,
!
0
))})},
postDispatch
:
function
(
a
){
a
.
_submit_bubble
&&
(
delete
a
.
_submit_bubble
,
this
.
parentNode
&&!
a
.
isTrigger
&&
m
.
event
.
simulate
(
"submit"
,
this
.
parentNode
,
a
,
!
0
))},
teardown
:
function
(){
return
m
.
nodeName
(
this
,
"form"
)?
!
1
:
void
m
.
event
.
remove
(
this
,
"._submit"
)}}),
k
.
changeBubbles
||
(
m
.
event
.
special
.
change
=
{
setup
:
function
(){
return
X
.
test
(
this
.
nodeName
)?((
"checkbox"
===
this
.
type
||
"radio"
===
this
.
type
)
&&
(
m
.
event
.
add
(
this
,
"propertychange._change"
,
function
(
a
){
"checked"
===
a
.
originalEvent
.
propertyName
&&
(
this
.
_just_changed
=!
0
)}),
m
.
event
.
add
(
this
,
"click._change"
,
function
(
a
){
this
.
_just_changed
&&!
a
.
isTrigger
&&
(
this
.
_just_changed
=!
1
),
m
.
event
.
simulate
(
"change"
,
this
,
a
,
!
0
)})),
!
1
):
void
m
.
event
.
add
(
this
,
"beforeactivate._change"
,
function
(
a
){
var
b
=
a
.
target
;
X
.
test
(
b
.
nodeName
)
&&!
m
.
_data
(
b
,
"changeBubbles"
)
&&
(
m
.
event
.
add
(
b
,
"change._change"
,
function
(
a
){
!
this
.
parentNode
||
a
.
isSimulated
||
a
.
isTrigger
||
m
.
event
.
simulate
(
"change"
,
this
.
parentNode
,
a
,
!
0
)}),
m
.
_data
(
b
,
"changeBubbles"
,
!
0
))})},
handle
:
function
(
a
){
var
b
=
a
.
target
;
return
this
!==
b
||
a
.
isSimulated
||
a
.
isTrigger
||
"radio"
!==
b
.
type
&&
"checkbox"
!==
b
.
type
?
a
.
handleObj
.
handler
.
apply
(
this
,
arguments
):
void
0
},
teardown
:
function
(){
return
m
.
event
.
remove
(
this
,
"._change"
),
!
X
.
test
(
this
.
nodeName
)}}),
k
.
focusinBubbles
||
m
.
each
({
focus
:
"focusin"
,
blur
:
"focusout"
},
function
(
a
,
b
){
var
c
=
function
(
a
){
m
.
event
.
simulate
(
b
,
a
.
target
,
m
.
event
.
fix
(
a
),
!
0
)};
m
.
event
.
special
[
b
]
=
{
setup
:
function
(){
var
d
=
this
.
ownerDocument
||
this
,
e
=
m
.
_data
(
d
,
b
);
e
||
d
.
addEventListener
(
a
,
c
,
!
0
),
m
.
_data
(
d
,
b
,(
e
||
0
)
+
1
)},
teardown
:
function
(){
var
d
=
this
.
ownerDocument
||
this
,
e
=
m
.
_data
(
d
,
b
)
-
1
;
e
?
m
.
_data
(
d
,
b
,
e
):(
d
.
removeEventListener
(
a
,
c
,
!
0
),
m
.
_removeData
(
d
,
b
))}}}),
m
.
fn
.
extend
({
on
:
function
(
a
,
b
,
c
,
d
,
e
){
var
f
,
g
;
if
(
"object"
==
typeof
a
){
"string"
!=
typeof
b
&&
(
c
=
c
||
b
,
b
=
void
0
);
for
(
f
in
a
)
this
.
on
(
f
,
b
,
c
,
a
[
f
],
e
);
return
this
}
if
(
null
==
c
&&
null
==
d
?(
d
=
b
,
c
=
b
=
void
0
):
null
==
d
&&
(
"string"
==
typeof
b
?(
d
=
c
,
c
=
void
0
):(
d
=
c
,
c
=
b
,
b
=
void
0
)),
d
===!
1
)
d
=
bb
;
else
if
(
!
d
)
return
this
;
return
1
===
e
&&
(
g
=
d
,
d
=
function
(
a
){
return
m
().
off
(
a
),
g
.
apply
(
this
,
arguments
)},
d
.
guid
=
g
.
guid
||
(
g
.
guid
=
m
.
guid
++
)),
this
.
each
(
function
(){
m
.
event
.
add
(
this
,
a
,
d
,
c
,
b
)})},
one
:
function
(
a
,
b
,
c
,
d
){
return
this
.
on
(
a
,
b
,
c
,
d
,
1
)},
off
:
function
(
a
,
b
,
c
){
var
d
,
e
;
if
(
a
&&
a
.
preventDefault
&&
a
.
handleObj
)
return
d
=
a
.
handleObj
,
m
(
a
.
delegateTarget
).
off
(
d
.
namespace
?
d
.
origType
+
"."
+
d
.
namespace
:
d
.
origType
,
d
.
selector
,
d
.
handler
),
this
;
if
(
"object"
==
typeof
a
){
for
(
e
in
a
)
this
.
off
(
e
,
b
,
a
[
e
]);
return
this
}
return
(
b
===!
1
||
"function"
==
typeof
b
)
&&
(
c
=
b
,
b
=
void
0
),
c
===!
1
&&
(
c
=
bb
),
this
.
each
(
function
(){
m
.
event
.
remove
(
this
,
a
,
c
,
b
)})},
trigger
:
function
(
a
,
b
){
return
this
.
each
(
function
(){
m
.
event
.
trigger
(
a
,
b
,
this
)})},
triggerHandler
:
function
(
a
,
b
){
var
c
=
this
[
0
];
return
c
?
m
.
event
.
trigger
(
a
,
b
,
c
,
!
0
):
void
0
}});
function
db
(
a
){
var
b
=
eb
.
split
(
"|"
),
c
=
a
.
createDocumentFragment
();
if
(
c
.
createElement
)
while
(
b
.
length
)
c
.
createElement
(
b
.
pop
());
return
c
}
var
eb
=
"abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video"
,
fb
=
/ jQuery
\d
+="
(?:
null|
\d
+
)
"/g
,
gb
=
new
RegExp
(
"<(?:"
+
eb
+
")[
\\
s/>]"
,
"i"
),
hb
=
/^
\s
+/
,
ib
=
/<
(?!
area|br|col|embed|hr|img|input|link|meta|param
)(([\w
:
]
+
)[^
>
]
*
)\/
>/gi
,
jb
=
/<
([\w
:
]
+
)
/
,
kb
=
/<tbody/i
,
lb
=
/<|&#
?\w
+;/
,
mb
=
/<
(?:
script|style|link
)
/i
,
nb
=
/checked
\s
*
(?:[^
=
]
|=
\s
*.checked.
)
/i
,
ob
=
/^$|
\/(?:
java|ecma
)
script/i
,
pb
=
/^true
\/(
.*
)
/
,
qb
=
/^
\s
*<!
(?:\[
CDATA
\[
|--
)
|
(?:\]\]
|--
)
>
\s
*$/g
,
rb
=
{
option
:[
1
,
"<select multiple='multiple'>"
,
"</select>"
],
legend
:[
1
,
"<fieldset>"
,
"</fieldset>"
],
area
:[
1
,
"<map>"
,
"</map>"
],
param
:[
1
,
"<object>"
,
"</object>"
],
thead
:[
1
,
"<table>"
,
"</table>"
],
tr
:[
2
,
"<table><tbody>"
,
"</tbody></table>"
],
col
:[
2
,
"<table><tbody></tbody><colgroup>"
,
"</colgroup></table>"
],
td
:[
3
,
"<table><tbody><tr>"
,
"</tr></tbody></table>"
],
_default
:
k
.
htmlSerialize
?[
0
,
""
,
""
]:[
1
,
"X<div>"
,
"</div>"
]},
sb
=
db
(
y
),
tb
=
sb
.
appendChild
(
y
.
createElement
(
"div"
));
rb
.
optgroup
=
rb
.
option
,
rb
.
tbody
=
rb
.
tfoot
=
rb
.
colgroup
=
rb
.
caption
=
rb
.
thead
,
rb
.
th
=
rb
.
td
;
function
ub
(
a
,
b
){
var
c
,
d
,
e
=
0
,
f
=
typeof
a
.
getElementsByTagName
!==
K
?
a
.
getElementsByTagName
(
b
||
"*"
):
typeof
a
.
querySelectorAll
!==
K
?
a
.
querySelectorAll
(
b
||
"*"
):
void
0
;
if
(
!
f
)
for
(
f
=
[],
c
=
a
.
childNodes
||
a
;
null
!=
(
d
=
c
[
e
]);
e
++
)
!
b
||
m
.
nodeName
(
d
,
b
)?
f
.
push
(
d
):
m
.
merge
(
f
,
ub
(
d
,
b
));
return
void
0
===
b
||
b
&&
m
.
nodeName
(
a
,
b
)?
m
.
merge
([
a
],
f
):
f
}
function
vb
(
a
){
W
.
test
(
a
.
type
)
&&
(
a
.
defaultChecked
=
a
.
checked
)}
function
wb
(
a
,
b
){
return
m
.
nodeName
(
a
,
"table"
)
&&
m
.
nodeName
(
11
!==
b
.
nodeType
?
b
:
b
.
firstChild
,
"tr"
)?
a
.
getElementsByTagName
(
"tbody"
)[
0
]
||
a
.
appendChild
(
a
.
ownerDocument
.
createElement
(
"tbody"
)):
a
}
function
xb
(
a
){
return
a
.
type
=
(
null
!==
m
.
find
.
attr
(
a
,
"type"
))
+
"/"
+
a
.
type
,
a
}
function
yb
(
a
){
var
b
=
pb
.
exec
(
a
.
type
);
return
b
?
a
.
type
=
b
[
1
]:
a
.
removeAttribute
(
"type"
),
a
}
function
zb
(
a
,
b
){
for
(
var
c
,
d
=
0
;
null
!=
(
c
=
a
[
d
]);
d
++
)
m
.
_data
(
c
,
"globalEval"
,
!
b
||
m
.
_data
(
b
[
d
],
"globalEval"
))}
function
Ab
(
a
,
b
){
if
(
1
===
b
.
nodeType
&&
m
.
hasData
(
a
)){
var
c
,
d
,
e
,
f
=
m
.
_data
(
a
),
g
=
m
.
_data
(
b
,
f
),
h
=
f
.
events
;
if
(
h
){
delete
g
.
handle
,
g
.
events
=
{};
for
(
c
in
h
)
for
(
d
=
0
,
e
=
h
[
c
].
length
;
e
>
d
;
d
++
)
m
.
event
.
add
(
b
,
c
,
h
[
c
][
d
])}
g
.
data
&&
(
g
.
data
=
m
.
extend
({},
g
.
data
))}}
function
Bb
(
a
,
b
){
var
c
,
d
,
e
;
if
(
1
===
b
.
nodeType
){
if
(
c
=
b
.
nodeName
.
toLowerCase
(),
!
k
.
noCloneEvent
&&
b
[
m
.
expando
]){
e
=
m
.
_data
(
b
);
for
(
d
in
e
.
events
)
m
.
removeEvent
(
b
,
d
,
e
.
handle
);
b
.
removeAttribute
(
m
.
expando
)}
"script"
===
c
&&
b
.
text
!==
a
.
text
?(
xb
(
b
).
text
=
a
.
text
,
yb
(
b
)):
"object"
===
c
?(
b
.
parentNode
&&
(
b
.
outerHTML
=
a
.
outerHTML
),
k
.
html5Clone
&&
a
.
innerHTML
&&!
m
.
trim
(
b
.
innerHTML
)
&&
(
b
.
innerHTML
=
a
.
innerHTML
)):
"input"
===
c
&&
W
.
test
(
a
.
type
)?(
b
.
defaultChecked
=
b
.
checked
=
a
.
checked
,
b
.
value
!==
a
.
value
&&
(
b
.
value
=
a
.
value
)):
"option"
===
c
?
b
.
defaultSelected
=
b
.
selected
=
a
.
defaultSelected
:(
"input"
===
c
||
"textarea"
===
c
)
&&
(
b
.
defaultValue
=
a
.
defaultValue
)}}
m
.
extend
({
clone
:
function
(
a
,
b
,
c
){
var
d
,
e
,
f
,
g
,
h
,
i
=
m
.
contains
(
a
.
ownerDocument
,
a
);
if
(
k
.
html5Clone
||
m
.
isXMLDoc
(
a
)
||!
gb
.
test
(
"<"
+
a
.
nodeName
+
">"
)?
f
=
a
.
cloneNode
(
!
0
):(
tb
.
innerHTML
=
a
.
outerHTML
,
tb
.
removeChild
(
f
=
tb
.
firstChild
)),
!
(
k
.
noCloneEvent
&&
k
.
noCloneChecked
||
1
!==
a
.
nodeType
&&
11
!==
a
.
nodeType
||
m
.
isXMLDoc
(
a
)))
for
(
d
=
ub
(
f
),
h
=
ub
(
a
),
g
=
0
;
null
!=
(
e
=
h
[
g
]);
++
g
)
d
[
g
]
&&
Bb
(
e
,
d
[
g
]);
if
(
b
)
if
(
c
)
for
(
h
=
h
||
ub
(
a
),
d
=
d
||
ub
(
f
),
g
=
0
;
null
!=
(
e
=
h
[
g
]);
g
++
)
Ab
(
e
,
d
[
g
]);
else
Ab
(
a
,
f
);
return
d
=
ub
(
f
,
"script"
),
d
.
length
>
0
&&
zb
(
d
,
!
i
&&
ub
(
a
,
"script"
)),
d
=
h
=
e
=
null
,
f
},
buildFragment
:
function
(
a
,
b
,
c
,
d
){
for
(
var
e
,
f
,
g
,
h
,
i
,
j
,
l
,
n
=
a
.
length
,
o
=
db
(
b
),
p
=
[],
q
=
0
;
n
>
q
;
q
++
)
if
(
f
=
a
[
q
],
f
||
0
===
f
)
if
(
"object"
===
m
.
type
(
f
))
m
.
merge
(
p
,
f
.
nodeType
?[
f
]:
f
);
else
if
(
lb
.
test
(
f
)){
h
=
h
||
o
.
appendChild
(
b
.
createElement
(
"div"
)),
i
=
(
jb
.
exec
(
f
)
||
[
""
,
""
])[
1
].
toLowerCase
(),
l
=
rb
[
i
]
||
rb
.
_default
,
h
.
innerHTML
=
l
[
1
]
+
f
.
replace
(
ib
,
"<$1></$2>"
)
+
l
[
2
],
e
=
l
[
0
];
while
(
e
--
)
h
=
h
.
lastChild
;
if
(
!
k
.
leadingWhitespace
&&
hb
.
test
(
f
)
&&
p
.
push
(
b
.
createTextNode
(
hb
.
exec
(
f
)[
0
])),
!
k
.
tbody
){
f
=
"table"
!==
i
||
kb
.
test
(
f
)?
"<table>"
!==
l
[
1
]
||
kb
.
test
(
f
)?
0
:
h
:
h
.
firstChild
,
e
=
f
&&
f
.
childNodes
.
length
;
while
(
e
--
)
m
.
nodeName
(
j
=
f
.
childNodes
[
e
],
"tbody"
)
&&!
j
.
childNodes
.
length
&&
f
.
removeChild
(
j
)}
m
.
merge
(
p
,
h
.
childNodes
),
h
.
textContent
=
""
;
while
(
h
.
firstChild
)
h
.
removeChild
(
h
.
firstChild
);
h
=
o
.
lastChild
}
else
p
.
push
(
b
.
createTextNode
(
f
));
h
&&
o
.
removeChild
(
h
),
k
.
appendChecked
||
m
.
grep
(
ub
(
p
,
"input"
),
vb
),
q
=
0
;
while
(
f
=
p
[
q
++
])
if
((
!
d
||-
1
===
m
.
inArray
(
f
,
d
))
&&
(
g
=
m
.
contains
(
f
.
ownerDocument
,
f
),
h
=
ub
(
o
.
appendChild
(
f
),
"script"
),
g
&&
zb
(
h
),
c
)){
e
=
0
;
while
(
f
=
h
[
e
++
])
ob
.
test
(
f
.
type
||
""
)
&&
c
.
push
(
f
)}
return
h
=
null
,
o
},
cleanData
:
function
(
a
,
b
){
for
(
var
d
,
e
,
f
,
g
,
h
=
0
,
i
=
m
.
expando
,
j
=
m
.
cache
,
l
=
k
.
deleteExpando
,
n
=
m
.
event
.
special
;
null
!=
(
d
=
a
[
h
]);
h
++
)
if
((
b
||
m
.
acceptData
(
d
))
&&
(
f
=
d
[
i
],
g
=
f
&&
j
[
f
])){
if
(
g
.
events
)
for
(
e
in
g
.
events
)
n
[
e
]?
m
.
event
.
remove
(
d
,
e
):
m
.
removeEvent
(
d
,
e
,
g
.
handle
);
j
[
f
]
&&
(
delete
j
[
f
],
l
?
delete
d
[
i
]:
typeof
d
.
removeAttribute
!==
K
?
d
.
removeAttribute
(
i
):
d
[
i
]
=
null
,
c
.
push
(
f
))}}}),
m
.
fn
.
extend
({
text
:
function
(
a
){
return
V
(
this
,
function
(
a
){
return
void
0
===
a
?
m
.
text
(
this
):
this
.
empty
().
append
((
this
[
0
]
&&
this
[
0
].
ownerDocument
||
y
).
createTextNode
(
a
))},
null
,
a
,
arguments
.
length
)},
append
:
function
(){
return
this
.
domManip
(
arguments
,
function
(
a
){
if
(
1
===
this
.
nodeType
||
11
===
this
.
nodeType
||
9
===
this
.
nodeType
){
var
b
=
wb
(
this
,
a
);
b
.
appendChild
(
a
)}})},
prepend
:
function
(){
return
this
.
domManip
(
arguments
,
function
(
a
){
if
(
1
===
this
.
nodeType
||
11
===
this
.
nodeType
||
9
===
this
.
nodeType
){
var
b
=
wb
(
this
,
a
);
b
.
insertBefore
(
a
,
b
.
firstChild
)}})},
before
:
function
(){
return
this
.
domManip
(
arguments
,
function
(
a
){
this
.
parentNode
&&
this
.
parentNode
.
insertBefore
(
a
,
this
)})},
after
:
function
(){
return
this
.
domManip
(
arguments
,
function
(
a
){
this
.
parentNode
&&
this
.
parentNode
.
insertBefore
(
a
,
this
.
nextSibling
)})},
remove
:
function
(
a
,
b
){
for
(
var
c
,
d
=
a
?
m
.
filter
(
a
,
this
):
this
,
e
=
0
;
null
!=
(
c
=
d
[
e
]);
e
++
)
b
||
1
!==
c
.
nodeType
||
m
.
cleanData
(
ub
(
c
)),
c
.
parentNode
&&
(
b
&&
m
.
contains
(
c
.
ownerDocument
,
c
)
&&
zb
(
ub
(
c
,
"script"
)),
c
.
parentNode
.
removeChild
(
c
));
return
this
},
empty
:
function
(){
for
(
var
a
,
b
=
0
;
null
!=
(
a
=
this
[
b
]);
b
++
){
1
===
a
.
nodeType
&&
m
.
cleanData
(
ub
(
a
,
!
1
));
while
(
a
.
firstChild
)
a
.
removeChild
(
a
.
firstChild
);
a
.
options
&&
m
.
nodeName
(
a
,
"select"
)
&&
(
a
.
options
.
length
=
0
)}
return
this
},
clone
:
function
(
a
,
b
){
return
a
=
null
==
a
?
!
1
:
a
,
b
=
null
==
b
?
a
:
b
,
this
.
map
(
function
(){
return
m
.
clone
(
this
,
a
,
b
)})},
html
:
function
(
a
){
return
V
(
this
,
function
(
a
){
var
b
=
this
[
0
]
||
{},
c
=
0
,
d
=
this
.
length
;
if
(
void
0
===
a
)
return
1
===
b
.
nodeType
?
b
.
innerHTML
.
replace
(
fb
,
""
):
void
0
;
if
(
!
(
"string"
!=
typeof
a
||
mb
.
test
(
a
)
||!
k
.
htmlSerialize
&&
gb
.
test
(
a
)
||!
k
.
leadingWhitespace
&&
hb
.
test
(
a
)
||
rb
[(
jb
.
exec
(
a
)
||
[
""
,
""
])[
1
].
toLowerCase
()])){
a
=
a
.
replace
(
ib
,
"<$1></$2>"
);
try
{
for
(;
d
>
c
;
c
++
)
b
=
this
[
c
]
||
{},
1
===
b
.
nodeType
&&
(
m
.
cleanData
(
ub
(
b
,
!
1
)),
b
.
innerHTML
=
a
);
b
=
0
}
catch
(
e
){}}
b
&&
this
.
empty
().
append
(
a
)},
null
,
a
,
arguments
.
length
)},
replaceWith
:
function
(){
var
a
=
arguments
[
0
];
return
this
.
domManip
(
arguments
,
function
(
b
){
a
=
this
.
parentNode
,
m
.
cleanData
(
ub
(
this
)),
a
&&
a
.
replaceChild
(
b
,
this
)}),
a
&&
(
a
.
length
||
a
.
nodeType
)?
this
:
this
.
remove
()},
detach
:
function
(
a
){
return
this
.
remove
(
a
,
!
0
)},
domManip
:
function
(
a
,
b
){
a
=
e
.
apply
([],
a
);
var
c
,
d
,
f
,
g
,
h
,
i
,
j
=
0
,
l
=
this
.
length
,
n
=
this
,
o
=
l
-
1
,
p
=
a
[
0
],
q
=
m
.
isFunction
(
p
);
if
(
q
||
l
>
1
&&
"string"
==
typeof
p
&&!
k
.
checkClone
&&
nb
.
test
(
p
))
return
this
.
each
(
function
(
c
){
var
d
=
n
.
eq
(
c
);
q
&&
(
a
[
0
]
=
p
.
call
(
this
,
c
,
d
.
html
())),
d
.
domManip
(
a
,
b
)});
if
(
l
&&
(
i
=
m
.
buildFragment
(
a
,
this
[
0
].
ownerDocument
,
!
1
,
this
),
c
=
i
.
firstChild
,
1
===
i
.
childNodes
.
length
&&
(
i
=
c
),
c
)){
for
(
g
=
m
.
map
(
ub
(
i
,
"script"
),
xb
),
f
=
g
.
length
;
l
>
j
;
j
++
)
d
=
i
,
j
!==
o
&&
(
d
=
m
.
clone
(
d
,
!
0
,
!
0
),
f
&&
m
.
merge
(
g
,
ub
(
d
,
"script"
))),
b
.
call
(
this
[
j
],
d
,
j
);
if
(
f
)
for
(
h
=
g
[
g
.
length
-
1
].
ownerDocument
,
m
.
map
(
g
,
yb
),
j
=
0
;
f
>
j
;
j
++
)
d
=
g
[
j
],
ob
.
test
(
d
.
type
||
""
)
&&!
m
.
_data
(
d
,
"globalEval"
)
&&
m
.
contains
(
h
,
d
)
&&
(
d
.
src
?
m
.
_evalUrl
&&
m
.
_evalUrl
(
d
.
src
):
m
.
globalEval
((
d
.
text
||
d
.
textContent
||
d
.
innerHTML
||
""
).
replace
(
qb
,
""
)));
i
=
c
=
null
}
return
this
}}),
m
.
each
({
appendTo
:
"append"
,
prependTo
:
"prepend"
,
insertBefore
:
"before"
,
insertAfter
:
"after"
,
replaceAll
:
"replaceWith"
},
function
(
a
,
b
){
m
.
fn
[
a
]
=
function
(
a
){
for
(
var
c
,
d
=
0
,
e
=
[],
g
=
m
(
a
),
h
=
g
.
length
-
1
;
h
>=
d
;
d
++
)
c
=
d
===
h
?
this
:
this
.
clone
(
!
0
),
m
(
g
[
d
])[
b
](
c
),
f
.
apply
(
e
,
c
.
get
());
return
this
.
pushStack
(
e
)}});
var
Cb
,
Db
=
{};
function
Eb
(
b
,
c
){
var
d
,
e
=
m
(
c
.
createElement
(
b
)).
appendTo
(
c
.
body
),
f
=
a
.
getDefaultComputedStyle
&&
(
d
=
a
.
getDefaultComputedStyle
(
e
[
0
]))?
d
.
display
:
m
.
css
(
e
[
0
],
"display"
);
return
e
.
detach
(),
f
}
function
Fb
(
a
){
var
b
=
y
,
c
=
Db
[
a
];
return
c
||
(
c
=
Eb
(
a
,
b
),
"none"
!==
c
&&
c
||
(
Cb
=
(
Cb
||
m
(
"<iframe frameborder='0' width='0' height='0'/>"
)).
appendTo
(
b
.
documentElement
),
b
=
(
Cb
[
0
].
contentWindow
||
Cb
[
0
].
contentDocument
).
document
,
b
.
write
(),
b
.
close
(),
c
=
Eb
(
a
,
b
),
Cb
.
detach
()),
Db
[
a
]
=
c
),
c
}
!
function
(){
var
a
;
k
.
shrinkWrapBlocks
=
function
(){
if
(
null
!=
a
)
return
a
;
a
=!
1
;
var
b
,
c
,
d
;
return
c
=
y
.
getElementsByTagName
(
"body"
)[
0
],
c
&&
c
.
style
?(
b
=
y
.
createElement
(
"div"
),
d
=
y
.
createElement
(
"div"
),
d
.
style
.
cssText
=
"position:absolute;border:0;width:0;height:0;top:0;left:-9999px"
,
c
.
appendChild
(
d
).
appendChild
(
b
),
typeof
b
.
style
.
zoom
!==
K
&&
(
b
.
style
.
cssText
=
"-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1"
,
b
.
appendChild
(
y
.
createElement
(
"div"
)).
style
.
width
=
"5px"
,
a
=
3
!==
b
.
offsetWidth
),
c
.
removeChild
(
d
),
a
):
void
0
}}();
var
Gb
=
/^margin/
,
Hb
=
new
RegExp
(
"^("
+
S
+
")(?!px)[a-z%]+$"
,
"i"
),
Ib
,
Jb
,
Kb
=
/^
(
top|right|bottom|left
)
$/
;
a
.
getComputedStyle
?(
Ib
=
function
(
a
){
return
a
.
ownerDocument
.
defaultView
.
getComputedStyle
(
a
,
null
)},
Jb
=
function
(
a
,
b
,
c
){
var
d
,
e
,
f
,
g
,
h
=
a
.
style
;
return
c
=
c
||
Ib
(
a
),
g
=
c
?
c
.
getPropertyValue
(
b
)
||
c
[
b
]:
void
0
,
c
&&
(
""
!==
g
||
m
.
contains
(
a
.
ownerDocument
,
a
)
||
(
g
=
m
.
style
(
a
,
b
)),
Hb
.
test
(
g
)
&&
Gb
.
test
(
b
)
&&
(
d
=
h
.
width
,
e
=
h
.
minWidth
,
f
=
h
.
maxWidth
,
h
.
minWidth
=
h
.
maxWidth
=
h
.
width
=
g
,
g
=
c
.
width
,
h
.
width
=
d
,
h
.
minWidth
=
e
,
h
.
maxWidth
=
f
)),
void
0
===
g
?
g
:
g
+
""
}):
y
.
documentElement
.
currentStyle
&&
(
Ib
=
function
(
a
){
return
a
.
currentStyle
},
Jb
=
function
(
a
,
b
,
c
){
var
d
,
e
,
f
,
g
,
h
=
a
.
style
;
return
c
=
c
||
Ib
(
a
),
g
=
c
?
c
[
b
]:
void
0
,
null
==
g
&&
h
&&
h
[
b
]
&&
(
g
=
h
[
b
]),
Hb
.
test
(
g
)
&&!
Kb
.
test
(
b
)
&&
(
d
=
h
.
left
,
e
=
a
.
runtimeStyle
,
f
=
e
&&
e
.
left
,
f
&&
(
e
.
left
=
a
.
currentStyle
.
left
),
h
.
left
=
"fontSize"
===
b
?
"1em"
:
g
,
g
=
h
.
pixelLeft
+
"px"
,
h
.
left
=
d
,
f
&&
(
e
.
left
=
f
)),
void
0
===
g
?
g
:
g
+
""
||
"auto"
});
function
Lb
(
a
,
b
){
return
{
get
:
function
(){
var
c
=
a
();
if
(
null
!=
c
)
return
c
?
void
delete
this
.
get
:(
this
.
get
=
b
).
apply
(
this
,
arguments
)}}}
!
function
(){
var
b
,
c
,
d
,
e
,
f
,
g
,
h
;
if
(
b
=
y
.
createElement
(
"div"
),
b
.
innerHTML
=
" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>"
,
d
=
b
.
getElementsByTagName
(
"a"
)[
0
],
c
=
d
&&
d
.
style
){
c
.
cssText
=
"float:left;opacity:.5"
,
k
.
opacity
=
"0.5"
===
c
.
opacity
,
k
.
cssFloat
=!!
c
.
cssFloat
,
b
.
style
.
backgroundClip
=
"content-box"
,
b
.
cloneNode
(
!
0
).
style
.
backgroundClip
=
""
,
k
.
clearCloneStyle
=
"content-box"
===
b
.
style
.
backgroundClip
,
k
.
boxSizing
=
""
===
c
.
boxSizing
||
""
===
c
.
MozBoxSizing
||
""
===
c
.
WebkitBoxSizing
,
m
.
extend
(
k
,{
reliableHiddenOffsets
:
function
(){
return
null
==
g
&&
i
(),
g
},
boxSizingReliable
:
function
(){
return
null
==
f
&&
i
(),
f
},
pixelPosition
:
function
(){
return
null
==
e
&&
i
(),
e
},
reliableMarginRight
:
function
(){
return
null
==
h
&&
i
(),
h
}});
function
i
(){
var
b
,
c
,
d
,
i
;
c
=
y
.
getElementsByTagName
(
"body"
)[
0
],
c
&&
c
.
style
&&
(
b
=
y
.
createElement
(
"div"
),
d
=
y
.
createElement
(
"div"
),
d
.
style
.
cssText
=
"position:absolute;border:0;width:0;height:0;top:0;left:-9999px"
,
c
.
appendChild
(
d
).
appendChild
(
b
),
b
.
style
.
cssText
=
"-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute"
,
e
=
f
=!
1
,
h
=!
0
,
a
.
getComputedStyle
&&
(
e
=
"1%"
!==
(
a
.
getComputedStyle
(
b
,
null
)
||
{}).
top
,
f
=
"4px"
===
(
a
.
getComputedStyle
(
b
,
null
)
||
{
width
:
"4px"
}).
width
,
i
=
b
.
appendChild
(
y
.
createElement
(
"div"
)),
i
.
style
.
cssText
=
b
.
style
.
cssText
=
"-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0"
,
i
.
style
.
marginRight
=
i
.
style
.
width
=
"0"
,
b
.
style
.
width
=
"1px"
,
h
=!
parseFloat
((
a
.
getComputedStyle
(
i
,
null
)
||
{}).
marginRight
)),
b
.
innerHTML
=
"<table><tr><td></td><td>t</td></tr></table>"
,
i
=
b
.
getElementsByTagName
(
"td"
),
i
[
0
].
style
.
cssText
=
"margin:0;border:0;padding:0;display:none"
,
g
=
0
===
i
[
0
].
offsetHeight
,
g
&&
(
i
[
0
].
style
.
display
=
""
,
i
[
1
].
style
.
display
=
"none"
,
g
=
0
===
i
[
0
].
offsetHeight
),
c
.
removeChild
(
d
))}}}(),
m
.
swap
=
function
(
a
,
b
,
c
,
d
){
var
e
,
f
,
g
=
{};
for
(
f
in
b
)
g
[
f
]
=
a
.
style
[
f
],
a
.
style
[
f
]
=
b
[
f
];
e
=
c
.
apply
(
a
,
d
||
[]);
for
(
f
in
b
)
a
.
style
[
f
]
=
g
[
f
];
return
e
};
var
Mb
=
/alpha
\([^
)
]
*
\)
/i
,
Nb
=
/opacity
\s
*=
\s
*
([^
)
]
*
)
/
,
Ob
=
/^
(
none|table
(?!
-c
[
ea
])
.+
)
/
,
Pb
=
new
RegExp
(
"^("
+
S
+
")(.*)$"
,
"i"
),
Qb
=
new
RegExp
(
"^([+-])=("
+
S
+
")"
,
"i"
),
Rb
=
{
position
:
"absolute"
,
visibility
:
"hidden"
,
display
:
"block"
},
Sb
=
{
letterSpacing
:
"0"
,
fontWeight
:
"400"
},
Tb
=
[
"Webkit"
,
"O"
,
"Moz"
,
"ms"
];
function
Ub
(
a
,
b
){
if
(
b
in
a
)
return
b
;
var
c
=
b
.
charAt
(
0
).
toUpperCase
()
+
b
.
slice
(
1
),
d
=
b
,
e
=
Tb
.
length
;
while
(
e
--
)
if
(
b
=
Tb
[
e
]
+
c
,
b
in
a
)
return
b
;
return
d
}
function
Vb
(
a
,
b
){
for
(
var
c
,
d
,
e
,
f
=
[],
g
=
0
,
h
=
a
.
length
;
h
>
g
;
g
++
)
d
=
a
[
g
],
d
.
style
&&
(
f
[
g
]
=
m
.
_data
(
d
,
"olddisplay"
),
c
=
d
.
style
.
display
,
b
?(
f
[
g
]
||
"none"
!==
c
||
(
d
.
style
.
display
=
""
),
""
===
d
.
style
.
display
&&
U
(
d
)
&&
(
f
[
g
]
=
m
.
_data
(
d
,
"olddisplay"
,
Fb
(
d
.
nodeName
)))):(
e
=
U
(
d
),(
c
&&
"none"
!==
c
||!
e
)
&&
m
.
_data
(
d
,
"olddisplay"
,
e
?
c
:
m
.
css
(
d
,
"display"
))));
for
(
g
=
0
;
h
>
g
;
g
++
)
d
=
a
[
g
],
d
.
style
&&
(
b
&&
"none"
!==
d
.
style
.
display
&&
""
!==
d
.
style
.
display
||
(
d
.
style
.
display
=
b
?
f
[
g
]
||
""
:
"none"
));
return
a
}
function
Wb
(
a
,
b
,
c
){
var
d
=
Pb
.
exec
(
b
);
return
d
?
Math
.
max
(
0
,
d
[
1
]
-
(
c
||
0
))
+
(
d
[
2
]
||
"px"
):
b
}
function
Xb
(
a
,
b
,
c
,
d
,
e
){
for
(
var
f
=
c
===
(
d
?
"border"
:
"content"
)?
4
:
"width"
===
b
?
1
:
0
,
g
=
0
;
4
>
f
;
f
+=
2
)
"margin"
===
c
&&
(
g
+=
m
.
css
(
a
,
c
+
T
[
f
],
!
0
,
e
)),
d
?(
"content"
===
c
&&
(
g
-=
m
.
css
(
a
,
"padding"
+
T
[
f
],
!
0
,
e
)),
"margin"
!==
c
&&
(
g
-=
m
.
css
(
a
,
"border"
+
T
[
f
]
+
"Width"
,
!
0
,
e
))):(
g
+=
m
.
css
(
a
,
"padding"
+
T
[
f
],
!
0
,
e
),
"padding"
!==
c
&&
(
g
+=
m
.
css
(
a
,
"border"
+
T
[
f
]
+
"Width"
,
!
0
,
e
)));
return
g
}
function
Yb
(
a
,
b
,
c
){
var
d
=!
0
,
e
=
"width"
===
b
?
a
.
offsetWidth
:
a
.
offsetHeight
,
f
=
Ib
(
a
),
g
=
k
.
boxSizing
&&
"border-box"
===
m
.
css
(
a
,
"boxSizing"
,
!
1
,
f
);
if
(
0
>=
e
||
null
==
e
){
if
(
e
=
Jb
(
a
,
b
,
f
),(
0
>
e
||
null
==
e
)
&&
(
e
=
a
.
style
[
b
]),
Hb
.
test
(
e
))
return
e
;
d
=
g
&&
(
k
.
boxSizingReliable
()
||
e
===
a
.
style
[
b
]),
e
=
parseFloat
(
e
)
||
0
}
return
e
+
Xb
(
a
,
b
,
c
||
(
g
?
"border"
:
"content"
),
d
,
f
)
+
"px"
}
m
.
extend
({
cssHooks
:{
opacity
:{
get
:
function
(
a
,
b
){
if
(
b
){
var
c
=
Jb
(
a
,
"opacity"
);
return
""
===
c
?
"1"
:
c
}}}},
cssNumber
:{
columnCount
:
!
0
,
fillOpacity
:
!
0
,
flexGrow
:
!
0
,
flexShrink
:
!
0
,
fontWeight
:
!
0
,
lineHeight
:
!
0
,
opacity
:
!
0
,
order
:
!
0
,
orphans
:
!
0
,
widows
:
!
0
,
zIndex
:
!
0
,
zoom
:
!
0
},
cssProps
:{
"float"
:
k
.
cssFloat
?
"cssFloat"
:
"styleFloat"
},
style
:
function
(
a
,
b
,
c
,
d
){
if
(
a
&&
3
!==
a
.
nodeType
&&
8
!==
a
.
nodeType
&&
a
.
style
){
var
e
,
f
,
g
,
h
=
m
.
camelCase
(
b
),
i
=
a
.
style
;
if
(
b
=
m
.
cssProps
[
h
]
||
(
m
.
cssProps
[
h
]
=
Ub
(
i
,
h
)),
g
=
m
.
cssHooks
[
b
]
||
m
.
cssHooks
[
h
],
void
0
===
c
)
return
g
&&
"get"
in
g
&&
void
0
!==
(
e
=
g
.
get
(
a
,
!
1
,
d
))?
e
:
i
[
b
];
if
(
f
=
typeof
c
,
"string"
===
f
&&
(
e
=
Qb
.
exec
(
c
))
&&
(
c
=
(
e
[
1
]
+
1
)
*
e
[
2
]
+
parseFloat
(
m
.
css
(
a
,
b
)),
f
=
"number"
),
null
!=
c
&&
c
===
c
&&
(
"number"
!==
f
||
m
.
cssNumber
[
h
]
||
(
c
+=
"px"
),
k
.
clearCloneStyle
||
""
!==
c
||
0
!==
b
.
indexOf
(
"background"
)
||
(
i
[
b
]
=
"inherit"
),
!
(
g
&&
"set"
in
g
&&
void
0
===
(
c
=
g
.
set
(
a
,
c
,
d
)))))
try
{
i
[
b
]
=
c
}
catch
(
j
){}}},
css
:
function
(
a
,
b
,
c
,
d
){
var
e
,
f
,
g
,
h
=
m
.
camelCase
(
b
);
return
b
=
m
.
cssProps
[
h
]
||
(
m
.
cssProps
[
h
]
=
Ub
(
a
.
style
,
h
)),
g
=
m
.
cssHooks
[
b
]
||
m
.
cssHooks
[
h
],
g
&&
"get"
in
g
&&
(
f
=
g
.
get
(
a
,
!
0
,
c
)),
void
0
===
f
&&
(
f
=
Jb
(
a
,
b
,
d
)),
"normal"
===
f
&&
b
in
Sb
&&
(
f
=
Sb
[
b
]),
""
===
c
||
c
?(
e
=
parseFloat
(
f
),
c
===!
0
||
m
.
isNumeric
(
e
)?
e
||
0
:
f
):
f
}}),
m
.
each
([
"height"
,
"width"
],
function
(
a
,
b
){
m
.
cssHooks
[
b
]
=
{
get
:
function
(
a
,
c
,
d
){
return
c
?
Ob
.
test
(
m
.
css
(
a
,
"display"
))
&&
0
===
a
.
offsetWidth
?
m
.
swap
(
a
,
Rb
,
function
(){
return
Yb
(
a
,
b
,
d
)}):
Yb
(
a
,
b
,
d
):
void
0
},
set
:
function
(
a
,
c
,
d
){
var
e
=
d
&&
Ib
(
a
);
return
Wb
(
a
,
c
,
d
?
Xb
(
a
,
b
,
d
,
k
.
boxSizing
&&
"border-box"
===
m
.
css
(
a
,
"boxSizing"
,
!
1
,
e
),
e
):
0
)}}}),
k
.
opacity
||
(
m
.
cssHooks
.
opacity
=
{
get
:
function
(
a
,
b
){
return
Nb
.
test
((
b
&&
a
.
currentStyle
?
a
.
currentStyle
.
filter
:
a
.
style
.
filter
)
||
""
)?.
01
*
parseFloat
(
RegExp
.
$1
)
+
""
:
b
?
"1"
:
""
},
set
:
function
(
a
,
b
){
var
c
=
a
.
style
,
d
=
a
.
currentStyle
,
e
=
m
.
isNumeric
(
b
)?
"alpha(opacity="
+
100
*
b
+
")"
:
""
,
f
=
d
&&
d
.
filter
||
c
.
filter
||
""
;
c
.
zoom
=
1
,(
b
>=
1
||
""
===
b
)
&&
""
===
m
.
trim
(
f
.
replace
(
Mb
,
""
))
&&
c
.
removeAttribute
&&
(
c
.
removeAttribute
(
"filter"
),
""
===
b
||
d
&&!
d
.
filter
)
||
(
c
.
filter
=
Mb
.
test
(
f
)?
f
.
replace
(
Mb
,
e
):
f
+
" "
+
e
)}}),
m
.
cssHooks
.
marginRight
=
Lb
(
k
.
reliableMarginRight
,
function
(
a
,
b
){
return
b
?
m
.
swap
(
a
,{
display
:
"inline-block"
},
Jb
,[
a
,
"marginRight"
]):
void
0
}),
m
.
each
({
margin
:
""
,
padding
:
""
,
border
:
"Width"
},
function
(
a
,
b
){
m
.
cssHooks
[
a
+
b
]
=
{
expand
:
function
(
c
){
for
(
var
d
=
0
,
e
=
{},
f
=
"string"
==
typeof
c
?
c
.
split
(
" "
):[
c
];
4
>
d
;
d
++
)
e
[
a
+
T
[
d
]
+
b
]
=
f
[
d
]
||
f
[
d
-
2
]
||
f
[
0
];
return
e
}},
Gb
.
test
(
a
)
||
(
m
.
cssHooks
[
a
+
b
].
set
=
Wb
)}),
m
.
fn
.
extend
({
css
:
function
(
a
,
b
){
return
V
(
this
,
function
(
a
,
b
,
c
){
var
d
,
e
,
f
=
{},
g
=
0
;
if
(
m
.
isArray
(
b
)){
for
(
d
=
Ib
(
a
),
e
=
b
.
length
;
e
>
g
;
g
++
)
f
[
b
[
g
]]
=
m
.
css
(
a
,
b
[
g
],
!
1
,
d
);
return
f
}
return
void
0
!==
c
?
m
.
style
(
a
,
b
,
c
):
m
.
css
(
a
,
b
)},
a
,
b
,
arguments
.
length
>
1
)},
show
:
function
(){
return
Vb
(
this
,
!
0
)},
hide
:
function
(){
return
Vb
(
this
)},
toggle
:
function
(
a
){
return
"boolean"
==
typeof
a
?
a
?
this
.
show
():
this
.
hide
():
this
.
each
(
function
(){
U
(
this
)?
m
(
this
).
show
():
m
(
this
).
hide
()})}});
function
Zb
(
a
,
b
,
c
,
d
,
e
){
return
new
Zb
.
prototype
.
init
(
a
,
b
,
c
,
d
,
e
)}
m
.
Tween
=
Zb
,
Zb
.
prototype
=
{
constructor
:
Zb
,
init
:
function
(
a
,
b
,
c
,
d
,
e
,
f
){
this
.
elem
=
a
,
this
.
prop
=
c
,
this
.
easing
=
e
||
"swing"
,
this
.
options
=
b
,
this
.
start
=
this
.
now
=
this
.
cur
(),
this
.
end
=
d
,
this
.
unit
=
f
||
(
m
.
cssNumber
[
c
]?
""
:
"px"
)
...
...
dashboard/v1/js/npm.js
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.
// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.
require
(
'../../js/transition.js'
)
require
(
'../../js/transition.js'
)
require
(
'../../js/alert.js'
)
require
(
'../../js/alert.js'
)
...
...
dashboard/v1/lib/Angular/angular-route.min.js
View file @
811058e1
/*
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*
AngularJS v1.2.18
AngularJS v1.2.18
(c) 2010-2014 Google, Inc. http://angularjs.org
(c) 2010-2014 Google, Inc. http://angularjs.org
License: MIT
License: MIT
...
...
dashboard/v1/lib/Angular/angular-route.min.js.map
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
{
{
"version":3,
"version":3,
"file":"angular-route.min.js",
"file":"angular-route.min.js",
...
...
dashboard/v1/lib/Angular/angular.min.js
View file @
811058e1
/*
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*
AngularJS v1.2.17
AngularJS v1.2.17
(c) 2010-2014 Google, Inc. http://angularjs.org
(c) 2010-2014 Google, Inc. http://angularjs.org
License: MIT
License: MIT
...
...
dashboard/v1/lib/Angular/angular.min.js.map
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
{
{
"version":3,
"version":3,
"file":"angular.min.js",
"file":"angular.min.js",
...
...
dashboard/v2/.bowerrc
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
{
{
"directory": "dist/lib",
"directory": "dist/lib",
"storage": {
"storage": {
...
...
dashboard/v2/.jshintignore
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
test/coverage/**
test/coverage/**
\ No newline at end of file
dashboard/v2/.jshintrc
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
{
{
"browser": true, // Standard browser globals e.g. `window`, `document`.
"browser": true, // Standard browser globals e.g. `window`, `document`.
"bitwise": false, // Prohibit bitwise operators (&, |, ^, etc.).
"bitwise": false, // Prohibit bitwise operators (&, |, ^, etc.).
...
...
dashboard/v2/README.md
View file @
811058e1
/
*
*
Licensed to the Apache Software Foundation (ASF) under one
*
or more contributor license agreements. See the NOTICE file
*
distributed with this work for additional information
*
regarding copyright ownership. The ASF licenses this file
*
to you under the Apache License, Version 2.0 (the
*
"License"); you may not use this file except in compliance
*
with the License. You may obtain a copy of the License at
*
*
http://www.apache.org/licenses/LICENSE-2.0
*
*
Unless required by applicable law or agreed to in writing, software
*
distributed under the License is distributed on an "AS IS" BASIS,
*
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*
See the License for the specific language governing permissions and
*
limitations under the License.
*
/
# DGC Metadata
# DGC Metadata
## Instructions
## Instructions
...
...
dashboard/v2/bower.json
View file @
811058e1
/*
*
Licensed
to
the
Apache
Software
Foundation
(ASF)
under
one
*
or
more
contributor
license
agreements.
See
the
NOTICE
file
*
distributed
with
this
work
for
additional
information
*
regarding
copyright
ownership.
The
ASF
licenses
this
file
*
to
you
under
the
Apache
License
,
Version
2.0
(the
*
"License"
);
you
may
not
use
this
file
except
in
compliance
*
with
the
License.
You
may
obtain
a
copy
of
the
License
at
*
*
http
:
//www.apache.org/licenses/LICENSE
-2.0
*
*
Unless
required
by
applicable
law
or
agreed
to
in
writing
,
software
*
distributed
under
the
License
is
distributed
on
an
"AS IS"
BASIS
,
*
WITHOUT
WARRANTIES
OR
CONDITIONS
OF
ANY
KIND
,
either
express
or
implied.
*
See
the
License
for
the
specific
language
governing
permissions
and
*
limitations
under
the
License.
*/
{
{
"name"
:
"dgc-metadata"
,
"name"
:
"dgc-metadata"
,
"description"
:
"DGC Metadata"
,
"description"
:
"DGC Metadata"
,
...
...
dashboard/v2/gruntfile.js
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
'use strict'
;
'use strict'
;
var
git
=
require
(
'git-rev'
);
var
git
=
require
(
'git-rev'
);
...
...
dashboard/v2/public/css/details.css
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
.tab-content
.table-bordered
{
.tab-content
.table-bordered
{
border-top
:
none
;
border-top
:
none
;
}
}
\ No newline at end of file
dashboard/v2/public/css/sticky-footer-navbar.css
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/* Sticky footer styles
/* Sticky footer styles
-------------------------------------------------- */
-------------------------------------------------- */
html
{
html
{
...
...
dashboard/v2/server.js
View file @
811058e1
#!/usr/bin/env node
#!/usr/bin/env node
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
'use strict'
;
'use strict'
;
...
...
dashboard/v3/css/bootstrap-responsive.css
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*!
/*!
* Bootstrap Responsive v2.3.2
* Bootstrap Responsive v2.3.2
*
*
...
...
dashboard/v3/css/bootstrap-responsive.min.css
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*!
/*!
* Bootstrap Responsive v2.3.2
* Bootstrap Responsive v2.3.2
*
*
...
...
dashboard/v3/css/bootstrap-theme.css
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*!
/*!
* Bootstrap v3.3.2 (http://getbootstrap.com)
* Bootstrap v3.3.2 (http://getbootstrap.com)
* Copyright 2011-2015 Twitter, Inc.
* Copyright 2011-2015 Twitter, Inc.
...
...
dashboard/v3/css/bootstrap-theme.css.map
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
{"version":3,"sources":["less/theme.less","less/mixins/vendor-prefixes.less","bootstrap-theme.css","less/mixins/gradients.less","less/mixins/reset-filter.less"],"names":[],"mappings":"AAcA;;;;;;EAME,0CAAA;ECgDA,6FAAA;EACQ,qFAAA;EC5DT;AFgBC;;;;;;;;;;;;EC2CA,0DAAA;EACQ,kDAAA;EC7CT;AFVD;;;;;;EAiBI,mBAAA;EECH;AFiCC;;EAEE,wBAAA;EE/BH;AFoCD;EGnDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EAgC2C,2BAAA;EAA2B,oBAAA;EEzBvE;AFLC;;EAEE,2BAAA;EACA,8BAAA;EEOH;AFJC;;EAEE,2BAAA;EACA,uBAAA;EEMH;AFHC;;;EAGE,2BAAA;EACA,wBAAA;EEKH;AFUD;EGpDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EEgCD;AF9BC;;EAEE,2BAAA;EACA,8BAAA;EEgCH;AF7BC;;EAEE,2BAAA;EACA,uBAAA;EE+BH;AF5BC;;;EAGE,2BAAA;EACA,wBAAA;EE8BH;AFdD;EGrDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EEyDD;AFvDC;;EAEE,2BAAA;EACA,8BAAA;EEyDH;AFtDC;;EAEE,2BAAA;EACA,uBAAA;EEwDH;AFrDC;;;EAGE,2BAAA;EACA,wBAAA;EEuDH;AFtCD;EGtDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EEkFD;AFhFC;;EAEE,2BAAA;EACA,8BAAA;EEkFH;AF/EC;;EAEE,2BAAA;EACA,uBAAA;EEiFH;AF9EC;;;EAGE,2BAAA;EACA,wBAAA;EEgFH;AF9DD;EGvDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EE2GD;AFzGC;;EAEE,2BAAA;EACA,8BAAA;EE2GH;AFxGC;;EAEE,2BAAA;EACA,uBAAA;EE0GH;AFvGC;;;EAGE,2BAAA;EACA,wBAAA;EEyGH;AFtFD;EGxDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EEoID;AFlIC;;EAEE,2BAAA;EACA,8BAAA;EEoIH;AFjIC;;EAEE,2BAAA;EACA,uBAAA;EEmIH;AFhIC;;;EAGE,2BAAA;EACA,wBAAA;EEkIH;AFxGD;;EChBE,oDAAA;EACQ,4CAAA;EC4HT;AFnGD;;EGzEI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EHwEF,2BAAA;EEyGD;AFvGD;;;EG9EI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH8EF,2BAAA;EE6GD;AFpGD;EG3FI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ECnBF,qEAAA;EJ6GA,oBAAA;EC/CA,6FAAA;EACQ,qFAAA;EC0JT;AF/GD;;EG3FI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EF2CF,0DAAA;EACQ,kDAAA;ECoKT;AF5GD;;EAEE,gDAAA;EE8GD;AF1GD;EG9GI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ECnBF,qEAAA;EF+OD;AFlHD;;EG9GI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EF2CF,yDAAA;EACQ,iDAAA;EC0LT;AF5HD;;EAYI,2CAAA;EEoHH;AF/GD;;;EAGE,kBAAA;EEiHD;AF5FD;EAfI;;;IAGE,aAAA;IG3IF,0EAAA;IACA,qEAAA;IACA,+FAAA;IAAA,wEAAA;IACA,6BAAA;IACA,wHAAA;ID0PD;EACF;AFxGD;EACE,+CAAA;ECzGA,4FAAA;EACQ,oFAAA;ECoNT;AFhGD;EGpKI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH4JF,uBAAA;EE4GD;AFvGD;EGrKI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH4JF,uBAAA;EEoHD;AF9GD;EGtKI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH4JF,uBAAA;EE4HD;AFrHD;EGvKI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH4JF,uBAAA;EEoID;AFrHD;EG/KI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDuSH;AFlHD;EGzLI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED8SH;AFxHD;EG1LI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDqTH;AF9HD;EG3LI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED4TH;AFpID;EG5LI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDmUH;AF1ID;EG7LI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED0UH;AF7ID;EGhKI,+MAAA;EACA,0MAAA;EACA,uMAAA;EDgTH;AFzID;EACE,oBAAA;EC5JA,oDAAA;EACQ,4CAAA;ECwST;AF1ID;;;EAGE,+BAAA;EGjNE,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH+MF,uBAAA;EEgJD;AFrJD;;;EAQI,mBAAA;EEkJH;AFxID;ECjLE,mDAAA;EACQ,2CAAA;EC4TT;AFlID;EG1OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED+WH;AFxID;EG3OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDsXH;AF9ID;EG5OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED6XH;AFpJD;EG7OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDoYH;AF1JD;EG9OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED2YH;AFhKD;EG/OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDkZH;AFhKD;EGtPI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EHoPF,uBAAA;ECzMA,2FAAA;EACQ,mFAAA;ECgXT","file":"bootstrap-theme.css","sourcesContent":["\n//\n// Load core variables and mixins\n// --------------------------------------------------\n\n@import \"variables.less\";\n@import \"mixins.less\";\n\n\n//\n// Buttons\n// --------------------------------------------------\n\n// Common styles\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0,0,0,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n // Reset the shadow\n &:active,\n &.active {\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n }\n\n .badge {\n text-shadow: none;\n }\n}\n\n// Mixin for generating new styles\n.btn-styles(@btn-color: #555) {\n #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));\n .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620\n background-repeat: repeat-x;\n border-color: darken(@btn-color, 14%);\n\n &:hover,\n &:focus {\n background-color: darken(@btn-color, 12%);\n background-position: 0 -15px;\n }\n\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n border-color: darken(@btn-color, 14%);\n }\n\n &.disabled,\n &:disabled,\n &[disabled] {\n background-color: darken(@btn-color, 12%);\n background-image: none;\n }\n}\n\n// Common styles\n.btn {\n // Remove the gradient for the pressed/active state\n &:active,\n &.active {\n background-image: none;\n }\n}\n\n// Apply the mixin to the buttons\n.btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }\n.btn-primary { .btn-styles(@btn-primary-bg); }\n.btn-success { .btn-styles(@btn-success-bg); }\n.btn-info { .btn-styles(@btn-info-bg); }\n.btn-warning { .btn-styles(@btn-warning-bg); }\n.btn-danger { .btn-styles(@btn-danger-bg); }\n\n\n//\n// Images\n// --------------------------------------------------\n\n.thumbnail,\n.img-thumbnail {\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n\n\n//\n// Dropdowns\n// --------------------------------------------------\n\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));\n background-color: darken(@dropdown-link-hover-bg, 5%);\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n background-color: darken(@dropdown-link-active-bg, 5%);\n}\n\n\n//\n// Navbar\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n border-radius: @navbar-border-radius;\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-bg, 2%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.075));\n }\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255,255,255,.25);\n}\n\n// Inverted navbar\n.navbar-inverse {\n #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257\n\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.25));\n }\n\n .navbar-brand,\n .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0,0,0,.25);\n }\n}\n\n// Undo rounded corners in static and fixed navbars\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n\n// Fix active state of dropdown items in collapsed mode\n@media (max-width: @grid-float-breakpoint-max) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: #fff;\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n }\n }\n}\n\n\n//\n// Alerts\n// --------------------------------------------------\n\n// Common styles\n.alert {\n text-shadow: 0 1px 0 rgba(255,255,255,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);\n .box-shadow(@shadow);\n}\n\n// Mixin for generating new styles\n.alert-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));\n border-color: darken(@color, 15%);\n}\n\n// Apply the mixin to the alerts\n.alert-success { .alert-styles(@alert-success-bg); }\n.alert-info { .alert-styles(@alert-info-bg); }\n.alert-warning { .alert-styles(@alert-warning-bg); }\n.alert-danger { .alert-styles(@alert-danger-bg); }\n\n\n//\n// Progress bars\n// --------------------------------------------------\n\n// Give the progress background some depth\n.progress {\n #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)\n}\n\n// Mixin for generating new styles\n.progress-bar-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));\n}\n\n// Apply the mixin to the progress bars\n.progress-bar { .progress-bar-styles(@progress-bar-bg); }\n.progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }\n.progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }\n.progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }\n.progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }\n\n// Reset the striped class because our mixins don't do multiple gradients and\n// the above custom styles override the new `.progress-bar-striped` in v3.2.0.\n.progress-bar-striped {\n #gradient > .striped();\n}\n\n\n//\n// List groups\n// --------------------------------------------------\n\n.list-group {\n border-radius: @border-radius-base;\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);\n #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));\n border-color: darken(@list-group-active-border, 7.5%);\n\n .badge {\n text-shadow: none;\n }\n}\n\n\n//\n// Panels\n// --------------------------------------------------\n\n// Common styles\n.panel {\n .box-shadow(0 1px 2px rgba(0,0,0,.05));\n}\n\n// Mixin for generating new styles\n.panel-heading-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));\n}\n\n// Apply the mixin to the panel headings only\n.panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }\n.panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }\n.panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }\n.panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }\n.panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }\n.panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }\n\n\n//\n// Wells\n// --------------------------------------------------\n\n.well {\n #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);\n border-color: darken(@well-bg, 10%);\n @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);\n .box-shadow(@shadow);\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They will be removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility){\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n",".btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.btn-default:active,\n.btn-primary:active,\n.btn-success:active,\n.btn-info:active,\n.btn-warning:active,\n.btn-danger:active,\n.btn-default.active,\n.btn-primary.active,\n.btn-success.active,\n.btn-info.active,\n.btn-warning.active,\n.btn-danger.active {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-default .badge,\n.btn-primary .badge,\n.btn-success .badge,\n.btn-info .badge,\n.btn-warning .badge,\n.btn-danger .badge {\n text-shadow: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n}\n.btn-default {\n background-image: -webkit-linear-gradient(top, #ffffff 0%, #e0e0e0 100%);\n background-image: -o-linear-gradient(top, #ffffff 0%, #e0e0e0 100%);\n background-image: linear-gradient(to bottom, #ffffff 0%, #e0e0e0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #dbdbdb;\n text-shadow: 0 1px 0 #fff;\n border-color: #ccc;\n}\n.btn-default:hover,\n.btn-default:focus {\n background-color: #e0e0e0;\n background-position: 0 -15px;\n}\n.btn-default:active,\n.btn-default.active {\n background-color: #e0e0e0;\n border-color: #dbdbdb;\n}\n.btn-default.disabled,\n.btn-default:disabled,\n.btn-default[disabled] {\n background-color: #e0e0e0;\n background-image: none;\n}\n.btn-primary {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #245580;\n}\n.btn-primary:hover,\n.btn-primary:focus {\n background-color: #265a88;\n background-position: 0 -15px;\n}\n.btn-primary:active,\n.btn-primary.active {\n background-color: #265a88;\n border-color: #245580;\n}\n.btn-primary.disabled,\n.btn-primary:disabled,\n.btn-primary[disabled] {\n background-color: #265a88;\n background-image: none;\n}\n.btn-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #3e8f3e;\n}\n.btn-success:hover,\n.btn-success:focus {\n background-color: #419641;\n background-position: 0 -15px;\n}\n.btn-success:active,\n.btn-success.active {\n background-color: #419641;\n border-color: #3e8f3e;\n}\n.btn-success.disabled,\n.btn-success:disabled,\n.btn-success[disabled] {\n background-color: #419641;\n background-image: none;\n}\n.btn-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #28a4c9;\n}\n.btn-info:hover,\n.btn-info:focus {\n background-color: #2aabd2;\n background-position: 0 -15px;\n}\n.btn-info:active,\n.btn-info.active {\n background-color: #2aabd2;\n border-color: #28a4c9;\n}\n.btn-info.disabled,\n.btn-info:disabled,\n.btn-info[disabled] {\n background-color: #2aabd2;\n background-image: none;\n}\n.btn-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #e38d13;\n}\n.btn-warning:hover,\n.btn-warning:focus {\n background-color: #eb9316;\n background-position: 0 -15px;\n}\n.btn-warning:active,\n.btn-warning.active {\n background-color: #eb9316;\n border-color: #e38d13;\n}\n.btn-warning.disabled,\n.btn-warning:disabled,\n.btn-warning[disabled] {\n background-color: #eb9316;\n background-image: none;\n}\n.btn-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #b92c28;\n}\n.btn-danger:hover,\n.btn-danger:focus {\n background-color: #c12e2a;\n background-position: 0 -15px;\n}\n.btn-danger:active,\n.btn-danger.active {\n background-color: #c12e2a;\n border-color: #b92c28;\n}\n.btn-danger.disabled,\n.btn-danger:disabled,\n.btn-danger[disabled] {\n background-color: #c12e2a;\n background-image: none;\n}\n.thumbnail,\n.img-thumbnail {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-color: #e8e8e8;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-color: #2e6da4;\n}\n.navbar-default {\n background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);\n}\n.navbar-inverse {\n background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222222 100%);\n background-image: -o-linear-gradient(top, #3c3c3c 0%, #222222 100%);\n background-image: linear-gradient(to bottom, #3c3c3c 0%, #222222 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n}\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n@media (max-width: 767px) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n }\n}\n.alert {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.alert-success {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);\n border-color: #b2dba1;\n}\n.alert-info {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);\n border-color: #9acfea;\n}\n.alert-warning {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);\n border-color: #f5e79e;\n}\n.alert-danger {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);\n border-color: #dca7a7;\n}\n.progress {\n background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);\n}\n.progress-bar {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);\n}\n.progress-bar-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);\n}\n.progress-bar-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);\n}\n.progress-bar-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);\n}\n.progress-bar-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);\n}\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.list-group {\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 #286090;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);\n border-color: #2b669a;\n}\n.list-group-item.active .badge,\n.list-group-item.active:hover .badge,\n.list-group-item.active:focus .badge {\n text-shadow: none;\n}\n.panel {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.panel-default > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n}\n.panel-primary > .panel-heading {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n}\n.panel-success > .panel-heading {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);\n}\n.panel-info > .panel-heading {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);\n}\n.panel-warning > .panel-heading {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);\n}\n.panel-danger > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);\n}\n.well {\n background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);\n border-color: #dcdcdc;\n -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n/*# sourceMappingURL=bootstrap-theme.css.map */","// Gradients\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-repeat: repeat-x;\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n"]}
{"version":3,"sources":["less/theme.less","less/mixins/vendor-prefixes.less","bootstrap-theme.css","less/mixins/gradients.less","less/mixins/reset-filter.less"],"names":[],"mappings":"AAcA;;;;;;EAME,0CAAA;ECgDA,6FAAA;EACQ,qFAAA;EC5DT;AFgBC;;;;;;;;;;;;EC2CA,0DAAA;EACQ,kDAAA;EC7CT;AFVD;;;;;;EAiBI,mBAAA;EECH;AFiCC;;EAEE,wBAAA;EE/BH;AFoCD;EGnDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EAgC2C,2BAAA;EAA2B,oBAAA;EEzBvE;AFLC;;EAEE,2BAAA;EACA,8BAAA;EEOH;AFJC;;EAEE,2BAAA;EACA,uBAAA;EEMH;AFHC;;;EAGE,2BAAA;EACA,wBAAA;EEKH;AFUD;EGpDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EEgCD;AF9BC;;EAEE,2BAAA;EACA,8BAAA;EEgCH;AF7BC;;EAEE,2BAAA;EACA,uBAAA;EE+BH;AF5BC;;;EAGE,2BAAA;EACA,wBAAA;EE8BH;AFdD;EGrDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EEyDD;AFvDC;;EAEE,2BAAA;EACA,8BAAA;EEyDH;AFtDC;;EAEE,2BAAA;EACA,uBAAA;EEwDH;AFrDC;;;EAGE,2BAAA;EACA,wBAAA;EEuDH;AFtCD;EGtDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EEkFD;AFhFC;;EAEE,2BAAA;EACA,8BAAA;EEkFH;AF/EC;;EAEE,2BAAA;EACA,uBAAA;EEiFH;AF9EC;;;EAGE,2BAAA;EACA,wBAAA;EEgFH;AF9DD;EGvDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EE2GD;AFzGC;;EAEE,2BAAA;EACA,8BAAA;EE2GH;AFxGC;;EAEE,2BAAA;EACA,uBAAA;EE0GH;AFvGC;;;EAGE,2BAAA;EACA,wBAAA;EEyGH;AFtFD;EGxDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EEoID;AFlIC;;EAEE,2BAAA;EACA,8BAAA;EEoIH;AFjIC;;EAEE,2BAAA;EACA,uBAAA;EEmIH;AFhIC;;;EAGE,2BAAA;EACA,wBAAA;EEkIH;AFxGD;;EChBE,oDAAA;EACQ,4CAAA;EC4HT;AFnGD;;EGzEI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EHwEF,2BAAA;EEyGD;AFvGD;;;EG9EI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH8EF,2BAAA;EE6GD;AFpGD;EG3FI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ECnBF,qEAAA;EJ6GA,oBAAA;EC/CA,6FAAA;EACQ,qFAAA;EC0JT;AF/GD;;EG3FI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EF2CF,0DAAA;EACQ,kDAAA;ECoKT;AF5GD;;EAEE,gDAAA;EE8GD;AF1GD;EG9GI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ECnBF,qEAAA;EF+OD;AFlHD;;EG9GI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EF2CF,yDAAA;EACQ,iDAAA;EC0LT;AF5HD;;EAYI,2CAAA;EEoHH;AF/GD;;;EAGE,kBAAA;EEiHD;AF5FD;EAfI;;;IAGE,aAAA;IG3IF,0EAAA;IACA,qEAAA;IACA,+FAAA;IAAA,wEAAA;IACA,6BAAA;IACA,wHAAA;ID0PD;EACF;AFxGD;EACE,+CAAA;ECzGA,4FAAA;EACQ,oFAAA;ECoNT;AFhGD;EGpKI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH4JF,uBAAA;EE4GD;AFvGD;EGrKI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH4JF,uBAAA;EEoHD;AF9GD;EGtKI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH4JF,uBAAA;EE4HD;AFrHD;EGvKI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH4JF,uBAAA;EEoID;AFrHD;EG/KI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDuSH;AFlHD;EGzLI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED8SH;AFxHD;EG1LI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDqTH;AF9HD;EG3LI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED4TH;AFpID;EG5LI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDmUH;AF1ID;EG7LI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED0UH;AF7ID;EGhKI,+MAAA;EACA,0MAAA;EACA,uMAAA;EDgTH;AFzID;EACE,oBAAA;EC5JA,oDAAA;EACQ,4CAAA;ECwST;AF1ID;;;EAGE,+BAAA;EGjNE,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH+MF,uBAAA;EEgJD;AFrJD;;;EAQI,mBAAA;EEkJH;AFxID;ECjLE,mDAAA;EACQ,2CAAA;EC4TT;AFlID;EG1OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED+WH;AFxID;EG3OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDsXH;AF9ID;EG5OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED6XH;AFpJD;EG7OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDoYH;AF1JD;EG9OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED2YH;AFhKD;EG/OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDkZH;AFhKD;EGtPI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EHoPF,uBAAA;ECzMA,2FAAA;EACQ,mFAAA;ECgXT","file":"bootstrap-theme.css","sourcesContent":["\n//\n// Load core variables and mixins\n// --------------------------------------------------\n\n@import \"variables.less\";\n@import \"mixins.less\";\n\n\n//\n// Buttons\n// --------------------------------------------------\n\n// Common styles\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0,0,0,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n // Reset the shadow\n &:active,\n &.active {\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n }\n\n .badge {\n text-shadow: none;\n }\n}\n\n// Mixin for generating new styles\n.btn-styles(@btn-color: #555) {\n #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));\n .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620\n background-repeat: repeat-x;\n border-color: darken(@btn-color, 14%);\n\n &:hover,\n &:focus {\n background-color: darken(@btn-color, 12%);\n background-position: 0 -15px;\n }\n\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n border-color: darken(@btn-color, 14%);\n }\n\n &.disabled,\n &:disabled,\n &[disabled] {\n background-color: darken(@btn-color, 12%);\n background-image: none;\n }\n}\n\n// Common styles\n.btn {\n // Remove the gradient for the pressed/active state\n &:active,\n &.active {\n background-image: none;\n }\n}\n\n// Apply the mixin to the buttons\n.btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }\n.btn-primary { .btn-styles(@btn-primary-bg); }\n.btn-success { .btn-styles(@btn-success-bg); }\n.btn-info { .btn-styles(@btn-info-bg); }\n.btn-warning { .btn-styles(@btn-warning-bg); }\n.btn-danger { .btn-styles(@btn-danger-bg); }\n\n\n//\n// Images\n// --------------------------------------------------\n\n.thumbnail,\n.img-thumbnail {\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n\n\n//\n// Dropdowns\n// --------------------------------------------------\n\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));\n background-color: darken(@dropdown-link-hover-bg, 5%);\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n background-color: darken(@dropdown-link-active-bg, 5%);\n}\n\n\n//\n// Navbar\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n border-radius: @navbar-border-radius;\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-bg, 2%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.075));\n }\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255,255,255,.25);\n}\n\n// Inverted navbar\n.navbar-inverse {\n #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257\n\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.25));\n }\n\n .navbar-brand,\n .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0,0,0,.25);\n }\n}\n\n// Undo rounded corners in static and fixed navbars\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n\n// Fix active state of dropdown items in collapsed mode\n@media (max-width: @grid-float-breakpoint-max) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: #fff;\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n }\n }\n}\n\n\n//\n// Alerts\n// --------------------------------------------------\n\n// Common styles\n.alert {\n text-shadow: 0 1px 0 rgba(255,255,255,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);\n .box-shadow(@shadow);\n}\n\n// Mixin for generating new styles\n.alert-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));\n border-color: darken(@color, 15%);\n}\n\n// Apply the mixin to the alerts\n.alert-success { .alert-styles(@alert-success-bg); }\n.alert-info { .alert-styles(@alert-info-bg); }\n.alert-warning { .alert-styles(@alert-warning-bg); }\n.alert-danger { .alert-styles(@alert-danger-bg); }\n\n\n//\n// Progress bars\n// --------------------------------------------------\n\n// Give the progress background some depth\n.progress {\n #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)\n}\n\n// Mixin for generating new styles\n.progress-bar-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));\n}\n\n// Apply the mixin to the progress bars\n.progress-bar { .progress-bar-styles(@progress-bar-bg); }\n.progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }\n.progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }\n.progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }\n.progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }\n\n// Reset the striped class because our mixins don't do multiple gradients and\n// the above custom styles override the new `.progress-bar-striped` in v3.2.0.\n.progress-bar-striped {\n #gradient > .striped();\n}\n\n\n//\n// List groups\n// --------------------------------------------------\n\n.list-group {\n border-radius: @border-radius-base;\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);\n #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));\n border-color: darken(@list-group-active-border, 7.5%);\n\n .badge {\n text-shadow: none;\n }\n}\n\n\n//\n// Panels\n// --------------------------------------------------\n\n// Common styles\n.panel {\n .box-shadow(0 1px 2px rgba(0,0,0,.05));\n}\n\n// Mixin for generating new styles\n.panel-heading-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));\n}\n\n// Apply the mixin to the panel headings only\n.panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }\n.panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }\n.panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }\n.panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }\n.panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }\n.panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }\n\n\n//\n// Wells\n// --------------------------------------------------\n\n.well {\n #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);\n border-color: darken(@well-bg, 10%);\n @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);\n .box-shadow(@shadow);\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They will be removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility){\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n",".btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.btn-default:active,\n.btn-primary:active,\n.btn-success:active,\n.btn-info:active,\n.btn-warning:active,\n.btn-danger:active,\n.btn-default.active,\n.btn-primary.active,\n.btn-success.active,\n.btn-info.active,\n.btn-warning.active,\n.btn-danger.active {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-default .badge,\n.btn-primary .badge,\n.btn-success .badge,\n.btn-info .badge,\n.btn-warning .badge,\n.btn-danger .badge {\n text-shadow: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n}\n.btn-default {\n background-image: -webkit-linear-gradient(top, #ffffff 0%, #e0e0e0 100%);\n background-image: -o-linear-gradient(top, #ffffff 0%, #e0e0e0 100%);\n background-image: linear-gradient(to bottom, #ffffff 0%, #e0e0e0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #dbdbdb;\n text-shadow: 0 1px 0 #fff;\n border-color: #ccc;\n}\n.btn-default:hover,\n.btn-default:focus {\n background-color: #e0e0e0;\n background-position: 0 -15px;\n}\n.btn-default:active,\n.btn-default.active {\n background-color: #e0e0e0;\n border-color: #dbdbdb;\n}\n.btn-default.disabled,\n.btn-default:disabled,\n.btn-default[disabled] {\n background-color: #e0e0e0;\n background-image: none;\n}\n.btn-primary {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #245580;\n}\n.btn-primary:hover,\n.btn-primary:focus {\n background-color: #265a88;\n background-position: 0 -15px;\n}\n.btn-primary:active,\n.btn-primary.active {\n background-color: #265a88;\n border-color: #245580;\n}\n.btn-primary.disabled,\n.btn-primary:disabled,\n.btn-primary[disabled] {\n background-color: #265a88;\n background-image: none;\n}\n.btn-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #3e8f3e;\n}\n.btn-success:hover,\n.btn-success:focus {\n background-color: #419641;\n background-position: 0 -15px;\n}\n.btn-success:active,\n.btn-success.active {\n background-color: #419641;\n border-color: #3e8f3e;\n}\n.btn-success.disabled,\n.btn-success:disabled,\n.btn-success[disabled] {\n background-color: #419641;\n background-image: none;\n}\n.btn-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #28a4c9;\n}\n.btn-info:hover,\n.btn-info:focus {\n background-color: #2aabd2;\n background-position: 0 -15px;\n}\n.btn-info:active,\n.btn-info.active {\n background-color: #2aabd2;\n border-color: #28a4c9;\n}\n.btn-info.disabled,\n.btn-info:disabled,\n.btn-info[disabled] {\n background-color: #2aabd2;\n background-image: none;\n}\n.btn-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #e38d13;\n}\n.btn-warning:hover,\n.btn-warning:focus {\n background-color: #eb9316;\n background-position: 0 -15px;\n}\n.btn-warning:active,\n.btn-warning.active {\n background-color: #eb9316;\n border-color: #e38d13;\n}\n.btn-warning.disabled,\n.btn-warning:disabled,\n.btn-warning[disabled] {\n background-color: #eb9316;\n background-image: none;\n}\n.btn-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #b92c28;\n}\n.btn-danger:hover,\n.btn-danger:focus {\n background-color: #c12e2a;\n background-position: 0 -15px;\n}\n.btn-danger:active,\n.btn-danger.active {\n background-color: #c12e2a;\n border-color: #b92c28;\n}\n.btn-danger.disabled,\n.btn-danger:disabled,\n.btn-danger[disabled] {\n background-color: #c12e2a;\n background-image: none;\n}\n.thumbnail,\n.img-thumbnail {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-color: #e8e8e8;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-color: #2e6da4;\n}\n.navbar-default {\n background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);\n}\n.navbar-inverse {\n background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222222 100%);\n background-image: -o-linear-gradient(top, #3c3c3c 0%, #222222 100%);\n background-image: linear-gradient(to bottom, #3c3c3c 0%, #222222 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n}\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n@media (max-width: 767px) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n }\n}\n.alert {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.alert-success {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);\n border-color: #b2dba1;\n}\n.alert-info {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);\n border-color: #9acfea;\n}\n.alert-warning {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);\n border-color: #f5e79e;\n}\n.alert-danger {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);\n border-color: #dca7a7;\n}\n.progress {\n background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);\n}\n.progress-bar {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);\n}\n.progress-bar-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);\n}\n.progress-bar-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);\n}\n.progress-bar-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);\n}\n.progress-bar-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);\n}\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.list-group {\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 #286090;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);\n border-color: #2b669a;\n}\n.list-group-item.active .badge,\n.list-group-item.active:hover .badge,\n.list-group-item.active:focus .badge {\n text-shadow: none;\n}\n.panel {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.panel-default > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n}\n.panel-primary > .panel-heading {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n}\n.panel-success > .panel-heading {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);\n}\n.panel-info > .panel-heading {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);\n}\n.panel-warning > .panel-heading {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);\n}\n.panel-danger > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);\n}\n.well {\n background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);\n border-color: #dcdcdc;\n -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n/*# sourceMappingURL=bootstrap-theme.css.map */","// Gradients\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-repeat: repeat-x;\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n"]}
\ No newline at end of file
dashboard/v3/css/bootstrap-theme.min.css
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*!
/*!
* Bootstrap v3.3.2 (http://getbootstrap.com)
* Bootstrap v3.3.2 (http://getbootstrap.com)
* Copyright 2011-2015 Twitter, Inc.
* Copyright 2011-2015 Twitter, Inc.
...
...
dashboard/v3/css/bootstrap.css
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*!
/*!
* Bootstrap v3.3.2 (http://getbootstrap.com)
* Bootstrap v3.3.2 (http://getbootstrap.com)
* Copyright 2011-2015 Twitter, Inc.
* Copyright 2011-2015 Twitter, Inc.
...
...
dashboard/v3/css/bootstrap.min.css
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*!
/*!
* Bootstrap v3.3.1 (http://getbootstrap.com)
* Bootstrap v3.3.1 (http://getbootstrap.com)
* Copyright 2011-2014 Twitter, Inc.
* Copyright 2011-2014 Twitter, Inc.
...
...
dashboard/v3/css/heroic-features.css
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*!
/*!
* Start Bootstrap - Heroic Features HTML Template (http://startbootstrap.com)
* Start Bootstrap - Heroic Features HTML Template (http://startbootstrap.com)
* Code licensed under the Apache License v2.0.
* Code licensed under the Apache License v2.0.
...
...
dashboard/v3/css/pagination.css
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#tsc_breadcrumb-1
,
#tsc_breadcrumb-1
,
#tsc_breadcrumb-2
{
font
:
11px
Arial
,
Helvetica
,
sans-serif
;
height
:
30px
;
line-height
:
30px
;
color
:
#9b9b9b
;
border
:
solid
1px
#cacaca
;
width
:
100%
;
overflow
:
hidden
;
margin
:
0px
;
padding
:
0px
;
}
#tsc_breadcrumb-2
{
font
:
11px
Arial
,
Helvetica
,
sans-serif
;
height
:
30px
;
line-height
:
30px
;
color
:
#9b9b9b
;
border
:
solid
1px
#cacaca
;
width
:
100%
;
overflow
:
hidden
;
margin
:
0px
;
padding
:
0px
;
}
#tsc_breadcrumb-1
li
.current
{
color
:
#9b9b9b
;
border-right
:
1px
solid
#CCC
;
padding
:
0
14px
;
}
#tsc_breadcrumb-1
li
.current
{
color
:
#9b9b9b
;
border-right
:
1px
solid
#CCC
;
padding
:
0
14px
;
}
...
...
dashboard/v3/css/sticky-footer-navbar.css
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/* Sticky footer styles
/* Sticky footer styles
-------------------------------------------------- */
-------------------------------------------------- */
html
{
html
{
...
...
dashboard/v3/css/style.css
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
@font-face
{
@font-face
{
font-family
:
'lettrgoth12_btroman'
;
font-family
:
'lettrgoth12_btroman'
;
src
:
url('lettrgoth12-bt-roman.eot')
;
src
:
url('lettrgoth12-bt-roman.eot')
;
...
...
dashboard/v3/fonts/glyphicons-halflings-regular.svg
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
<?xml version="1.0" standalone="no"?>
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg
xmlns=
"http://www.w3.org/2000/svg"
>
<svg
xmlns=
"http://www.w3.org/2000/svg"
>
...
...
dashboard/v3/js/config.json
View file @
811058e1
/*
*
Licensed
to
the
Apache
Software
Foundation
(ASF)
under
one
*
or
more
contributor
license
agreements.
See
the
NOTICE
file
*
distributed
with
this
work
for
additional
information
*
regarding
copyright
ownership.
The
ASF
licenses
this
file
*
to
you
under
the
Apache
License
,
Version
2.0
(the
*
"License"
);
you
may
not
use
this
file
except
in
compliance
*
with
the
License.
You
may
obtain
a
copy
of
the
License
at
*
*
http
:
//www.apache.org/licenses/LICENSE
-2.0
*
*
Unless
required
by
applicable
law
or
agreed
to
in
writing
,
software
*
distributed
under
the
License
is
distributed
on
an
"AS IS"
BASIS
,
*
WITHOUT
WARRANTIES
OR
CONDITIONS
OF
ANY
KIND
,
either
express
or
implied.
*
See
the
License
for
the
specific
language
governing
permissions
and
*
limitations
under
the
License.
*/
{
"Search"
:
{
{
"Search"
:
{
"Table"
:
[
"Table"
:
[
{
"$id$"
:[
"id"
]
},
{
"$id$"
:[
"id"
]
},
...
...
dashboard/v3/lib/angular-route.min.js.map
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
{
{
"version":3,
"version":3,
"file":"angular-route.min.js",
"file":"angular-route.min.js",
...
...
dashboard/v3/lib/angular-ui-router.min.js
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
/**
* State-based routing for AngularJS
* State-based routing for AngularJS
* @version v0.2.13
* @version v0.2.13
...
...
dashboard/v3/lib/angular.js
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
/**
* @license AngularJS v1.2.14
* @license AngularJS v1.2.14
* (c) 2010-2014 Google, Inc. http://angularjs.org
* (c) 2010-2014 Google, Inc. http://angularjs.org
...
...
dashboard/v3/lib/angular.min.js
View file @
811058e1
/*
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*
AngularJS v1.2.17
AngularJS v1.2.17
(c) 2010-2014 Google, Inc. http://angularjs.org
(c) 2010-2014 Google, Inc. http://angularjs.org
License: MIT
License: MIT
...
...
dashboard/v3/lib/angular.min.js.map
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
{
{
"version":3,
"version":3,
"file":"angular.min.js",
"file":"angular.min.js",
...
...
dashboard/v3/lib/bootstrap.js
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*!
/*!
* Bootstrap v3.3.2 (http://getbootstrap.com)
* Bootstrap v3.3.2 (http://getbootstrap.com)
* Copyright 2011-2015 Twitter, Inc.
* Copyright 2011-2015 Twitter, Inc.
...
...
dashboard/v3/lib/bootstrap.min.js
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*!
/*!
* Bootstrap v3.3.1 (http://getbootstrap.com)
* Bootstrap v3.3.1 (http://getbootstrap.com)
* Copyright 2011-2014 Twitter, Inc.
* Copyright 2011-2014 Twitter, Inc.
...
...
dashboard/v3/lib/d3.tip.v0.6.3.js
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// d3.tip
// d3.tip
// Copyright (c) 2013 Justin Palmer
// Copyright (c) 2013 Justin Palmer
//
//
...
...
dashboard/v3/lib/ie-emulation-modes-warning.js
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT
// NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT
// IT'S JUST JUNK FOR OUR DOCS!
// IT'S JUST JUNK FOR OUR DOCS!
// ++++++++++++++++++++++++++++++++++++++++++
// ++++++++++++++++++++++++++++++++++++++++++
...
...
dashboard/v3/lib/ie10-viewport-bug-workaround.js
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*!
/*!
* IE10 viewport hack for Surface/desktop Windows 8 bug
* IE10 viewport hack for Surface/desktop Windows 8 bug
* Copyright 2014 Twitter, Inc.
* Copyright 2014 Twitter, Inc.
...
...
dashboard/v3/lib/jquery.js
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*! jQuery v1.11.2 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
/*! jQuery v1.11.2 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
!
function
(
a
,
b
){
"object"
==
typeof
module
&&
"object"
==
typeof
module
.
exports
?
module
.
exports
=
a
.
document
?
b
(
a
,
!
0
):
function
(
a
){
if
(
!
a
.
document
)
throw
new
Error
(
"jQuery requires a window with a document"
);
return
b
(
a
)}:
b
(
a
)}(
"undefined"
!=
typeof
window
?
window
:
this
,
function
(
a
,
b
){
var
c
=
[],
d
=
c
.
slice
,
e
=
c
.
concat
,
f
=
c
.
push
,
g
=
c
.
indexOf
,
h
=
{},
i
=
h
.
toString
,
j
=
h
.
hasOwnProperty
,
k
=
{},
l
=
"1.11.2"
,
m
=
function
(
a
,
b
){
return
new
m
.
fn
.
init
(
a
,
b
)},
n
=
/^
[\s\u
FEFF
\x
A0
]
+|
[\s\u
FEFF
\x
A0
]
+$/g
,
o
=
/^-ms-/
,
p
=
/-
([\d
a-z
])
/gi
,
q
=
function
(
a
,
b
){
return
b
.
toUpperCase
()};
m
.
fn
=
m
.
prototype
=
{
jquery
:
l
,
constructor
:
m
,
selector
:
""
,
length
:
0
,
toArray
:
function
(){
return
d
.
call
(
this
)},
get
:
function
(
a
){
return
null
!=
a
?
0
>
a
?
this
[
a
+
this
.
length
]:
this
[
a
]:
d
.
call
(
this
)},
pushStack
:
function
(
a
){
var
b
=
m
.
merge
(
this
.
constructor
(),
a
);
return
b
.
prevObject
=
this
,
b
.
context
=
this
.
context
,
b
},
each
:
function
(
a
,
b
){
return
m
.
each
(
this
,
a
,
b
)},
map
:
function
(
a
){
return
this
.
pushStack
(
m
.
map
(
this
,
function
(
b
,
c
){
return
a
.
call
(
b
,
c
,
b
)}))},
slice
:
function
(){
return
this
.
pushStack
(
d
.
apply
(
this
,
arguments
))},
first
:
function
(){
return
this
.
eq
(
0
)},
last
:
function
(){
return
this
.
eq
(
-
1
)},
eq
:
function
(
a
){
var
b
=
this
.
length
,
c
=+
a
+
(
0
>
a
?
b
:
0
);
return
this
.
pushStack
(
c
>=
0
&&
b
>
c
?[
this
[
c
]]:[])},
end
:
function
(){
return
this
.
prevObject
||
this
.
constructor
(
null
)},
push
:
f
,
sort
:
c
.
sort
,
splice
:
c
.
splice
},
m
.
extend
=
m
.
fn
.
extend
=
function
(){
var
a
,
b
,
c
,
d
,
e
,
f
,
g
=
arguments
[
0
]
||
{},
h
=
1
,
i
=
arguments
.
length
,
j
=!
1
;
for
(
"boolean"
==
typeof
g
&&
(
j
=
g
,
g
=
arguments
[
h
]
||
{},
h
++
),
"object"
==
typeof
g
||
m
.
isFunction
(
g
)
||
(
g
=
{}),
h
===
i
&&
(
g
=
this
,
h
--
);
i
>
h
;
h
++
)
if
(
null
!=
(
e
=
arguments
[
h
]))
for
(
d
in
e
)
a
=
g
[
d
],
c
=
e
[
d
],
g
!==
c
&&
(
j
&&
c
&&
(
m
.
isPlainObject
(
c
)
||
(
b
=
m
.
isArray
(
c
)))?(
b
?(
b
=!
1
,
f
=
a
&&
m
.
isArray
(
a
)?
a
:[]):
f
=
a
&&
m
.
isPlainObject
(
a
)?
a
:{},
g
[
d
]
=
m
.
extend
(
j
,
f
,
c
)):
void
0
!==
c
&&
(
g
[
d
]
=
c
));
return
g
},
m
.
extend
({
expando
:
"jQuery"
+
(
l
+
Math
.
random
()).
replace
(
/
\D
/g
,
""
),
isReady
:
!
0
,
error
:
function
(
a
){
throw
new
Error
(
a
)},
noop
:
function
(){},
isFunction
:
function
(
a
){
return
"function"
===
m
.
type
(
a
)},
isArray
:
Array
.
isArray
||
function
(
a
){
return
"array"
===
m
.
type
(
a
)},
isWindow
:
function
(
a
){
return
null
!=
a
&&
a
==
a
.
window
},
isNumeric
:
function
(
a
){
return
!
m
.
isArray
(
a
)
&&
a
-
parseFloat
(
a
)
+
1
>=
0
},
isEmptyObject
:
function
(
a
){
var
b
;
for
(
b
in
a
)
return
!
1
;
return
!
0
},
isPlainObject
:
function
(
a
){
var
b
;
if
(
!
a
||
"object"
!==
m
.
type
(
a
)
||
a
.
nodeType
||
m
.
isWindow
(
a
))
return
!
1
;
try
{
if
(
a
.
constructor
&&!
j
.
call
(
a
,
"constructor"
)
&&!
j
.
call
(
a
.
constructor
.
prototype
,
"isPrototypeOf"
))
return
!
1
}
catch
(
c
){
return
!
1
}
if
(
k
.
ownLast
)
for
(
b
in
a
)
return
j
.
call
(
a
,
b
);
for
(
b
in
a
);
return
void
0
===
b
||
j
.
call
(
a
,
b
)},
type
:
function
(
a
){
return
null
==
a
?
a
+
""
:
"object"
==
typeof
a
||
"function"
==
typeof
a
?
h
[
i
.
call
(
a
)]
||
"object"
:
typeof
a
},
globalEval
:
function
(
b
){
b
&&
m
.
trim
(
b
)
&&
(
a
.
execScript
||
function
(
b
){
a
.
eval
.
call
(
a
,
b
)})(
b
)},
camelCase
:
function
(
a
){
return
a
.
replace
(
o
,
"ms-"
).
replace
(
p
,
q
)},
nodeName
:
function
(
a
,
b
){
return
a
.
nodeName
&&
a
.
nodeName
.
toLowerCase
()
===
b
.
toLowerCase
()},
each
:
function
(
a
,
b
,
c
){
var
d
,
e
=
0
,
f
=
a
.
length
,
g
=
r
(
a
);
if
(
c
){
if
(
g
){
for
(;
f
>
e
;
e
++
)
if
(
d
=
b
.
apply
(
a
[
e
],
c
),
d
===!
1
)
break
}
else
for
(
e
in
a
)
if
(
d
=
b
.
apply
(
a
[
e
],
c
),
d
===!
1
)
break
}
else
if
(
g
){
for
(;
f
>
e
;
e
++
)
if
(
d
=
b
.
call
(
a
[
e
],
e
,
a
[
e
]),
d
===!
1
)
break
}
else
for
(
e
in
a
)
if
(
d
=
b
.
call
(
a
[
e
],
e
,
a
[
e
]),
d
===!
1
)
break
;
return
a
},
trim
:
function
(
a
){
return
null
==
a
?
""
:(
a
+
""
).
replace
(
n
,
""
)},
makeArray
:
function
(
a
,
b
){
var
c
=
b
||
[];
return
null
!=
a
&&
(
r
(
Object
(
a
))?
m
.
merge
(
c
,
"string"
==
typeof
a
?[
a
]:
a
):
f
.
call
(
c
,
a
)),
c
},
inArray
:
function
(
a
,
b
,
c
){
var
d
;
if
(
b
){
if
(
g
)
return
g
.
call
(
b
,
a
,
c
);
for
(
d
=
b
.
length
,
c
=
c
?
0
>
c
?
Math
.
max
(
0
,
d
+
c
):
c
:
0
;
d
>
c
;
c
++
)
if
(
c
in
b
&&
b
[
c
]
===
a
)
return
c
}
return
-
1
},
merge
:
function
(
a
,
b
){
var
c
=+
b
.
length
,
d
=
0
,
e
=
a
.
length
;
while
(
c
>
d
)
a
[
e
++
]
=
b
[
d
++
];
if
(
c
!==
c
)
while
(
void
0
!==
b
[
d
])
a
[
e
++
]
=
b
[
d
++
];
return
a
.
length
=
e
,
a
},
grep
:
function
(
a
,
b
,
c
){
for
(
var
d
,
e
=
[],
f
=
0
,
g
=
a
.
length
,
h
=!
c
;
g
>
f
;
f
++
)
d
=!
b
(
a
[
f
],
f
),
d
!==
h
&&
e
.
push
(
a
[
f
]);
return
e
},
map
:
function
(
a
,
b
,
c
){
var
d
,
f
=
0
,
g
=
a
.
length
,
h
=
r
(
a
),
i
=
[];
if
(
h
)
for
(;
g
>
f
;
f
++
)
d
=
b
(
a
[
f
],
f
,
c
),
null
!=
d
&&
i
.
push
(
d
);
else
for
(
f
in
a
)
d
=
b
(
a
[
f
],
f
,
c
),
null
!=
d
&&
i
.
push
(
d
);
return
e
.
apply
([],
i
)},
guid
:
1
,
proxy
:
function
(
a
,
b
){
var
c
,
e
,
f
;
return
"string"
==
typeof
b
&&
(
f
=
a
[
b
],
b
=
a
,
a
=
f
),
m
.
isFunction
(
a
)?(
c
=
d
.
call
(
arguments
,
2
),
e
=
function
(){
return
a
.
apply
(
b
||
this
,
c
.
concat
(
d
.
call
(
arguments
)))},
e
.
guid
=
a
.
guid
=
a
.
guid
||
m
.
guid
++
,
e
):
void
0
},
now
:
function
(){
return
+
new
Date
},
support
:
k
}),
m
.
each
(
"Boolean Number String Function Array Date RegExp Object Error"
.
split
(
" "
),
function
(
a
,
b
){
h
[
"[object "
+
b
+
"]"
]
=
b
.
toLowerCase
()});
function
r
(
a
){
var
b
=
a
.
length
,
c
=
m
.
type
(
a
);
return
"function"
===
c
||
m
.
isWindow
(
a
)?
!
1
:
1
===
a
.
nodeType
&&
b
?
!
0
:
"array"
===
c
||
0
===
b
||
"number"
==
typeof
b
&&
b
>
0
&&
b
-
1
in
a
}
var
s
=
function
(
a
){
var
b
,
c
,
d
,
e
,
f
,
g
,
h
,
i
,
j
,
k
,
l
,
m
,
n
,
o
,
p
,
q
,
r
,
s
,
t
,
u
=
"sizzle"
+
1
*
new
Date
,
v
=
a
.
document
,
w
=
0
,
x
=
0
,
y
=
hb
(),
z
=
hb
(),
A
=
hb
(),
B
=
function
(
a
,
b
){
return
a
===
b
&&
(
l
=!
0
),
0
},
C
=
1
<<
31
,
D
=
{}.
hasOwnProperty
,
E
=
[],
F
=
E
.
pop
,
G
=
E
.
push
,
H
=
E
.
push
,
I
=
E
.
slice
,
J
=
function
(
a
,
b
){
for
(
var
c
=
0
,
d
=
a
.
length
;
d
>
c
;
c
++
)
if
(
a
[
c
]
===
b
)
return
c
;
return
-
1
},
K
=
"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped"
,
L
=
"[
\\
x20
\\
t
\\
r
\\
n
\\
f]"
,
M
=
"(?:
\\\\
.|[
\\
w-]|[^
\\
x00-
\\
xa0])+"
,
N
=
M
.
replace
(
"w"
,
"w#"
),
O
=
"
\\
["
+
L
+
"*("
+
M
+
")(?:"
+
L
+
"*([*^$|!~]?=)"
+
L
+
"*(?:'((?:
\\\\
.|[^
\\\\
'])*)'|
\"
((?:
\\\\
.|[^
\\\\
\"
])*)
\"
|("
+
N
+
"))|)"
+
L
+
"*
\\
]"
,
P
=
":("
+
M
+
")(?:
\\
((('((?:
\\\\
.|[^
\\\\
'])*)'|
\"
((?:
\\\\
.|[^
\\\\
\"
])*)
\"
)|((?:
\\\\
.|[^
\\\\
()[
\\
]]|"
+
O
+
")*)|.*)
\\
)|)"
,
Q
=
new
RegExp
(
L
+
"+"
,
"g"
),
R
=
new
RegExp
(
"^"
+
L
+
"+|((?:^|[^
\\\\
])(?:
\\\\
.)*)"
+
L
+
"+$"
,
"g"
),
S
=
new
RegExp
(
"^"
+
L
+
"*,"
+
L
+
"*"
),
T
=
new
RegExp
(
"^"
+
L
+
"*([>+~]|"
+
L
+
")"
+
L
+
"*"
),
U
=
new
RegExp
(
"="
+
L
+
"*([^
\\
]'
\"
]*?)"
+
L
+
"*
\\
]"
,
"g"
),
V
=
new
RegExp
(
P
),
W
=
new
RegExp
(
"^"
+
N
+
"$"
),
X
=
{
ID
:
new
RegExp
(
"^#("
+
M
+
")"
),
CLASS
:
new
RegExp
(
"^
\\
.("
+
M
+
")"
),
TAG
:
new
RegExp
(
"^("
+
M
.
replace
(
"w"
,
"w*"
)
+
")"
),
ATTR
:
new
RegExp
(
"^"
+
O
),
PSEUDO
:
new
RegExp
(
"^"
+
P
),
CHILD
:
new
RegExp
(
"^:(only|first|last|nth|nth-last)-(child|of-type)(?:
\\
("
+
L
+
"*(even|odd|(([+-]|)(
\\
d*)n|)"
+
L
+
"*(?:([+-]|)"
+
L
+
"*(
\\
d+)|))"
+
L
+
"*
\\
)|)"
,
"i"
),
bool
:
new
RegExp
(
"^(?:"
+
K
+
")$"
,
"i"
),
needsContext
:
new
RegExp
(
"^"
+
L
+
"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:
\\
("
+
L
+
"*((?:-
\\
d)?
\\
d*)"
+
L
+
"*
\\
)|)(?=[^-]|$)"
,
"i"
)},
Y
=
/^
(?:
input|select|textarea|button
)
$/i
,
Z
=
/^h
\d
$/i
,
$
=
/^
[^
{
]
+
\{\s
*
\[
native
\w
/
,
_
=
/^
(?:
#
([\w
-
]
+
)
|
(\w
+
)
|
\.([\w
-
]
+
))
$/
,
ab
=
/
[
+~
]
/
,
bb
=
/'|
\\
/g
,
cb
=
new
RegExp
(
"
\\\\
([
\\
da-f]{1,6}"
+
L
+
"?|("
+
L
+
")|.)"
,
"ig"
),
db
=
function
(
a
,
b
,
c
){
var
d
=
"0x"
+
b
-
65536
;
return
d
!==
d
||
c
?
b
:
0
>
d
?
String
.
fromCharCode
(
d
+
65536
):
String
.
fromCharCode
(
d
>>
10
|
55296
,
1023
&
d
|
56320
)},
eb
=
function
(){
m
()};
try
{
H
.
apply
(
E
=
I
.
call
(
v
.
childNodes
),
v
.
childNodes
),
E
[
v
.
childNodes
.
length
].
nodeType
}
catch
(
fb
){
H
=
{
apply
:
E
.
length
?
function
(
a
,
b
){
G
.
apply
(
a
,
I
.
call
(
b
))}:
function
(
a
,
b
){
var
c
=
a
.
length
,
d
=
0
;
while
(
a
[
c
++
]
=
b
[
d
++
]);
a
.
length
=
c
-
1
}}}
function
gb
(
a
,
b
,
d
,
e
){
var
f
,
h
,
j
,
k
,
l
,
o
,
r
,
s
,
w
,
x
;
if
((
b
?
b
.
ownerDocument
||
b
:
v
)
!==
n
&&
m
(
b
),
b
=
b
||
n
,
d
=
d
||
[],
k
=
b
.
nodeType
,
"string"
!=
typeof
a
||!
a
||
1
!==
k
&&
9
!==
k
&&
11
!==
k
)
return
d
;
if
(
!
e
&&
p
){
if
(
11
!==
k
&&
(
f
=
_
.
exec
(
a
)))
if
(
j
=
f
[
1
]){
if
(
9
===
k
){
if
(
h
=
b
.
getElementById
(
j
),
!
h
||!
h
.
parentNode
)
return
d
;
if
(
h
.
id
===
j
)
return
d
.
push
(
h
),
d
}
else
if
(
b
.
ownerDocument
&&
(
h
=
b
.
ownerDocument
.
getElementById
(
j
))
&&
t
(
b
,
h
)
&&
h
.
id
===
j
)
return
d
.
push
(
h
),
d
}
else
{
if
(
f
[
2
])
return
H
.
apply
(
d
,
b
.
getElementsByTagName
(
a
)),
d
;
if
((
j
=
f
[
3
])
&&
c
.
getElementsByClassName
)
return
H
.
apply
(
d
,
b
.
getElementsByClassName
(
j
)),
d
}
if
(
c
.
qsa
&&
(
!
q
||!
q
.
test
(
a
))){
if
(
s
=
r
=
u
,
w
=
b
,
x
=
1
!==
k
&&
a
,
1
===
k
&&
"object"
!==
b
.
nodeName
.
toLowerCase
()){
o
=
g
(
a
),(
r
=
b
.
getAttribute
(
"id"
))?
s
=
r
.
replace
(
bb
,
"
\\
$&"
):
b
.
setAttribute
(
"id"
,
s
),
s
=
"[id='"
+
s
+
"'] "
,
l
=
o
.
length
;
while
(
l
--
)
o
[
l
]
=
s
+
rb
(
o
[
l
]);
w
=
ab
.
test
(
a
)
&&
pb
(
b
.
parentNode
)
||
b
,
x
=
o
.
join
(
","
)}
if
(
x
)
try
{
return
H
.
apply
(
d
,
w
.
querySelectorAll
(
x
)),
d
}
catch
(
y
){}
finally
{
r
||
b
.
removeAttribute
(
"id"
)}}}
return
i
(
a
.
replace
(
R
,
"$1"
),
b
,
d
,
e
)}
function
hb
(){
var
a
=
[];
function
b
(
c
,
e
){
return
a
.
push
(
c
+
" "
)
>
d
.
cacheLength
&&
delete
b
[
a
.
shift
()],
b
[
c
+
" "
]
=
e
}
return
b
}
function
ib
(
a
){
return
a
[
u
]
=!
0
,
a
}
function
jb
(
a
){
var
b
=
n
.
createElement
(
"div"
);
try
{
return
!!
a
(
b
)}
catch
(
c
){
return
!
1
}
finally
{
b
.
parentNode
&&
b
.
parentNode
.
removeChild
(
b
),
b
=
null
}}
function
kb
(
a
,
b
){
var
c
=
a
.
split
(
"|"
),
e
=
a
.
length
;
while
(
e
--
)
d
.
attrHandle
[
c
[
e
]]
=
b
}
function
lb
(
a
,
b
){
var
c
=
b
&&
a
,
d
=
c
&&
1
===
a
.
nodeType
&&
1
===
b
.
nodeType
&&
(
~
b
.
sourceIndex
||
C
)
-
(
~
a
.
sourceIndex
||
C
);
if
(
d
)
return
d
;
if
(
c
)
while
(
c
=
c
.
nextSibling
)
if
(
c
===
b
)
return
-
1
;
return
a
?
1
:
-
1
}
function
mb
(
a
){
return
function
(
b
){
var
c
=
b
.
nodeName
.
toLowerCase
();
return
"input"
===
c
&&
b
.
type
===
a
}}
function
nb
(
a
){
return
function
(
b
){
var
c
=
b
.
nodeName
.
toLowerCase
();
return
(
"input"
===
c
||
"button"
===
c
)
&&
b
.
type
===
a
}}
function
ob
(
a
){
return
ib
(
function
(
b
){
return
b
=+
b
,
ib
(
function
(
c
,
d
){
var
e
,
f
=
a
([],
c
.
length
,
b
),
g
=
f
.
length
;
while
(
g
--
)
c
[
e
=
f
[
g
]]
&&
(
c
[
e
]
=!
(
d
[
e
]
=
c
[
e
]))})})}
function
pb
(
a
){
return
a
&&
"undefined"
!=
typeof
a
.
getElementsByTagName
&&
a
}
c
=
gb
.
support
=
{},
f
=
gb
.
isXML
=
function
(
a
){
var
b
=
a
&&
(
a
.
ownerDocument
||
a
).
documentElement
;
return
b
?
"HTML"
!==
b
.
nodeName
:
!
1
},
m
=
gb
.
setDocument
=
function
(
a
){
var
b
,
e
,
g
=
a
?
a
.
ownerDocument
||
a
:
v
;
return
g
!==
n
&&
9
===
g
.
nodeType
&&
g
.
documentElement
?(
n
=
g
,
o
=
g
.
documentElement
,
e
=
g
.
defaultView
,
e
&&
e
!==
e
.
top
&&
(
e
.
addEventListener
?
e
.
addEventListener
(
"unload"
,
eb
,
!
1
):
e
.
attachEvent
&&
e
.
attachEvent
(
"onunload"
,
eb
)),
p
=!
f
(
g
),
c
.
attributes
=
jb
(
function
(
a
){
return
a
.
className
=
"i"
,
!
a
.
getAttribute
(
"className"
)}),
c
.
getElementsByTagName
=
jb
(
function
(
a
){
return
a
.
appendChild
(
g
.
createComment
(
""
)),
!
a
.
getElementsByTagName
(
"*"
).
length
}),
c
.
getElementsByClassName
=
$
.
test
(
g
.
getElementsByClassName
),
c
.
getById
=
jb
(
function
(
a
){
return
o
.
appendChild
(
a
).
id
=
u
,
!
g
.
getElementsByName
||!
g
.
getElementsByName
(
u
).
length
}),
c
.
getById
?(
d
.
find
.
ID
=
function
(
a
,
b
){
if
(
"undefined"
!=
typeof
b
.
getElementById
&&
p
){
var
c
=
b
.
getElementById
(
a
);
return
c
&&
c
.
parentNode
?[
c
]:[]}},
d
.
filter
.
ID
=
function
(
a
){
var
b
=
a
.
replace
(
cb
,
db
);
return
function
(
a
){
return
a
.
getAttribute
(
"id"
)
===
b
}}):(
delete
d
.
find
.
ID
,
d
.
filter
.
ID
=
function
(
a
){
var
b
=
a
.
replace
(
cb
,
db
);
return
function
(
a
){
var
c
=
"undefined"
!=
typeof
a
.
getAttributeNode
&&
a
.
getAttributeNode
(
"id"
);
return
c
&&
c
.
value
===
b
}}),
d
.
find
.
TAG
=
c
.
getElementsByTagName
?
function
(
a
,
b
){
return
"undefined"
!=
typeof
b
.
getElementsByTagName
?
b
.
getElementsByTagName
(
a
):
c
.
qsa
?
b
.
querySelectorAll
(
a
):
void
0
}:
function
(
a
,
b
){
var
c
,
d
=
[],
e
=
0
,
f
=
b
.
getElementsByTagName
(
a
);
if
(
"*"
===
a
){
while
(
c
=
f
[
e
++
])
1
===
c
.
nodeType
&&
d
.
push
(
c
);
return
d
}
return
f
},
d
.
find
.
CLASS
=
c
.
getElementsByClassName
&&
function
(
a
,
b
){
return
p
?
b
.
getElementsByClassName
(
a
):
void
0
},
r
=
[],
q
=
[],(
c
.
qsa
=
$
.
test
(
g
.
querySelectorAll
))
&&
(
jb
(
function
(
a
){
o
.
appendChild
(
a
).
innerHTML
=
"<a id='"
+
u
+
"'></a><select id='"
+
u
+
"-
\
f]' msallowcapture=''><option selected=''></option></select>"
,
a
.
querySelectorAll
(
"[msallowcapture^='']"
).
length
&&
q
.
push
(
"[*^$]="
+
L
+
"*(?:''|
\"\"
)"
),
a
.
querySelectorAll
(
"[selected]"
).
length
||
q
.
push
(
"
\\
["
+
L
+
"*(?:value|"
+
K
+
")"
),
a
.
querySelectorAll
(
"[id~="
+
u
+
"-]"
).
length
||
q
.
push
(
"~="
),
a
.
querySelectorAll
(
":checked"
).
length
||
q
.
push
(
":checked"
),
a
.
querySelectorAll
(
"a#"
+
u
+
"+*"
).
length
||
q
.
push
(
".#.+[+~]"
)}),
jb
(
function
(
a
){
var
b
=
g
.
createElement
(
"input"
);
b
.
setAttribute
(
"type"
,
"hidden"
),
a
.
appendChild
(
b
).
setAttribute
(
"name"
,
"D"
),
a
.
querySelectorAll
(
"[name=d]"
).
length
&&
q
.
push
(
"name"
+
L
+
"*[*^$|!~]?="
),
a
.
querySelectorAll
(
":enabled"
).
length
||
q
.
push
(
":enabled"
,
":disabled"
),
a
.
querySelectorAll
(
"*,:x"
),
q
.
push
(
",.*:"
)})),(
c
.
matchesSelector
=
$
.
test
(
s
=
o
.
matches
||
o
.
webkitMatchesSelector
||
o
.
mozMatchesSelector
||
o
.
oMatchesSelector
||
o
.
msMatchesSelector
))
&&
jb
(
function
(
a
){
c
.
disconnectedMatch
=
s
.
call
(
a
,
"div"
),
s
.
call
(
a
,
"[s!='']:x"
),
r
.
push
(
"!="
,
P
)}),
q
=
q
.
length
&&
new
RegExp
(
q
.
join
(
"|"
)),
r
=
r
.
length
&&
new
RegExp
(
r
.
join
(
"|"
)),
b
=
$
.
test
(
o
.
compareDocumentPosition
),
t
=
b
||
$
.
test
(
o
.
contains
)?
function
(
a
,
b
){
var
c
=
9
===
a
.
nodeType
?
a
.
documentElement
:
a
,
d
=
b
&&
b
.
parentNode
;
return
a
===
d
||!
(
!
d
||
1
!==
d
.
nodeType
||!
(
c
.
contains
?
c
.
contains
(
d
):
a
.
compareDocumentPosition
&&
16
&
a
.
compareDocumentPosition
(
d
)))}:
function
(
a
,
b
){
if
(
b
)
while
(
b
=
b
.
parentNode
)
if
(
b
===
a
)
return
!
0
;
return
!
1
},
B
=
b
?
function
(
a
,
b
){
if
(
a
===
b
)
return
l
=!
0
,
0
;
var
d
=!
a
.
compareDocumentPosition
-!
b
.
compareDocumentPosition
;
return
d
?
d
:(
d
=
(
a
.
ownerDocument
||
a
)
===
(
b
.
ownerDocument
||
b
)?
a
.
compareDocumentPosition
(
b
):
1
,
1
&
d
||!
c
.
sortDetached
&&
b
.
compareDocumentPosition
(
a
)
===
d
?
a
===
g
||
a
.
ownerDocument
===
v
&&
t
(
v
,
a
)?
-
1
:
b
===
g
||
b
.
ownerDocument
===
v
&&
t
(
v
,
b
)?
1
:
k
?
J
(
k
,
a
)
-
J
(
k
,
b
):
0
:
4
&
d
?
-
1
:
1
)}:
function
(
a
,
b
){
if
(
a
===
b
)
return
l
=!
0
,
0
;
var
c
,
d
=
0
,
e
=
a
.
parentNode
,
f
=
b
.
parentNode
,
h
=
[
a
],
i
=
[
b
];
if
(
!
e
||!
f
)
return
a
===
g
?
-
1
:
b
===
g
?
1
:
e
?
-
1
:
f
?
1
:
k
?
J
(
k
,
a
)
-
J
(
k
,
b
):
0
;
if
(
e
===
f
)
return
lb
(
a
,
b
);
c
=
a
;
while
(
c
=
c
.
parentNode
)
h
.
unshift
(
c
);
c
=
b
;
while
(
c
=
c
.
parentNode
)
i
.
unshift
(
c
);
while
(
h
[
d
]
===
i
[
d
])
d
++
;
return
d
?
lb
(
h
[
d
],
i
[
d
]):
h
[
d
]
===
v
?
-
1
:
i
[
d
]
===
v
?
1
:
0
},
g
):
n
},
gb
.
matches
=
function
(
a
,
b
){
return
gb
(
a
,
null
,
null
,
b
)},
gb
.
matchesSelector
=
function
(
a
,
b
){
if
((
a
.
ownerDocument
||
a
)
!==
n
&&
m
(
a
),
b
=
b
.
replace
(
U
,
"='$1']"
),
!
(
!
c
.
matchesSelector
||!
p
||
r
&&
r
.
test
(
b
)
||
q
&&
q
.
test
(
b
)))
try
{
var
d
=
s
.
call
(
a
,
b
);
if
(
d
||
c
.
disconnectedMatch
||
a
.
document
&&
11
!==
a
.
document
.
nodeType
)
return
d
}
catch
(
e
){}
return
gb
(
b
,
n
,
null
,[
a
]).
length
>
0
},
gb
.
contains
=
function
(
a
,
b
){
return
(
a
.
ownerDocument
||
a
)
!==
n
&&
m
(
a
),
t
(
a
,
b
)},
gb
.
attr
=
function
(
a
,
b
){(
a
.
ownerDocument
||
a
)
!==
n
&&
m
(
a
);
var
e
=
d
.
attrHandle
[
b
.
toLowerCase
()],
f
=
e
&&
D
.
call
(
d
.
attrHandle
,
b
.
toLowerCase
())?
e
(
a
,
b
,
!
p
):
void
0
;
return
void
0
!==
f
?
f
:
c
.
attributes
||!
p
?
a
.
getAttribute
(
b
):(
f
=
a
.
getAttributeNode
(
b
))
&&
f
.
specified
?
f
.
value
:
null
},
gb
.
error
=
function
(
a
){
throw
new
Error
(
"Syntax error, unrecognized expression: "
+
a
)},
gb
.
uniqueSort
=
function
(
a
){
var
b
,
d
=
[],
e
=
0
,
f
=
0
;
if
(
l
=!
c
.
detectDuplicates
,
k
=!
c
.
sortStable
&&
a
.
slice
(
0
),
a
.
sort
(
B
),
l
){
while
(
b
=
a
[
f
++
])
b
===
a
[
f
]
&&
(
e
=
d
.
push
(
f
));
while
(
e
--
)
a
.
splice
(
d
[
e
],
1
)}
return
k
=
null
,
a
},
e
=
gb
.
getText
=
function
(
a
){
var
b
,
c
=
""
,
d
=
0
,
f
=
a
.
nodeType
;
if
(
f
){
if
(
1
===
f
||
9
===
f
||
11
===
f
){
if
(
"string"
==
typeof
a
.
textContent
)
return
a
.
textContent
;
for
(
a
=
a
.
firstChild
;
a
;
a
=
a
.
nextSibling
)
c
+=
e
(
a
)}
else
if
(
3
===
f
||
4
===
f
)
return
a
.
nodeValue
}
else
while
(
b
=
a
[
d
++
])
c
+=
e
(
b
);
return
c
},
d
=
gb
.
selectors
=
{
cacheLength
:
50
,
createPseudo
:
ib
,
match
:
X
,
attrHandle
:{},
find
:{},
relative
:{
">"
:{
dir
:
"parentNode"
,
first
:
!
0
},
" "
:{
dir
:
"parentNode"
},
"+"
:{
dir
:
"previousSibling"
,
first
:
!
0
},
"~"
:{
dir
:
"previousSibling"
}},
preFilter
:{
ATTR
:
function
(
a
){
return
a
[
1
]
=
a
[
1
].
replace
(
cb
,
db
),
a
[
3
]
=
(
a
[
3
]
||
a
[
4
]
||
a
[
5
]
||
""
).
replace
(
cb
,
db
),
"~="
===
a
[
2
]
&&
(
a
[
3
]
=
" "
+
a
[
3
]
+
" "
),
a
.
slice
(
0
,
4
)},
CHILD
:
function
(
a
){
return
a
[
1
]
=
a
[
1
].
toLowerCase
(),
"nth"
===
a
[
1
].
slice
(
0
,
3
)?(
a
[
3
]
||
gb
.
error
(
a
[
0
]),
a
[
4
]
=+
(
a
[
4
]?
a
[
5
]
+
(
a
[
6
]
||
1
):
2
*
(
"even"
===
a
[
3
]
||
"odd"
===
a
[
3
])),
a
[
5
]
=+
(
a
[
7
]
+
a
[
8
]
||
"odd"
===
a
[
3
])):
a
[
3
]
&&
gb
.
error
(
a
[
0
]),
a
},
PSEUDO
:
function
(
a
){
var
b
,
c
=!
a
[
6
]
&&
a
[
2
];
return
X
.
CHILD
.
test
(
a
[
0
])?
null
:(
a
[
3
]?
a
[
2
]
=
a
[
4
]
||
a
[
5
]
||
""
:
c
&&
V
.
test
(
c
)
&&
(
b
=
g
(
c
,
!
0
))
&&
(
b
=
c
.
indexOf
(
")"
,
c
.
length
-
b
)
-
c
.
length
)
&&
(
a
[
0
]
=
a
[
0
].
slice
(
0
,
b
),
a
[
2
]
=
c
.
slice
(
0
,
b
)),
a
.
slice
(
0
,
3
))}},
filter
:{
TAG
:
function
(
a
){
var
b
=
a
.
replace
(
cb
,
db
).
toLowerCase
();
return
"*"
===
a
?
function
(){
return
!
0
}:
function
(
a
){
return
a
.
nodeName
&&
a
.
nodeName
.
toLowerCase
()
===
b
}},
CLASS
:
function
(
a
){
var
b
=
y
[
a
+
" "
];
return
b
||
(
b
=
new
RegExp
(
"(^|"
+
L
+
")"
+
a
+
"("
+
L
+
"|$)"
))
&&
y
(
a
,
function
(
a
){
return
b
.
test
(
"string"
==
typeof
a
.
className
&&
a
.
className
||
"undefined"
!=
typeof
a
.
getAttribute
&&
a
.
getAttribute
(
"class"
)
||
""
)})},
ATTR
:
function
(
a
,
b
,
c
){
return
function
(
d
){
var
e
=
gb
.
attr
(
d
,
a
);
return
null
==
e
?
"!="
===
b
:
b
?(
e
+=
""
,
"="
===
b
?
e
===
c
:
"!="
===
b
?
e
!==
c
:
"^="
===
b
?
c
&&
0
===
e
.
indexOf
(
c
):
"*="
===
b
?
c
&&
e
.
indexOf
(
c
)
>-
1
:
"$="
===
b
?
c
&&
e
.
slice
(
-
c
.
length
)
===
c
:
"~="
===
b
?(
" "
+
e
.
replace
(
Q
,
" "
)
+
" "
).
indexOf
(
c
)
>-
1
:
"|="
===
b
?
e
===
c
||
e
.
slice
(
0
,
c
.
length
+
1
)
===
c
+
"-"
:
!
1
):
!
0
}},
CHILD
:
function
(
a
,
b
,
c
,
d
,
e
){
var
f
=
"nth"
!==
a
.
slice
(
0
,
3
),
g
=
"last"
!==
a
.
slice
(
-
4
),
h
=
"of-type"
===
b
;
return
1
===
d
&&
0
===
e
?
function
(
a
){
return
!!
a
.
parentNode
}:
function
(
b
,
c
,
i
){
var
j
,
k
,
l
,
m
,
n
,
o
,
p
=
f
!==
g
?
"nextSibling"
:
"previousSibling"
,
q
=
b
.
parentNode
,
r
=
h
&&
b
.
nodeName
.
toLowerCase
(),
s
=!
i
&&!
h
;
if
(
q
){
if
(
f
){
while
(
p
){
l
=
b
;
while
(
l
=
l
[
p
])
if
(
h
?
l
.
nodeName
.
toLowerCase
()
===
r
:
1
===
l
.
nodeType
)
return
!
1
;
o
=
p
=
"only"
===
a
&&!
o
&&
"nextSibling"
}
return
!
0
}
if
(
o
=
[
g
?
q
.
firstChild
:
q
.
lastChild
],
g
&&
s
){
k
=
q
[
u
]
||
(
q
[
u
]
=
{}),
j
=
k
[
a
]
||
[],
n
=
j
[
0
]
===
w
&&
j
[
1
],
m
=
j
[
0
]
===
w
&&
j
[
2
],
l
=
n
&&
q
.
childNodes
[
n
];
while
(
l
=++
n
&&
l
&&
l
[
p
]
||
(
m
=
n
=
0
)
||
o
.
pop
())
if
(
1
===
l
.
nodeType
&&++
m
&&
l
===
b
){
k
[
a
]
=
[
w
,
n
,
m
];
break
}}
else
if
(
s
&&
(
j
=
(
b
[
u
]
||
(
b
[
u
]
=
{}))[
a
])
&&
j
[
0
]
===
w
)
m
=
j
[
1
];
else
while
(
l
=++
n
&&
l
&&
l
[
p
]
||
(
m
=
n
=
0
)
||
o
.
pop
())
if
((
h
?
l
.
nodeName
.
toLowerCase
()
===
r
:
1
===
l
.
nodeType
)
&&++
m
&&
(
s
&&
((
l
[
u
]
||
(
l
[
u
]
=
{}))[
a
]
=
[
w
,
m
]),
l
===
b
))
break
;
return
m
-=
e
,
m
===
d
||
m
%
d
===
0
&&
m
/
d
>=
0
}}},
PSEUDO
:
function
(
a
,
b
){
var
c
,
e
=
d
.
pseudos
[
a
]
||
d
.
setFilters
[
a
.
toLowerCase
()]
||
gb
.
error
(
"unsupported pseudo: "
+
a
);
return
e
[
u
]?
e
(
b
):
e
.
length
>
1
?(
c
=
[
a
,
a
,
""
,
b
],
d
.
setFilters
.
hasOwnProperty
(
a
.
toLowerCase
())?
ib
(
function
(
a
,
c
){
var
d
,
f
=
e
(
a
,
b
),
g
=
f
.
length
;
while
(
g
--
)
d
=
J
(
a
,
f
[
g
]),
a
[
d
]
=!
(
c
[
d
]
=
f
[
g
])}):
function
(
a
){
return
e
(
a
,
0
,
c
)}):
e
}},
pseudos
:{
not
:
ib
(
function
(
a
){
var
b
=
[],
c
=
[],
d
=
h
(
a
.
replace
(
R
,
"$1"
));
return
d
[
u
]?
ib
(
function
(
a
,
b
,
c
,
e
){
var
f
,
g
=
d
(
a
,
null
,
e
,[]),
h
=
a
.
length
;
while
(
h
--
)(
f
=
g
[
h
])
&&
(
a
[
h
]
=!
(
b
[
h
]
=
f
))}):
function
(
a
,
e
,
f
){
return
b
[
0
]
=
a
,
d
(
b
,
null
,
f
,
c
),
b
[
0
]
=
null
,
!
c
.
pop
()}}),
has
:
ib
(
function
(
a
){
return
function
(
b
){
return
gb
(
a
,
b
).
length
>
0
}}),
contains
:
ib
(
function
(
a
){
return
a
=
a
.
replace
(
cb
,
db
),
function
(
b
){
return
(
b
.
textContent
||
b
.
innerText
||
e
(
b
)).
indexOf
(
a
)
>-
1
}}),
lang
:
ib
(
function
(
a
){
return
W
.
test
(
a
||
""
)
||
gb
.
error
(
"unsupported lang: "
+
a
),
a
=
a
.
replace
(
cb
,
db
).
toLowerCase
(),
function
(
b
){
var
c
;
do
if
(
c
=
p
?
b
.
lang
:
b
.
getAttribute
(
"xml:lang"
)
||
b
.
getAttribute
(
"lang"
))
return
c
=
c
.
toLowerCase
(),
c
===
a
||
0
===
c
.
indexOf
(
a
+
"-"
);
while
((
b
=
b
.
parentNode
)
&&
1
===
b
.
nodeType
);
return
!
1
}}),
target
:
function
(
b
){
var
c
=
a
.
location
&&
a
.
location
.
hash
;
return
c
&&
c
.
slice
(
1
)
===
b
.
id
},
root
:
function
(
a
){
return
a
===
o
},
focus
:
function
(
a
){
return
a
===
n
.
activeElement
&&
(
!
n
.
hasFocus
||
n
.
hasFocus
())
&&!!
(
a
.
type
||
a
.
href
||~
a
.
tabIndex
)},
enabled
:
function
(
a
){
return
a
.
disabled
===!
1
},
disabled
:
function
(
a
){
return
a
.
disabled
===!
0
},
checked
:
function
(
a
){
var
b
=
a
.
nodeName
.
toLowerCase
();
return
"input"
===
b
&&!!
a
.
checked
||
"option"
===
b
&&!!
a
.
selected
},
selected
:
function
(
a
){
return
a
.
parentNode
&&
a
.
parentNode
.
selectedIndex
,
a
.
selected
===!
0
},
empty
:
function
(
a
){
for
(
a
=
a
.
firstChild
;
a
;
a
=
a
.
nextSibling
)
if
(
a
.
nodeType
<
6
)
return
!
1
;
return
!
0
},
parent
:
function
(
a
){
return
!
d
.
pseudos
.
empty
(
a
)},
header
:
function
(
a
){
return
Z
.
test
(
a
.
nodeName
)},
input
:
function
(
a
){
return
Y
.
test
(
a
.
nodeName
)},
button
:
function
(
a
){
var
b
=
a
.
nodeName
.
toLowerCase
();
return
"input"
===
b
&&
"button"
===
a
.
type
||
"button"
===
b
},
text
:
function
(
a
){
var
b
;
return
"input"
===
a
.
nodeName
.
toLowerCase
()
&&
"text"
===
a
.
type
&&
(
null
==
(
b
=
a
.
getAttribute
(
"type"
))
||
"text"
===
b
.
toLowerCase
())},
first
:
ob
(
function
(){
return
[
0
]}),
last
:
ob
(
function
(
a
,
b
){
return
[
b
-
1
]}),
eq
:
ob
(
function
(
a
,
b
,
c
){
return
[
0
>
c
?
c
+
b
:
c
]}),
even
:
ob
(
function
(
a
,
b
){
for
(
var
c
=
0
;
b
>
c
;
c
+=
2
)
a
.
push
(
c
);
return
a
}),
odd
:
ob
(
function
(
a
,
b
){
for
(
var
c
=
1
;
b
>
c
;
c
+=
2
)
a
.
push
(
c
);
return
a
}),
lt
:
ob
(
function
(
a
,
b
,
c
){
for
(
var
d
=
0
>
c
?
c
+
b
:
c
;
--
d
>=
0
;)
a
.
push
(
d
);
return
a
}),
gt
:
ob
(
function
(
a
,
b
,
c
){
for
(
var
d
=
0
>
c
?
c
+
b
:
c
;
++
d
<
b
;)
a
.
push
(
d
);
return
a
})}},
d
.
pseudos
.
nth
=
d
.
pseudos
.
eq
;
for
(
b
in
{
radio
:
!
0
,
checkbox
:
!
0
,
file
:
!
0
,
password
:
!
0
,
image
:
!
0
})
d
.
pseudos
[
b
]
=
mb
(
b
);
for
(
b
in
{
submit
:
!
0
,
reset
:
!
0
})
d
.
pseudos
[
b
]
=
nb
(
b
);
function
qb
(){}
qb
.
prototype
=
d
.
filters
=
d
.
pseudos
,
d
.
setFilters
=
new
qb
,
g
=
gb
.
tokenize
=
function
(
a
,
b
){
var
c
,
e
,
f
,
g
,
h
,
i
,
j
,
k
=
z
[
a
+
" "
];
if
(
k
)
return
b
?
0
:
k
.
slice
(
0
);
h
=
a
,
i
=
[],
j
=
d
.
preFilter
;
while
(
h
){(
!
c
||
(
e
=
S
.
exec
(
h
)))
&&
(
e
&&
(
h
=
h
.
slice
(
e
[
0
].
length
)
||
h
),
i
.
push
(
f
=
[])),
c
=!
1
,(
e
=
T
.
exec
(
h
))
&&
(
c
=
e
.
shift
(),
f
.
push
({
value
:
c
,
type
:
e
[
0
].
replace
(
R
,
" "
)}),
h
=
h
.
slice
(
c
.
length
));
for
(
g
in
d
.
filter
)
!
(
e
=
X
[
g
].
exec
(
h
))
||
j
[
g
]
&&!
(
e
=
j
[
g
](
e
))
||
(
c
=
e
.
shift
(),
f
.
push
({
value
:
c
,
type
:
g
,
matches
:
e
}),
h
=
h
.
slice
(
c
.
length
));
if
(
!
c
)
break
}
return
b
?
h
.
length
:
h
?
gb
.
error
(
a
):
z
(
a
,
i
).
slice
(
0
)};
function
rb
(
a
){
for
(
var
b
=
0
,
c
=
a
.
length
,
d
=
""
;
c
>
b
;
b
++
)
d
+=
a
[
b
].
value
;
return
d
}
function
sb
(
a
,
b
,
c
){
var
d
=
b
.
dir
,
e
=
c
&&
"parentNode"
===
d
,
f
=
x
++
;
return
b
.
first
?
function
(
b
,
c
,
f
){
while
(
b
=
b
[
d
])
if
(
1
===
b
.
nodeType
||
e
)
return
a
(
b
,
c
,
f
)}:
function
(
b
,
c
,
g
){
var
h
,
i
,
j
=
[
w
,
f
];
if
(
g
){
while
(
b
=
b
[
d
])
if
((
1
===
b
.
nodeType
||
e
)
&&
a
(
b
,
c
,
g
))
return
!
0
}
else
while
(
b
=
b
[
d
])
if
(
1
===
b
.
nodeType
||
e
){
if
(
i
=
b
[
u
]
||
(
b
[
u
]
=
{}),(
h
=
i
[
d
])
&&
h
[
0
]
===
w
&&
h
[
1
]
===
f
)
return
j
[
2
]
=
h
[
2
];
if
(
i
[
d
]
=
j
,
j
[
2
]
=
a
(
b
,
c
,
g
))
return
!
0
}}}
function
tb
(
a
){
return
a
.
length
>
1
?
function
(
b
,
c
,
d
){
var
e
=
a
.
length
;
while
(
e
--
)
if
(
!
a
[
e
](
b
,
c
,
d
))
return
!
1
;
return
!
0
}:
a
[
0
]}
function
ub
(
a
,
b
,
c
){
for
(
var
d
=
0
,
e
=
b
.
length
;
e
>
d
;
d
++
)
gb
(
a
,
b
[
d
],
c
);
return
c
}
function
vb
(
a
,
b
,
c
,
d
,
e
){
for
(
var
f
,
g
=
[],
h
=
0
,
i
=
a
.
length
,
j
=
null
!=
b
;
i
>
h
;
h
++
)(
f
=
a
[
h
])
&&
(
!
c
||
c
(
f
,
d
,
e
))
&&
(
g
.
push
(
f
),
j
&&
b
.
push
(
h
));
return
g
}
function
wb
(
a
,
b
,
c
,
d
,
e
,
f
){
return
d
&&!
d
[
u
]
&&
(
d
=
wb
(
d
)),
e
&&!
e
[
u
]
&&
(
e
=
wb
(
e
,
f
)),
ib
(
function
(
f
,
g
,
h
,
i
){
var
j
,
k
,
l
,
m
=
[],
n
=
[],
o
=
g
.
length
,
p
=
f
||
ub
(
b
||
"*"
,
h
.
nodeType
?[
h
]:
h
,[]),
q
=!
a
||!
f
&&
b
?
p
:
vb
(
p
,
m
,
a
,
h
,
i
),
r
=
c
?
e
||
(
f
?
a
:
o
||
d
)?[]:
g
:
q
;
if
(
c
&&
c
(
q
,
r
,
h
,
i
),
d
){
j
=
vb
(
r
,
n
),
d
(
j
,[],
h
,
i
),
k
=
j
.
length
;
while
(
k
--
)(
l
=
j
[
k
])
&&
(
r
[
n
[
k
]]
=!
(
q
[
n
[
k
]]
=
l
))}
if
(
f
){
if
(
e
||
a
){
if
(
e
){
j
=
[],
k
=
r
.
length
;
while
(
k
--
)(
l
=
r
[
k
])
&&
j
.
push
(
q
[
k
]
=
l
);
e
(
null
,
r
=
[],
j
,
i
)}
k
=
r
.
length
;
while
(
k
--
)(
l
=
r
[
k
])
&&
(
j
=
e
?
J
(
f
,
l
):
m
[
k
])
>-
1
&&
(
f
[
j
]
=!
(
g
[
j
]
=
l
))}}
else
r
=
vb
(
r
===
g
?
r
.
splice
(
o
,
r
.
length
):
r
),
e
?
e
(
null
,
g
,
r
,
i
):
H
.
apply
(
g
,
r
)})}
function
xb
(
a
){
for
(
var
b
,
c
,
e
,
f
=
a
.
length
,
g
=
d
.
relative
[
a
[
0
].
type
],
h
=
g
||
d
.
relative
[
" "
],
i
=
g
?
1
:
0
,
k
=
sb
(
function
(
a
){
return
a
===
b
},
h
,
!
0
),
l
=
sb
(
function
(
a
){
return
J
(
b
,
a
)
>-
1
},
h
,
!
0
),
m
=
[
function
(
a
,
c
,
d
){
var
e
=!
g
&&
(
d
||
c
!==
j
)
||
((
b
=
c
).
nodeType
?
k
(
a
,
c
,
d
):
l
(
a
,
c
,
d
));
return
b
=
null
,
e
}];
f
>
i
;
i
++
)
if
(
c
=
d
.
relative
[
a
[
i
].
type
])
m
=
[
sb
(
tb
(
m
),
c
)];
else
{
if
(
c
=
d
.
filter
[
a
[
i
].
type
].
apply
(
null
,
a
[
i
].
matches
),
c
[
u
]){
for
(
e
=++
i
;
f
>
e
;
e
++
)
if
(
d
.
relative
[
a
[
e
].
type
])
break
;
return
wb
(
i
>
1
&&
tb
(
m
),
i
>
1
&&
rb
(
a
.
slice
(
0
,
i
-
1
).
concat
({
value
:
" "
===
a
[
i
-
2
].
type
?
"*"
:
""
})).
replace
(
R
,
"$1"
),
c
,
e
>
i
&&
xb
(
a
.
slice
(
i
,
e
)),
f
>
e
&&
xb
(
a
=
a
.
slice
(
e
)),
f
>
e
&&
rb
(
a
))}
m
.
push
(
c
)}
return
tb
(
m
)}
function
yb
(
a
,
b
){
var
c
=
b
.
length
>
0
,
e
=
a
.
length
>
0
,
f
=
function
(
f
,
g
,
h
,
i
,
k
){
var
l
,
m
,
o
,
p
=
0
,
q
=
"0"
,
r
=
f
&&
[],
s
=
[],
t
=
j
,
u
=
f
||
e
&&
d
.
find
.
TAG
(
"*"
,
k
),
v
=
w
+=
null
==
t
?
1
:
Math
.
random
()
||
.
1
,
x
=
u
.
length
;
for
(
k
&&
(
j
=
g
!==
n
&&
g
);
q
!==
x
&&
null
!=
(
l
=
u
[
q
]);
q
++
){
if
(
e
&&
l
){
m
=
0
;
while
(
o
=
a
[
m
++
])
if
(
o
(
l
,
g
,
h
)){
i
.
push
(
l
);
break
}
k
&&
(
w
=
v
)}
c
&&
((
l
=!
o
&&
l
)
&&
p
--
,
f
&&
r
.
push
(
l
))}
if
(
p
+=
q
,
c
&&
q
!==
p
){
m
=
0
;
while
(
o
=
b
[
m
++
])
o
(
r
,
s
,
g
,
h
);
if
(
f
){
if
(
p
>
0
)
while
(
q
--
)
r
[
q
]
||
s
[
q
]
||
(
s
[
q
]
=
F
.
call
(
i
));
s
=
vb
(
s
)}
H
.
apply
(
i
,
s
),
k
&&!
f
&&
s
.
length
>
0
&&
p
+
b
.
length
>
1
&&
gb
.
uniqueSort
(
i
)}
return
k
&&
(
w
=
v
,
j
=
t
),
r
};
return
c
?
ib
(
f
):
f
}
return
h
=
gb
.
compile
=
function
(
a
,
b
){
var
c
,
d
=
[],
e
=
[],
f
=
A
[
a
+
" "
];
if
(
!
f
){
b
||
(
b
=
g
(
a
)),
c
=
b
.
length
;
while
(
c
--
)
f
=
xb
(
b
[
c
]),
f
[
u
]?
d
.
push
(
f
):
e
.
push
(
f
);
f
=
A
(
a
,
yb
(
e
,
d
)),
f
.
selector
=
a
}
return
f
},
i
=
gb
.
select
=
function
(
a
,
b
,
e
,
f
){
var
i
,
j
,
k
,
l
,
m
,
n
=
"function"
==
typeof
a
&&
a
,
o
=!
f
&&
g
(
a
=
n
.
selector
||
a
);
if
(
e
=
e
||
[],
1
===
o
.
length
){
if
(
j
=
o
[
0
]
=
o
[
0
].
slice
(
0
),
j
.
length
>
2
&&
"ID"
===
(
k
=
j
[
0
]).
type
&&
c
.
getById
&&
9
===
b
.
nodeType
&&
p
&&
d
.
relative
[
j
[
1
].
type
]){
if
(
b
=
(
d
.
find
.
ID
(
k
.
matches
[
0
].
replace
(
cb
,
db
),
b
)
||
[])[
0
],
!
b
)
return
e
;
n
&&
(
b
=
b
.
parentNode
),
a
=
a
.
slice
(
j
.
shift
().
value
.
length
)}
i
=
X
.
needsContext
.
test
(
a
)?
0
:
j
.
length
;
while
(
i
--
){
if
(
k
=
j
[
i
],
d
.
relative
[
l
=
k
.
type
])
break
;
if
((
m
=
d
.
find
[
l
])
&&
(
f
=
m
(
k
.
matches
[
0
].
replace
(
cb
,
db
),
ab
.
test
(
j
[
0
].
type
)
&&
pb
(
b
.
parentNode
)
||
b
))){
if
(
j
.
splice
(
i
,
1
),
a
=
f
.
length
&&
rb
(
j
),
!
a
)
return
H
.
apply
(
e
,
f
),
e
;
break
}}}
return
(
n
||
h
(
a
,
o
))(
f
,
b
,
!
p
,
e
,
ab
.
test
(
a
)
&&
pb
(
b
.
parentNode
)
||
b
),
e
},
c
.
sortStable
=
u
.
split
(
""
).
sort
(
B
).
join
(
""
)
===
u
,
c
.
detectDuplicates
=!!
l
,
m
(),
c
.
sortDetached
=
jb
(
function
(
a
){
return
1
&
a
.
compareDocumentPosition
(
n
.
createElement
(
"div"
))}),
jb
(
function
(
a
){
return
a
.
innerHTML
=
"<a href='#'></a>"
,
"#"
===
a
.
firstChild
.
getAttribute
(
"href"
)})
||
kb
(
"type|href|height|width"
,
function
(
a
,
b
,
c
){
return
c
?
void
0
:
a
.
getAttribute
(
b
,
"type"
===
b
.
toLowerCase
()?
1
:
2
)}),
c
.
attributes
&&
jb
(
function
(
a
){
return
a
.
innerHTML
=
"<input/>"
,
a
.
firstChild
.
setAttribute
(
"value"
,
""
),
""
===
a
.
firstChild
.
getAttribute
(
"value"
)})
||
kb
(
"value"
,
function
(
a
,
b
,
c
){
return
c
||
"input"
!==
a
.
nodeName
.
toLowerCase
()?
void
0
:
a
.
defaultValue
}),
jb
(
function
(
a
){
return
null
==
a
.
getAttribute
(
"disabled"
)})
||
kb
(
K
,
function
(
a
,
b
,
c
){
var
d
;
return
c
?
void
0
:
a
[
b
]
===!
0
?
b
.
toLowerCase
():(
d
=
a
.
getAttributeNode
(
b
))
&&
d
.
specified
?
d
.
value
:
null
}),
gb
}(
a
);
m
.
find
=
s
,
m
.
expr
=
s
.
selectors
,
m
.
expr
[
":"
]
=
m
.
expr
.
pseudos
,
m
.
unique
=
s
.
uniqueSort
,
m
.
text
=
s
.
getText
,
m
.
isXMLDoc
=
s
.
isXML
,
m
.
contains
=
s
.
contains
;
var
t
=
m
.
expr
.
match
.
needsContext
,
u
=
/^<
(\w
+
)\s
*
\/?
>
(?:
<
\/\1
>|
)
$/
,
v
=
/^.
[^
:#
\[\.
,
]
*$/
;
function
w
(
a
,
b
,
c
){
if
(
m
.
isFunction
(
b
))
return
m
.
grep
(
a
,
function
(
a
,
d
){
return
!!
b
.
call
(
a
,
d
,
a
)
!==
c
});
if
(
b
.
nodeType
)
return
m
.
grep
(
a
,
function
(
a
){
return
a
===
b
!==
c
});
if
(
"string"
==
typeof
b
){
if
(
v
.
test
(
b
))
return
m
.
filter
(
b
,
a
,
c
);
b
=
m
.
filter
(
b
,
a
)}
return
m
.
grep
(
a
,
function
(
a
){
return
m
.
inArray
(
a
,
b
)
>=
0
!==
c
})}
m
.
filter
=
function
(
a
,
b
,
c
){
var
d
=
b
[
0
];
return
c
&&
(
a
=
":not("
+
a
+
")"
),
1
===
b
.
length
&&
1
===
d
.
nodeType
?
m
.
find
.
matchesSelector
(
d
,
a
)?[
d
]:[]:
m
.
find
.
matches
(
a
,
m
.
grep
(
b
,
function
(
a
){
return
1
===
a
.
nodeType
}))},
m
.
fn
.
extend
({
find
:
function
(
a
){
var
b
,
c
=
[],
d
=
this
,
e
=
d
.
length
;
if
(
"string"
!=
typeof
a
)
return
this
.
pushStack
(
m
(
a
).
filter
(
function
(){
for
(
b
=
0
;
e
>
b
;
b
++
)
if
(
m
.
contains
(
d
[
b
],
this
))
return
!
0
}));
for
(
b
=
0
;
e
>
b
;
b
++
)
m
.
find
(
a
,
d
[
b
],
c
);
return
c
=
this
.
pushStack
(
e
>
1
?
m
.
unique
(
c
):
c
),
c
.
selector
=
this
.
selector
?
this
.
selector
+
" "
+
a
:
a
,
c
},
filter
:
function
(
a
){
return
this
.
pushStack
(
w
(
this
,
a
||
[],
!
1
))},
not
:
function
(
a
){
return
this
.
pushStack
(
w
(
this
,
a
||
[],
!
0
))},
is
:
function
(
a
){
return
!!
w
(
this
,
"string"
==
typeof
a
&&
t
.
test
(
a
)?
m
(
a
):
a
||
[],
!
1
).
length
}});
var
x
,
y
=
a
.
document
,
z
=
/^
(?:\s
*
(
<
[\w\W]
+>
)[^
>
]
*|#
([\w
-
]
*
))
$/
,
A
=
m
.
fn
.
init
=
function
(
a
,
b
){
var
c
,
d
;
if
(
!
a
)
return
this
;
if
(
"string"
==
typeof
a
){
if
(
c
=
"<"
===
a
.
charAt
(
0
)
&&
">"
===
a
.
charAt
(
a
.
length
-
1
)
&&
a
.
length
>=
3
?[
null
,
a
,
null
]:
z
.
exec
(
a
),
!
c
||!
c
[
1
]
&&
b
)
return
!
b
||
b
.
jquery
?(
b
||
x
).
find
(
a
):
this
.
constructor
(
b
).
find
(
a
);
if
(
c
[
1
]){
if
(
b
=
b
instanceof
m
?
b
[
0
]:
b
,
m
.
merge
(
this
,
m
.
parseHTML
(
c
[
1
],
b
&&
b
.
nodeType
?
b
.
ownerDocument
||
b
:
y
,
!
0
)),
u
.
test
(
c
[
1
])
&&
m
.
isPlainObject
(
b
))
for
(
c
in
b
)
m
.
isFunction
(
this
[
c
])?
this
[
c
](
b
[
c
]):
this
.
attr
(
c
,
b
[
c
]);
return
this
}
if
(
d
=
y
.
getElementById
(
c
[
2
]),
d
&&
d
.
parentNode
){
if
(
d
.
id
!==
c
[
2
])
return
x
.
find
(
a
);
this
.
length
=
1
,
this
[
0
]
=
d
}
return
this
.
context
=
y
,
this
.
selector
=
a
,
this
}
return
a
.
nodeType
?(
this
.
context
=
this
[
0
]
=
a
,
this
.
length
=
1
,
this
):
m
.
isFunction
(
a
)?
"undefined"
!=
typeof
x
.
ready
?
x
.
ready
(
a
):
a
(
m
):(
void
0
!==
a
.
selector
&&
(
this
.
selector
=
a
.
selector
,
this
.
context
=
a
.
context
),
m
.
makeArray
(
a
,
this
))};
A
.
prototype
=
m
.
fn
,
x
=
m
(
y
);
var
B
=
/^
(?:
parents|prev
(?:
Until|All
))
/
,
C
=
{
children
:
!
0
,
contents
:
!
0
,
next
:
!
0
,
prev
:
!
0
};
m
.
extend
({
dir
:
function
(
a
,
b
,
c
){
var
d
=
[],
e
=
a
[
b
];
while
(
e
&&
9
!==
e
.
nodeType
&&
(
void
0
===
c
||
1
!==
e
.
nodeType
||!
m
(
e
).
is
(
c
)))
1
===
e
.
nodeType
&&
d
.
push
(
e
),
e
=
e
[
b
];
return
d
},
sibling
:
function
(
a
,
b
){
for
(
var
c
=
[];
a
;
a
=
a
.
nextSibling
)
1
===
a
.
nodeType
&&
a
!==
b
&&
c
.
push
(
a
);
return
c
}}),
m
.
fn
.
extend
({
has
:
function
(
a
){
var
b
,
c
=
m
(
a
,
this
),
d
=
c
.
length
;
return
this
.
filter
(
function
(){
for
(
b
=
0
;
d
>
b
;
b
++
)
if
(
m
.
contains
(
this
,
c
[
b
]))
return
!
0
})},
closest
:
function
(
a
,
b
){
for
(
var
c
,
d
=
0
,
e
=
this
.
length
,
f
=
[],
g
=
t
.
test
(
a
)
||
"string"
!=
typeof
a
?
m
(
a
,
b
||
this
.
context
):
0
;
e
>
d
;
d
++
)
for
(
c
=
this
[
d
];
c
&&
c
!==
b
;
c
=
c
.
parentNode
)
if
(
c
.
nodeType
<
11
&&
(
g
?
g
.
index
(
c
)
>-
1
:
1
===
c
.
nodeType
&&
m
.
find
.
matchesSelector
(
c
,
a
))){
f
.
push
(
c
);
break
}
return
this
.
pushStack
(
f
.
length
>
1
?
m
.
unique
(
f
):
f
)},
index
:
function
(
a
){
return
a
?
"string"
==
typeof
a
?
m
.
inArray
(
this
[
0
],
m
(
a
)):
m
.
inArray
(
a
.
jquery
?
a
[
0
]:
a
,
this
):
this
[
0
]
&&
this
[
0
].
parentNode
?
this
.
first
().
prevAll
().
length
:
-
1
},
add
:
function
(
a
,
b
){
return
this
.
pushStack
(
m
.
unique
(
m
.
merge
(
this
.
get
(),
m
(
a
,
b
))))},
addBack
:
function
(
a
){
return
this
.
add
(
null
==
a
?
this
.
prevObject
:
this
.
prevObject
.
filter
(
a
))}});
function
D
(
a
,
b
){
do
a
=
a
[
b
];
while
(
a
&&
1
!==
a
.
nodeType
);
return
a
}
m
.
each
({
parent
:
function
(
a
){
var
b
=
a
.
parentNode
;
return
b
&&
11
!==
b
.
nodeType
?
b
:
null
},
parents
:
function
(
a
){
return
m
.
dir
(
a
,
"parentNode"
)},
parentsUntil
:
function
(
a
,
b
,
c
){
return
m
.
dir
(
a
,
"parentNode"
,
c
)},
next
:
function
(
a
){
return
D
(
a
,
"nextSibling"
)},
prev
:
function
(
a
){
return
D
(
a
,
"previousSibling"
)},
nextAll
:
function
(
a
){
return
m
.
dir
(
a
,
"nextSibling"
)},
prevAll
:
function
(
a
){
return
m
.
dir
(
a
,
"previousSibling"
)},
nextUntil
:
function
(
a
,
b
,
c
){
return
m
.
dir
(
a
,
"nextSibling"
,
c
)},
prevUntil
:
function
(
a
,
b
,
c
){
return
m
.
dir
(
a
,
"previousSibling"
,
c
)},
siblings
:
function
(
a
){
return
m
.
sibling
((
a
.
parentNode
||
{}).
firstChild
,
a
)},
children
:
function
(
a
){
return
m
.
sibling
(
a
.
firstChild
)},
contents
:
function
(
a
){
return
m
.
nodeName
(
a
,
"iframe"
)?
a
.
contentDocument
||
a
.
contentWindow
.
document
:
m
.
merge
([],
a
.
childNodes
)}},
function
(
a
,
b
){
m
.
fn
[
a
]
=
function
(
c
,
d
){
var
e
=
m
.
map
(
this
,
b
,
c
);
return
"Until"
!==
a
.
slice
(
-
5
)
&&
(
d
=
c
),
d
&&
"string"
==
typeof
d
&&
(
e
=
m
.
filter
(
d
,
e
)),
this
.
length
>
1
&&
(
C
[
a
]
||
(
e
=
m
.
unique
(
e
)),
B
.
test
(
a
)
&&
(
e
=
e
.
reverse
())),
this
.
pushStack
(
e
)}});
var
E
=
/
\S
+/g
,
F
=
{};
function
G
(
a
){
var
b
=
F
[
a
]
=
{};
return
m
.
each
(
a
.
match
(
E
)
||
[],
function
(
a
,
c
){
b
[
c
]
=!
0
}),
b
}
m
.
Callbacks
=
function
(
a
){
a
=
"string"
==
typeof
a
?
F
[
a
]
||
G
(
a
):
m
.
extend
({},
a
);
var
b
,
c
,
d
,
e
,
f
,
g
,
h
=
[],
i
=!
a
.
once
&&
[],
j
=
function
(
l
){
for
(
c
=
a
.
memory
&&
l
,
d
=!
0
,
f
=
g
||
0
,
g
=
0
,
e
=
h
.
length
,
b
=!
0
;
h
&&
e
>
f
;
f
++
)
if
(
h
[
f
].
apply
(
l
[
0
],
l
[
1
])
===!
1
&&
a
.
stopOnFalse
){
c
=!
1
;
break
}
b
=!
1
,
h
&&
(
i
?
i
.
length
&&
j
(
i
.
shift
()):
c
?
h
=
[]:
k
.
disable
())},
k
=
{
add
:
function
(){
if
(
h
){
var
d
=
h
.
length
;
!
function
f
(
b
){
m
.
each
(
b
,
function
(
b
,
c
){
var
d
=
m
.
type
(
c
);
"function"
===
d
?
a
.
unique
&&
k
.
has
(
c
)
||
h
.
push
(
c
):
c
&&
c
.
length
&&
"string"
!==
d
&&
f
(
c
)})}(
arguments
),
b
?
e
=
h
.
length
:
c
&&
(
g
=
d
,
j
(
c
))}
return
this
},
remove
:
function
(){
return
h
&&
m
.
each
(
arguments
,
function
(
a
,
c
){
var
d
;
while
((
d
=
m
.
inArray
(
c
,
h
,
d
))
>-
1
)
h
.
splice
(
d
,
1
),
b
&&
(
e
>=
d
&&
e
--
,
f
>=
d
&&
f
--
)}),
this
},
has
:
function
(
a
){
return
a
?
m
.
inArray
(
a
,
h
)
>-
1
:
!
(
!
h
||!
h
.
length
)},
empty
:
function
(){
return
h
=
[],
e
=
0
,
this
},
disable
:
function
(){
return
h
=
i
=
c
=
void
0
,
this
},
disabled
:
function
(){
return
!
h
},
lock
:
function
(){
return
i
=
void
0
,
c
||
k
.
disable
(),
this
},
locked
:
function
(){
return
!
i
},
fireWith
:
function
(
a
,
c
){
return
!
h
||
d
&&!
i
||
(
c
=
c
||
[],
c
=
[
a
,
c
.
slice
?
c
.
slice
():
c
],
b
?
i
.
push
(
c
):
j
(
c
)),
this
},
fire
:
function
(){
return
k
.
fireWith
(
this
,
arguments
),
this
},
fired
:
function
(){
return
!!
d
}};
return
k
},
m
.
extend
({
Deferred
:
function
(
a
){
var
b
=
[[
"resolve"
,
"done"
,
m
.
Callbacks
(
"once memory"
),
"resolved"
],[
"reject"
,
"fail"
,
m
.
Callbacks
(
"once memory"
),
"rejected"
],[
"notify"
,
"progress"
,
m
.
Callbacks
(
"memory"
)]],
c
=
"pending"
,
d
=
{
state
:
function
(){
return
c
},
always
:
function
(){
return
e
.
done
(
arguments
).
fail
(
arguments
),
this
},
then
:
function
(){
var
a
=
arguments
;
return
m
.
Deferred
(
function
(
c
){
m
.
each
(
b
,
function
(
b
,
f
){
var
g
=
m
.
isFunction
(
a
[
b
])
&&
a
[
b
];
e
[
f
[
1
]](
function
(){
var
a
=
g
&&
g
.
apply
(
this
,
arguments
);
a
&&
m
.
isFunction
(
a
.
promise
)?
a
.
promise
().
done
(
c
.
resolve
).
fail
(
c
.
reject
).
progress
(
c
.
notify
):
c
[
f
[
0
]
+
"With"
](
this
===
d
?
c
.
promise
():
this
,
g
?[
a
]:
arguments
)})}),
a
=
null
}).
promise
()},
promise
:
function
(
a
){
return
null
!=
a
?
m
.
extend
(
a
,
d
):
d
}},
e
=
{};
return
d
.
pipe
=
d
.
then
,
m
.
each
(
b
,
function
(
a
,
f
){
var
g
=
f
[
2
],
h
=
f
[
3
];
d
[
f
[
1
]]
=
g
.
add
,
h
&&
g
.
add
(
function
(){
c
=
h
},
b
[
1
^
a
][
2
].
disable
,
b
[
2
][
2
].
lock
),
e
[
f
[
0
]]
=
function
(){
return
e
[
f
[
0
]
+
"With"
](
this
===
e
?
d
:
this
,
arguments
),
this
},
e
[
f
[
0
]
+
"With"
]
=
g
.
fireWith
}),
d
.
promise
(
e
),
a
&&
a
.
call
(
e
,
e
),
e
},
when
:
function
(
a
){
var
b
=
0
,
c
=
d
.
call
(
arguments
),
e
=
c
.
length
,
f
=
1
!==
e
||
a
&&
m
.
isFunction
(
a
.
promise
)?
e
:
0
,
g
=
1
===
f
?
a
:
m
.
Deferred
(),
h
=
function
(
a
,
b
,
c
){
return
function
(
e
){
b
[
a
]
=
this
,
c
[
a
]
=
arguments
.
length
>
1
?
d
.
call
(
arguments
):
e
,
c
===
i
?
g
.
notifyWith
(
b
,
c
):
--
f
||
g
.
resolveWith
(
b
,
c
)}},
i
,
j
,
k
;
if
(
e
>
1
)
for
(
i
=
new
Array
(
e
),
j
=
new
Array
(
e
),
k
=
new
Array
(
e
);
e
>
b
;
b
++
)
c
[
b
]
&&
m
.
isFunction
(
c
[
b
].
promise
)?
c
[
b
].
promise
().
done
(
h
(
b
,
k
,
c
)).
fail
(
g
.
reject
).
progress
(
h
(
b
,
j
,
i
)):
--
f
;
return
f
||
g
.
resolveWith
(
k
,
c
),
g
.
promise
()}});
var
H
;
m
.
fn
.
ready
=
function
(
a
){
return
m
.
ready
.
promise
().
done
(
a
),
this
},
m
.
extend
({
isReady
:
!
1
,
readyWait
:
1
,
holdReady
:
function
(
a
){
a
?
m
.
readyWait
++
:
m
.
ready
(
!
0
)},
ready
:
function
(
a
){
if
(
a
===!
0
?
!--
m
.
readyWait
:
!
m
.
isReady
){
if
(
!
y
.
body
)
return
setTimeout
(
m
.
ready
);
m
.
isReady
=!
0
,
a
!==!
0
&&--
m
.
readyWait
>
0
||
(
H
.
resolveWith
(
y
,[
m
]),
m
.
fn
.
triggerHandler
&&
(
m
(
y
).
triggerHandler
(
"ready"
),
m
(
y
).
off
(
"ready"
)))}}});
function
I
(){
y
.
addEventListener
?(
y
.
removeEventListener
(
"DOMContentLoaded"
,
J
,
!
1
),
a
.
removeEventListener
(
"load"
,
J
,
!
1
)):(
y
.
detachEvent
(
"onreadystatechange"
,
J
),
a
.
detachEvent
(
"onload"
,
J
))}
function
J
(){(
y
.
addEventListener
||
"load"
===
event
.
type
||
"complete"
===
y
.
readyState
)
&&
(
I
(),
m
.
ready
())}
m
.
ready
.
promise
=
function
(
b
){
if
(
!
H
)
if
(
H
=
m
.
Deferred
(),
"complete"
===
y
.
readyState
)
setTimeout
(
m
.
ready
);
else
if
(
y
.
addEventListener
)
y
.
addEventListener
(
"DOMContentLoaded"
,
J
,
!
1
),
a
.
addEventListener
(
"load"
,
J
,
!
1
);
else
{
y
.
attachEvent
(
"onreadystatechange"
,
J
),
a
.
attachEvent
(
"onload"
,
J
);
var
c
=!
1
;
try
{
c
=
null
==
a
.
frameElement
&&
y
.
documentElement
}
catch
(
d
){}
c
&&
c
.
doScroll
&&!
function
e
(){
if
(
!
m
.
isReady
){
try
{
c
.
doScroll
(
"left"
)}
catch
(
a
){
return
setTimeout
(
e
,
50
)}
I
(),
m
.
ready
()}}()}
return
H
.
promise
(
b
)};
var
K
=
"undefined"
,
L
;
for
(
L
in
m
(
k
))
break
;
k
.
ownLast
=
"0"
!==
L
,
k
.
inlineBlockNeedsLayout
=!
1
,
m
(
function
(){
var
a
,
b
,
c
,
d
;
c
=
y
.
getElementsByTagName
(
"body"
)[
0
],
c
&&
c
.
style
&&
(
b
=
y
.
createElement
(
"div"
),
d
=
y
.
createElement
(
"div"
),
d
.
style
.
cssText
=
"position:absolute;border:0;width:0;height:0;top:0;left:-9999px"
,
c
.
appendChild
(
d
).
appendChild
(
b
),
typeof
b
.
style
.
zoom
!==
K
&&
(
b
.
style
.
cssText
=
"display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1"
,
k
.
inlineBlockNeedsLayout
=
a
=
3
===
b
.
offsetWidth
,
a
&&
(
c
.
style
.
zoom
=
1
)),
c
.
removeChild
(
d
))}),
function
(){
var
a
=
y
.
createElement
(
"div"
);
if
(
null
==
k
.
deleteExpando
){
k
.
deleteExpando
=!
0
;
try
{
delete
a
.
test
}
catch
(
b
){
k
.
deleteExpando
=!
1
}}
a
=
null
}(),
m
.
acceptData
=
function
(
a
){
var
b
=
m
.
noData
[(
a
.
nodeName
+
" "
).
toLowerCase
()],
c
=+
a
.
nodeType
||
1
;
return
1
!==
c
&&
9
!==
c
?
!
1
:
!
b
||
b
!==!
0
&&
a
.
getAttribute
(
"classid"
)
===
b
};
var
M
=
/^
(?:\{[\w\W]
*
\}
|
\[[\w\W]
*
\])
$/
,
N
=
/
([
A-Z
])
/g
;
function
O
(
a
,
b
,
c
){
if
(
void
0
===
c
&&
1
===
a
.
nodeType
){
var
d
=
"data-"
+
b
.
replace
(
N
,
"-$1"
).
toLowerCase
();
if
(
c
=
a
.
getAttribute
(
d
),
"string"
==
typeof
c
){
try
{
c
=
"true"
===
c
?
!
0
:
"false"
===
c
?
!
1
:
"null"
===
c
?
null
:
+
c
+
""
===
c
?
+
c
:
M
.
test
(
c
)?
m
.
parseJSON
(
c
):
c
}
catch
(
e
){}
m
.
data
(
a
,
b
,
c
)}
else
c
=
void
0
}
return
c
}
function
P
(
a
){
var
b
;
for
(
b
in
a
)
if
((
"data"
!==
b
||!
m
.
isEmptyObject
(
a
[
b
]))
&&
"toJSON"
!==
b
)
return
!
1
;
!
function
(
a
,
b
){
"object"
==
typeof
module
&&
"object"
==
typeof
module
.
exports
?
module
.
exports
=
a
.
document
?
b
(
a
,
!
0
):
function
(
a
){
if
(
!
a
.
document
)
throw
new
Error
(
"jQuery requires a window with a document"
);
return
b
(
a
)}:
b
(
a
)}(
"undefined"
!=
typeof
window
?
window
:
this
,
function
(
a
,
b
){
var
c
=
[],
d
=
c
.
slice
,
e
=
c
.
concat
,
f
=
c
.
push
,
g
=
c
.
indexOf
,
h
=
{},
i
=
h
.
toString
,
j
=
h
.
hasOwnProperty
,
k
=
{},
l
=
"1.11.2"
,
m
=
function
(
a
,
b
){
return
new
m
.
fn
.
init
(
a
,
b
)},
n
=
/^
[\s\u
FEFF
\x
A0
]
+|
[\s\u
FEFF
\x
A0
]
+$/g
,
o
=
/^-ms-/
,
p
=
/-
([\d
a-z
])
/gi
,
q
=
function
(
a
,
b
){
return
b
.
toUpperCase
()};
m
.
fn
=
m
.
prototype
=
{
jquery
:
l
,
constructor
:
m
,
selector
:
""
,
length
:
0
,
toArray
:
function
(){
return
d
.
call
(
this
)},
get
:
function
(
a
){
return
null
!=
a
?
0
>
a
?
this
[
a
+
this
.
length
]:
this
[
a
]:
d
.
call
(
this
)},
pushStack
:
function
(
a
){
var
b
=
m
.
merge
(
this
.
constructor
(),
a
);
return
b
.
prevObject
=
this
,
b
.
context
=
this
.
context
,
b
},
each
:
function
(
a
,
b
){
return
m
.
each
(
this
,
a
,
b
)},
map
:
function
(
a
){
return
this
.
pushStack
(
m
.
map
(
this
,
function
(
b
,
c
){
return
a
.
call
(
b
,
c
,
b
)}))},
slice
:
function
(){
return
this
.
pushStack
(
d
.
apply
(
this
,
arguments
))},
first
:
function
(){
return
this
.
eq
(
0
)},
last
:
function
(){
return
this
.
eq
(
-
1
)},
eq
:
function
(
a
){
var
b
=
this
.
length
,
c
=+
a
+
(
0
>
a
?
b
:
0
);
return
this
.
pushStack
(
c
>=
0
&&
b
>
c
?[
this
[
c
]]:[])},
end
:
function
(){
return
this
.
prevObject
||
this
.
constructor
(
null
)},
push
:
f
,
sort
:
c
.
sort
,
splice
:
c
.
splice
},
m
.
extend
=
m
.
fn
.
extend
=
function
(){
var
a
,
b
,
c
,
d
,
e
,
f
,
g
=
arguments
[
0
]
||
{},
h
=
1
,
i
=
arguments
.
length
,
j
=!
1
;
for
(
"boolean"
==
typeof
g
&&
(
j
=
g
,
g
=
arguments
[
h
]
||
{},
h
++
),
"object"
==
typeof
g
||
m
.
isFunction
(
g
)
||
(
g
=
{}),
h
===
i
&&
(
g
=
this
,
h
--
);
i
>
h
;
h
++
)
if
(
null
!=
(
e
=
arguments
[
h
]))
for
(
d
in
e
)
a
=
g
[
d
],
c
=
e
[
d
],
g
!==
c
&&
(
j
&&
c
&&
(
m
.
isPlainObject
(
c
)
||
(
b
=
m
.
isArray
(
c
)))?(
b
?(
b
=!
1
,
f
=
a
&&
m
.
isArray
(
a
)?
a
:[]):
f
=
a
&&
m
.
isPlainObject
(
a
)?
a
:{},
g
[
d
]
=
m
.
extend
(
j
,
f
,
c
)):
void
0
!==
c
&&
(
g
[
d
]
=
c
));
return
g
},
m
.
extend
({
expando
:
"jQuery"
+
(
l
+
Math
.
random
()).
replace
(
/
\D
/g
,
""
),
isReady
:
!
0
,
error
:
function
(
a
){
throw
new
Error
(
a
)},
noop
:
function
(){},
isFunction
:
function
(
a
){
return
"function"
===
m
.
type
(
a
)},
isArray
:
Array
.
isArray
||
function
(
a
){
return
"array"
===
m
.
type
(
a
)},
isWindow
:
function
(
a
){
return
null
!=
a
&&
a
==
a
.
window
},
isNumeric
:
function
(
a
){
return
!
m
.
isArray
(
a
)
&&
a
-
parseFloat
(
a
)
+
1
>=
0
},
isEmptyObject
:
function
(
a
){
var
b
;
for
(
b
in
a
)
return
!
1
;
return
!
0
},
isPlainObject
:
function
(
a
){
var
b
;
if
(
!
a
||
"object"
!==
m
.
type
(
a
)
||
a
.
nodeType
||
m
.
isWindow
(
a
))
return
!
1
;
try
{
if
(
a
.
constructor
&&!
j
.
call
(
a
,
"constructor"
)
&&!
j
.
call
(
a
.
constructor
.
prototype
,
"isPrototypeOf"
))
return
!
1
}
catch
(
c
){
return
!
1
}
if
(
k
.
ownLast
)
for
(
b
in
a
)
return
j
.
call
(
a
,
b
);
for
(
b
in
a
);
return
void
0
===
b
||
j
.
call
(
a
,
b
)},
type
:
function
(
a
){
return
null
==
a
?
a
+
""
:
"object"
==
typeof
a
||
"function"
==
typeof
a
?
h
[
i
.
call
(
a
)]
||
"object"
:
typeof
a
},
globalEval
:
function
(
b
){
b
&&
m
.
trim
(
b
)
&&
(
a
.
execScript
||
function
(
b
){
a
.
eval
.
call
(
a
,
b
)})(
b
)},
camelCase
:
function
(
a
){
return
a
.
replace
(
o
,
"ms-"
).
replace
(
p
,
q
)},
nodeName
:
function
(
a
,
b
){
return
a
.
nodeName
&&
a
.
nodeName
.
toLowerCase
()
===
b
.
toLowerCase
()},
each
:
function
(
a
,
b
,
c
){
var
d
,
e
=
0
,
f
=
a
.
length
,
g
=
r
(
a
);
if
(
c
){
if
(
g
){
for
(;
f
>
e
;
e
++
)
if
(
d
=
b
.
apply
(
a
[
e
],
c
),
d
===!
1
)
break
}
else
for
(
e
in
a
)
if
(
d
=
b
.
apply
(
a
[
e
],
c
),
d
===!
1
)
break
}
else
if
(
g
){
for
(;
f
>
e
;
e
++
)
if
(
d
=
b
.
call
(
a
[
e
],
e
,
a
[
e
]),
d
===!
1
)
break
}
else
for
(
e
in
a
)
if
(
d
=
b
.
call
(
a
[
e
],
e
,
a
[
e
]),
d
===!
1
)
break
;
return
a
},
trim
:
function
(
a
){
return
null
==
a
?
""
:(
a
+
""
).
replace
(
n
,
""
)},
makeArray
:
function
(
a
,
b
){
var
c
=
b
||
[];
return
null
!=
a
&&
(
r
(
Object
(
a
))?
m
.
merge
(
c
,
"string"
==
typeof
a
?[
a
]:
a
):
f
.
call
(
c
,
a
)),
c
},
inArray
:
function
(
a
,
b
,
c
){
var
d
;
if
(
b
){
if
(
g
)
return
g
.
call
(
b
,
a
,
c
);
for
(
d
=
b
.
length
,
c
=
c
?
0
>
c
?
Math
.
max
(
0
,
d
+
c
):
c
:
0
;
d
>
c
;
c
++
)
if
(
c
in
b
&&
b
[
c
]
===
a
)
return
c
}
return
-
1
},
merge
:
function
(
a
,
b
){
var
c
=+
b
.
length
,
d
=
0
,
e
=
a
.
length
;
while
(
c
>
d
)
a
[
e
++
]
=
b
[
d
++
];
if
(
c
!==
c
)
while
(
void
0
!==
b
[
d
])
a
[
e
++
]
=
b
[
d
++
];
return
a
.
length
=
e
,
a
},
grep
:
function
(
a
,
b
,
c
){
for
(
var
d
,
e
=
[],
f
=
0
,
g
=
a
.
length
,
h
=!
c
;
g
>
f
;
f
++
)
d
=!
b
(
a
[
f
],
f
),
d
!==
h
&&
e
.
push
(
a
[
f
]);
return
e
},
map
:
function
(
a
,
b
,
c
){
var
d
,
f
=
0
,
g
=
a
.
length
,
h
=
r
(
a
),
i
=
[];
if
(
h
)
for
(;
g
>
f
;
f
++
)
d
=
b
(
a
[
f
],
f
,
c
),
null
!=
d
&&
i
.
push
(
d
);
else
for
(
f
in
a
)
d
=
b
(
a
[
f
],
f
,
c
),
null
!=
d
&&
i
.
push
(
d
);
return
e
.
apply
([],
i
)},
guid
:
1
,
proxy
:
function
(
a
,
b
){
var
c
,
e
,
f
;
return
"string"
==
typeof
b
&&
(
f
=
a
[
b
],
b
=
a
,
a
=
f
),
m
.
isFunction
(
a
)?(
c
=
d
.
call
(
arguments
,
2
),
e
=
function
(){
return
a
.
apply
(
b
||
this
,
c
.
concat
(
d
.
call
(
arguments
)))},
e
.
guid
=
a
.
guid
=
a
.
guid
||
m
.
guid
++
,
e
):
void
0
},
now
:
function
(){
return
+
new
Date
},
support
:
k
}),
m
.
each
(
"Boolean Number String Function Array Date RegExp Object Error"
.
split
(
" "
),
function
(
a
,
b
){
h
[
"[object "
+
b
+
"]"
]
=
b
.
toLowerCase
()});
function
r
(
a
){
var
b
=
a
.
length
,
c
=
m
.
type
(
a
);
return
"function"
===
c
||
m
.
isWindow
(
a
)?
!
1
:
1
===
a
.
nodeType
&&
b
?
!
0
:
"array"
===
c
||
0
===
b
||
"number"
==
typeof
b
&&
b
>
0
&&
b
-
1
in
a
}
var
s
=
function
(
a
){
var
b
,
c
,
d
,
e
,
f
,
g
,
h
,
i
,
j
,
k
,
l
,
m
,
n
,
o
,
p
,
q
,
r
,
s
,
t
,
u
=
"sizzle"
+
1
*
new
Date
,
v
=
a
.
document
,
w
=
0
,
x
=
0
,
y
=
hb
(),
z
=
hb
(),
A
=
hb
(),
B
=
function
(
a
,
b
){
return
a
===
b
&&
(
l
=!
0
),
0
},
C
=
1
<<
31
,
D
=
{}.
hasOwnProperty
,
E
=
[],
F
=
E
.
pop
,
G
=
E
.
push
,
H
=
E
.
push
,
I
=
E
.
slice
,
J
=
function
(
a
,
b
){
for
(
var
c
=
0
,
d
=
a
.
length
;
d
>
c
;
c
++
)
if
(
a
[
c
]
===
b
)
return
c
;
return
-
1
},
K
=
"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped"
,
L
=
"[
\\
x20
\\
t
\\
r
\\
n
\\
f]"
,
M
=
"(?:
\\\\
.|[
\\
w-]|[^
\\
x00-
\\
xa0])+"
,
N
=
M
.
replace
(
"w"
,
"w#"
),
O
=
"
\\
["
+
L
+
"*("
+
M
+
")(?:"
+
L
+
"*([*^$|!~]?=)"
+
L
+
"*(?:'((?:
\\\\
.|[^
\\\\
'])*)'|
\"
((?:
\\\\
.|[^
\\\\
\"
])*)
\"
|("
+
N
+
"))|)"
+
L
+
"*
\\
]"
,
P
=
":("
+
M
+
")(?:
\\
((('((?:
\\\\
.|[^
\\\\
'])*)'|
\"
((?:
\\\\
.|[^
\\\\
\"
])*)
\"
)|((?:
\\\\
.|[^
\\\\
()[
\\
]]|"
+
O
+
")*)|.*)
\\
)|)"
,
Q
=
new
RegExp
(
L
+
"+"
,
"g"
),
R
=
new
RegExp
(
"^"
+
L
+
"+|((?:^|[^
\\\\
])(?:
\\\\
.)*)"
+
L
+
"+$"
,
"g"
),
S
=
new
RegExp
(
"^"
+
L
+
"*,"
+
L
+
"*"
),
T
=
new
RegExp
(
"^"
+
L
+
"*([>+~]|"
+
L
+
")"
+
L
+
"*"
),
U
=
new
RegExp
(
"="
+
L
+
"*([^
\\
]'
\"
]*?)"
+
L
+
"*
\\
]"
,
"g"
),
V
=
new
RegExp
(
P
),
W
=
new
RegExp
(
"^"
+
N
+
"$"
),
X
=
{
ID
:
new
RegExp
(
"^#("
+
M
+
")"
),
CLASS
:
new
RegExp
(
"^
\\
.("
+
M
+
")"
),
TAG
:
new
RegExp
(
"^("
+
M
.
replace
(
"w"
,
"w*"
)
+
")"
),
ATTR
:
new
RegExp
(
"^"
+
O
),
PSEUDO
:
new
RegExp
(
"^"
+
P
),
CHILD
:
new
RegExp
(
"^:(only|first|last|nth|nth-last)-(child|of-type)(?:
\\
("
+
L
+
"*(even|odd|(([+-]|)(
\\
d*)n|)"
+
L
+
"*(?:([+-]|)"
+
L
+
"*(
\\
d+)|))"
+
L
+
"*
\\
)|)"
,
"i"
),
bool
:
new
RegExp
(
"^(?:"
+
K
+
")$"
,
"i"
),
needsContext
:
new
RegExp
(
"^"
+
L
+
"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:
\\
("
+
L
+
"*((?:-
\\
d)?
\\
d*)"
+
L
+
"*
\\
)|)(?=[^-]|$)"
,
"i"
)},
Y
=
/^
(?:
input|select|textarea|button
)
$/i
,
Z
=
/^h
\d
$/i
,
$
=
/^
[^
{
]
+
\{\s
*
\[
native
\w
/
,
_
=
/^
(?:
#
([\w
-
]
+
)
|
(\w
+
)
|
\.([\w
-
]
+
))
$/
,
ab
=
/
[
+~
]
/
,
bb
=
/'|
\\
/g
,
cb
=
new
RegExp
(
"
\\\\
([
\\
da-f]{1,6}"
+
L
+
"?|("
+
L
+
")|.)"
,
"ig"
),
db
=
function
(
a
,
b
,
c
){
var
d
=
"0x"
+
b
-
65536
;
return
d
!==
d
||
c
?
b
:
0
>
d
?
String
.
fromCharCode
(
d
+
65536
):
String
.
fromCharCode
(
d
>>
10
|
55296
,
1023
&
d
|
56320
)},
eb
=
function
(){
m
()};
try
{
H
.
apply
(
E
=
I
.
call
(
v
.
childNodes
),
v
.
childNodes
),
E
[
v
.
childNodes
.
length
].
nodeType
}
catch
(
fb
){
H
=
{
apply
:
E
.
length
?
function
(
a
,
b
){
G
.
apply
(
a
,
I
.
call
(
b
))}:
function
(
a
,
b
){
var
c
=
a
.
length
,
d
=
0
;
while
(
a
[
c
++
]
=
b
[
d
++
]);
a
.
length
=
c
-
1
}}}
function
gb
(
a
,
b
,
d
,
e
){
var
f
,
h
,
j
,
k
,
l
,
o
,
r
,
s
,
w
,
x
;
if
((
b
?
b
.
ownerDocument
||
b
:
v
)
!==
n
&&
m
(
b
),
b
=
b
||
n
,
d
=
d
||
[],
k
=
b
.
nodeType
,
"string"
!=
typeof
a
||!
a
||
1
!==
k
&&
9
!==
k
&&
11
!==
k
)
return
d
;
if
(
!
e
&&
p
){
if
(
11
!==
k
&&
(
f
=
_
.
exec
(
a
)))
if
(
j
=
f
[
1
]){
if
(
9
===
k
){
if
(
h
=
b
.
getElementById
(
j
),
!
h
||!
h
.
parentNode
)
return
d
;
if
(
h
.
id
===
j
)
return
d
.
push
(
h
),
d
}
else
if
(
b
.
ownerDocument
&&
(
h
=
b
.
ownerDocument
.
getElementById
(
j
))
&&
t
(
b
,
h
)
&&
h
.
id
===
j
)
return
d
.
push
(
h
),
d
}
else
{
if
(
f
[
2
])
return
H
.
apply
(
d
,
b
.
getElementsByTagName
(
a
)),
d
;
if
((
j
=
f
[
3
])
&&
c
.
getElementsByClassName
)
return
H
.
apply
(
d
,
b
.
getElementsByClassName
(
j
)),
d
}
if
(
c
.
qsa
&&
(
!
q
||!
q
.
test
(
a
))){
if
(
s
=
r
=
u
,
w
=
b
,
x
=
1
!==
k
&&
a
,
1
===
k
&&
"object"
!==
b
.
nodeName
.
toLowerCase
()){
o
=
g
(
a
),(
r
=
b
.
getAttribute
(
"id"
))?
s
=
r
.
replace
(
bb
,
"
\\
$&"
):
b
.
setAttribute
(
"id"
,
s
),
s
=
"[id='"
+
s
+
"'] "
,
l
=
o
.
length
;
while
(
l
--
)
o
[
l
]
=
s
+
rb
(
o
[
l
]);
w
=
ab
.
test
(
a
)
&&
pb
(
b
.
parentNode
)
||
b
,
x
=
o
.
join
(
","
)}
if
(
x
)
try
{
return
H
.
apply
(
d
,
w
.
querySelectorAll
(
x
)),
d
}
catch
(
y
){}
finally
{
r
||
b
.
removeAttribute
(
"id"
)}}}
return
i
(
a
.
replace
(
R
,
"$1"
),
b
,
d
,
e
)}
function
hb
(){
var
a
=
[];
function
b
(
c
,
e
){
return
a
.
push
(
c
+
" "
)
>
d
.
cacheLength
&&
delete
b
[
a
.
shift
()],
b
[
c
+
" "
]
=
e
}
return
b
}
function
ib
(
a
){
return
a
[
u
]
=!
0
,
a
}
function
jb
(
a
){
var
b
=
n
.
createElement
(
"div"
);
try
{
return
!!
a
(
b
)}
catch
(
c
){
return
!
1
}
finally
{
b
.
parentNode
&&
b
.
parentNode
.
removeChild
(
b
),
b
=
null
}}
function
kb
(
a
,
b
){
var
c
=
a
.
split
(
"|"
),
e
=
a
.
length
;
while
(
e
--
)
d
.
attrHandle
[
c
[
e
]]
=
b
}
function
lb
(
a
,
b
){
var
c
=
b
&&
a
,
d
=
c
&&
1
===
a
.
nodeType
&&
1
===
b
.
nodeType
&&
(
~
b
.
sourceIndex
||
C
)
-
(
~
a
.
sourceIndex
||
C
);
if
(
d
)
return
d
;
if
(
c
)
while
(
c
=
c
.
nextSibling
)
if
(
c
===
b
)
return
-
1
;
return
a
?
1
:
-
1
}
function
mb
(
a
){
return
function
(
b
){
var
c
=
b
.
nodeName
.
toLowerCase
();
return
"input"
===
c
&&
b
.
type
===
a
}}
function
nb
(
a
){
return
function
(
b
){
var
c
=
b
.
nodeName
.
toLowerCase
();
return
(
"input"
===
c
||
"button"
===
c
)
&&
b
.
type
===
a
}}
function
ob
(
a
){
return
ib
(
function
(
b
){
return
b
=+
b
,
ib
(
function
(
c
,
d
){
var
e
,
f
=
a
([],
c
.
length
,
b
),
g
=
f
.
length
;
while
(
g
--
)
c
[
e
=
f
[
g
]]
&&
(
c
[
e
]
=!
(
d
[
e
]
=
c
[
e
]))})})}
function
pb
(
a
){
return
a
&&
"undefined"
!=
typeof
a
.
getElementsByTagName
&&
a
}
c
=
gb
.
support
=
{},
f
=
gb
.
isXML
=
function
(
a
){
var
b
=
a
&&
(
a
.
ownerDocument
||
a
).
documentElement
;
return
b
?
"HTML"
!==
b
.
nodeName
:
!
1
},
m
=
gb
.
setDocument
=
function
(
a
){
var
b
,
e
,
g
=
a
?
a
.
ownerDocument
||
a
:
v
;
return
g
!==
n
&&
9
===
g
.
nodeType
&&
g
.
documentElement
?(
n
=
g
,
o
=
g
.
documentElement
,
e
=
g
.
defaultView
,
e
&&
e
!==
e
.
top
&&
(
e
.
addEventListener
?
e
.
addEventListener
(
"unload"
,
eb
,
!
1
):
e
.
attachEvent
&&
e
.
attachEvent
(
"onunload"
,
eb
)),
p
=!
f
(
g
),
c
.
attributes
=
jb
(
function
(
a
){
return
a
.
className
=
"i"
,
!
a
.
getAttribute
(
"className"
)}),
c
.
getElementsByTagName
=
jb
(
function
(
a
){
return
a
.
appendChild
(
g
.
createComment
(
""
)),
!
a
.
getElementsByTagName
(
"*"
).
length
}),
c
.
getElementsByClassName
=
$
.
test
(
g
.
getElementsByClassName
),
c
.
getById
=
jb
(
function
(
a
){
return
o
.
appendChild
(
a
).
id
=
u
,
!
g
.
getElementsByName
||!
g
.
getElementsByName
(
u
).
length
}),
c
.
getById
?(
d
.
find
.
ID
=
function
(
a
,
b
){
if
(
"undefined"
!=
typeof
b
.
getElementById
&&
p
){
var
c
=
b
.
getElementById
(
a
);
return
c
&&
c
.
parentNode
?[
c
]:[]}},
d
.
filter
.
ID
=
function
(
a
){
var
b
=
a
.
replace
(
cb
,
db
);
return
function
(
a
){
return
a
.
getAttribute
(
"id"
)
===
b
}}):(
delete
d
.
find
.
ID
,
d
.
filter
.
ID
=
function
(
a
){
var
b
=
a
.
replace
(
cb
,
db
);
return
function
(
a
){
var
c
=
"undefined"
!=
typeof
a
.
getAttributeNode
&&
a
.
getAttributeNode
(
"id"
);
return
c
&&
c
.
value
===
b
}}),
d
.
find
.
TAG
=
c
.
getElementsByTagName
?
function
(
a
,
b
){
return
"undefined"
!=
typeof
b
.
getElementsByTagName
?
b
.
getElementsByTagName
(
a
):
c
.
qsa
?
b
.
querySelectorAll
(
a
):
void
0
}:
function
(
a
,
b
){
var
c
,
d
=
[],
e
=
0
,
f
=
b
.
getElementsByTagName
(
a
);
if
(
"*"
===
a
){
while
(
c
=
f
[
e
++
])
1
===
c
.
nodeType
&&
d
.
push
(
c
);
return
d
}
return
f
},
d
.
find
.
CLASS
=
c
.
getElementsByClassName
&&
function
(
a
,
b
){
return
p
?
b
.
getElementsByClassName
(
a
):
void
0
},
r
=
[],
q
=
[],(
c
.
qsa
=
$
.
test
(
g
.
querySelectorAll
))
&&
(
jb
(
function
(
a
){
o
.
appendChild
(
a
).
innerHTML
=
"<a id='"
+
u
+
"'></a><select id='"
+
u
+
"-
\
f]' msallowcapture=''><option selected=''></option></select>"
,
a
.
querySelectorAll
(
"[msallowcapture^='']"
).
length
&&
q
.
push
(
"[*^$]="
+
L
+
"*(?:''|
\"\"
)"
),
a
.
querySelectorAll
(
"[selected]"
).
length
||
q
.
push
(
"
\\
["
+
L
+
"*(?:value|"
+
K
+
")"
),
a
.
querySelectorAll
(
"[id~="
+
u
+
"-]"
).
length
||
q
.
push
(
"~="
),
a
.
querySelectorAll
(
":checked"
).
length
||
q
.
push
(
":checked"
),
a
.
querySelectorAll
(
"a#"
+
u
+
"+*"
).
length
||
q
.
push
(
".#.+[+~]"
)}),
jb
(
function
(
a
){
var
b
=
g
.
createElement
(
"input"
);
b
.
setAttribute
(
"type"
,
"hidden"
),
a
.
appendChild
(
b
).
setAttribute
(
"name"
,
"D"
),
a
.
querySelectorAll
(
"[name=d]"
).
length
&&
q
.
push
(
"name"
+
L
+
"*[*^$|!~]?="
),
a
.
querySelectorAll
(
":enabled"
).
length
||
q
.
push
(
":enabled"
,
":disabled"
),
a
.
querySelectorAll
(
"*,:x"
),
q
.
push
(
",.*:"
)})),(
c
.
matchesSelector
=
$
.
test
(
s
=
o
.
matches
||
o
.
webkitMatchesSelector
||
o
.
mozMatchesSelector
||
o
.
oMatchesSelector
||
o
.
msMatchesSelector
))
&&
jb
(
function
(
a
){
c
.
disconnectedMatch
=
s
.
call
(
a
,
"div"
),
s
.
call
(
a
,
"[s!='']:x"
),
r
.
push
(
"!="
,
P
)}),
q
=
q
.
length
&&
new
RegExp
(
q
.
join
(
"|"
)),
r
=
r
.
length
&&
new
RegExp
(
r
.
join
(
"|"
)),
b
=
$
.
test
(
o
.
compareDocumentPosition
),
t
=
b
||
$
.
test
(
o
.
contains
)?
function
(
a
,
b
){
var
c
=
9
===
a
.
nodeType
?
a
.
documentElement
:
a
,
d
=
b
&&
b
.
parentNode
;
return
a
===
d
||!
(
!
d
||
1
!==
d
.
nodeType
||!
(
c
.
contains
?
c
.
contains
(
d
):
a
.
compareDocumentPosition
&&
16
&
a
.
compareDocumentPosition
(
d
)))}:
function
(
a
,
b
){
if
(
b
)
while
(
b
=
b
.
parentNode
)
if
(
b
===
a
)
return
!
0
;
return
!
1
},
B
=
b
?
function
(
a
,
b
){
if
(
a
===
b
)
return
l
=!
0
,
0
;
var
d
=!
a
.
compareDocumentPosition
-!
b
.
compareDocumentPosition
;
return
d
?
d
:(
d
=
(
a
.
ownerDocument
||
a
)
===
(
b
.
ownerDocument
||
b
)?
a
.
compareDocumentPosition
(
b
):
1
,
1
&
d
||!
c
.
sortDetached
&&
b
.
compareDocumentPosition
(
a
)
===
d
?
a
===
g
||
a
.
ownerDocument
===
v
&&
t
(
v
,
a
)?
-
1
:
b
===
g
||
b
.
ownerDocument
===
v
&&
t
(
v
,
b
)?
1
:
k
?
J
(
k
,
a
)
-
J
(
k
,
b
):
0
:
4
&
d
?
-
1
:
1
)}:
function
(
a
,
b
){
if
(
a
===
b
)
return
l
=!
0
,
0
;
var
c
,
d
=
0
,
e
=
a
.
parentNode
,
f
=
b
.
parentNode
,
h
=
[
a
],
i
=
[
b
];
if
(
!
e
||!
f
)
return
a
===
g
?
-
1
:
b
===
g
?
1
:
e
?
-
1
:
f
?
1
:
k
?
J
(
k
,
a
)
-
J
(
k
,
b
):
0
;
if
(
e
===
f
)
return
lb
(
a
,
b
);
c
=
a
;
while
(
c
=
c
.
parentNode
)
h
.
unshift
(
c
);
c
=
b
;
while
(
c
=
c
.
parentNode
)
i
.
unshift
(
c
);
while
(
h
[
d
]
===
i
[
d
])
d
++
;
return
d
?
lb
(
h
[
d
],
i
[
d
]):
h
[
d
]
===
v
?
-
1
:
i
[
d
]
===
v
?
1
:
0
},
g
):
n
},
gb
.
matches
=
function
(
a
,
b
){
return
gb
(
a
,
null
,
null
,
b
)},
gb
.
matchesSelector
=
function
(
a
,
b
){
if
((
a
.
ownerDocument
||
a
)
!==
n
&&
m
(
a
),
b
=
b
.
replace
(
U
,
"='$1']"
),
!
(
!
c
.
matchesSelector
||!
p
||
r
&&
r
.
test
(
b
)
||
q
&&
q
.
test
(
b
)))
try
{
var
d
=
s
.
call
(
a
,
b
);
if
(
d
||
c
.
disconnectedMatch
||
a
.
document
&&
11
!==
a
.
document
.
nodeType
)
return
d
}
catch
(
e
){}
return
gb
(
b
,
n
,
null
,[
a
]).
length
>
0
},
gb
.
contains
=
function
(
a
,
b
){
return
(
a
.
ownerDocument
||
a
)
!==
n
&&
m
(
a
),
t
(
a
,
b
)},
gb
.
attr
=
function
(
a
,
b
){(
a
.
ownerDocument
||
a
)
!==
n
&&
m
(
a
);
var
e
=
d
.
attrHandle
[
b
.
toLowerCase
()],
f
=
e
&&
D
.
call
(
d
.
attrHandle
,
b
.
toLowerCase
())?
e
(
a
,
b
,
!
p
):
void
0
;
return
void
0
!==
f
?
f
:
c
.
attributes
||!
p
?
a
.
getAttribute
(
b
):(
f
=
a
.
getAttributeNode
(
b
))
&&
f
.
specified
?
f
.
value
:
null
},
gb
.
error
=
function
(
a
){
throw
new
Error
(
"Syntax error, unrecognized expression: "
+
a
)},
gb
.
uniqueSort
=
function
(
a
){
var
b
,
d
=
[],
e
=
0
,
f
=
0
;
if
(
l
=!
c
.
detectDuplicates
,
k
=!
c
.
sortStable
&&
a
.
slice
(
0
),
a
.
sort
(
B
),
l
){
while
(
b
=
a
[
f
++
])
b
===
a
[
f
]
&&
(
e
=
d
.
push
(
f
));
while
(
e
--
)
a
.
splice
(
d
[
e
],
1
)}
return
k
=
null
,
a
},
e
=
gb
.
getText
=
function
(
a
){
var
b
,
c
=
""
,
d
=
0
,
f
=
a
.
nodeType
;
if
(
f
){
if
(
1
===
f
||
9
===
f
||
11
===
f
){
if
(
"string"
==
typeof
a
.
textContent
)
return
a
.
textContent
;
for
(
a
=
a
.
firstChild
;
a
;
a
=
a
.
nextSibling
)
c
+=
e
(
a
)}
else
if
(
3
===
f
||
4
===
f
)
return
a
.
nodeValue
}
else
while
(
b
=
a
[
d
++
])
c
+=
e
(
b
);
return
c
},
d
=
gb
.
selectors
=
{
cacheLength
:
50
,
createPseudo
:
ib
,
match
:
X
,
attrHandle
:{},
find
:{},
relative
:{
">"
:{
dir
:
"parentNode"
,
first
:
!
0
},
" "
:{
dir
:
"parentNode"
},
"+"
:{
dir
:
"previousSibling"
,
first
:
!
0
},
"~"
:{
dir
:
"previousSibling"
}},
preFilter
:{
ATTR
:
function
(
a
){
return
a
[
1
]
=
a
[
1
].
replace
(
cb
,
db
),
a
[
3
]
=
(
a
[
3
]
||
a
[
4
]
||
a
[
5
]
||
""
).
replace
(
cb
,
db
),
"~="
===
a
[
2
]
&&
(
a
[
3
]
=
" "
+
a
[
3
]
+
" "
),
a
.
slice
(
0
,
4
)},
CHILD
:
function
(
a
){
return
a
[
1
]
=
a
[
1
].
toLowerCase
(),
"nth"
===
a
[
1
].
slice
(
0
,
3
)?(
a
[
3
]
||
gb
.
error
(
a
[
0
]),
a
[
4
]
=+
(
a
[
4
]?
a
[
5
]
+
(
a
[
6
]
||
1
):
2
*
(
"even"
===
a
[
3
]
||
"odd"
===
a
[
3
])),
a
[
5
]
=+
(
a
[
7
]
+
a
[
8
]
||
"odd"
===
a
[
3
])):
a
[
3
]
&&
gb
.
error
(
a
[
0
]),
a
},
PSEUDO
:
function
(
a
){
var
b
,
c
=!
a
[
6
]
&&
a
[
2
];
return
X
.
CHILD
.
test
(
a
[
0
])?
null
:(
a
[
3
]?
a
[
2
]
=
a
[
4
]
||
a
[
5
]
||
""
:
c
&&
V
.
test
(
c
)
&&
(
b
=
g
(
c
,
!
0
))
&&
(
b
=
c
.
indexOf
(
")"
,
c
.
length
-
b
)
-
c
.
length
)
&&
(
a
[
0
]
=
a
[
0
].
slice
(
0
,
b
),
a
[
2
]
=
c
.
slice
(
0
,
b
)),
a
.
slice
(
0
,
3
))}},
filter
:{
TAG
:
function
(
a
){
var
b
=
a
.
replace
(
cb
,
db
).
toLowerCase
();
return
"*"
===
a
?
function
(){
return
!
0
}:
function
(
a
){
return
a
.
nodeName
&&
a
.
nodeName
.
toLowerCase
()
===
b
}},
CLASS
:
function
(
a
){
var
b
=
y
[
a
+
" "
];
return
b
||
(
b
=
new
RegExp
(
"(^|"
+
L
+
")"
+
a
+
"("
+
L
+
"|$)"
))
&&
y
(
a
,
function
(
a
){
return
b
.
test
(
"string"
==
typeof
a
.
className
&&
a
.
className
||
"undefined"
!=
typeof
a
.
getAttribute
&&
a
.
getAttribute
(
"class"
)
||
""
)})},
ATTR
:
function
(
a
,
b
,
c
){
return
function
(
d
){
var
e
=
gb
.
attr
(
d
,
a
);
return
null
==
e
?
"!="
===
b
:
b
?(
e
+=
""
,
"="
===
b
?
e
===
c
:
"!="
===
b
?
e
!==
c
:
"^="
===
b
?
c
&&
0
===
e
.
indexOf
(
c
):
"*="
===
b
?
c
&&
e
.
indexOf
(
c
)
>-
1
:
"$="
===
b
?
c
&&
e
.
slice
(
-
c
.
length
)
===
c
:
"~="
===
b
?(
" "
+
e
.
replace
(
Q
,
" "
)
+
" "
).
indexOf
(
c
)
>-
1
:
"|="
===
b
?
e
===
c
||
e
.
slice
(
0
,
c
.
length
+
1
)
===
c
+
"-"
:
!
1
):
!
0
}},
CHILD
:
function
(
a
,
b
,
c
,
d
,
e
){
var
f
=
"nth"
!==
a
.
slice
(
0
,
3
),
g
=
"last"
!==
a
.
slice
(
-
4
),
h
=
"of-type"
===
b
;
return
1
===
d
&&
0
===
e
?
function
(
a
){
return
!!
a
.
parentNode
}:
function
(
b
,
c
,
i
){
var
j
,
k
,
l
,
m
,
n
,
o
,
p
=
f
!==
g
?
"nextSibling"
:
"previousSibling"
,
q
=
b
.
parentNode
,
r
=
h
&&
b
.
nodeName
.
toLowerCase
(),
s
=!
i
&&!
h
;
if
(
q
){
if
(
f
){
while
(
p
){
l
=
b
;
while
(
l
=
l
[
p
])
if
(
h
?
l
.
nodeName
.
toLowerCase
()
===
r
:
1
===
l
.
nodeType
)
return
!
1
;
o
=
p
=
"only"
===
a
&&!
o
&&
"nextSibling"
}
return
!
0
}
if
(
o
=
[
g
?
q
.
firstChild
:
q
.
lastChild
],
g
&&
s
){
k
=
q
[
u
]
||
(
q
[
u
]
=
{}),
j
=
k
[
a
]
||
[],
n
=
j
[
0
]
===
w
&&
j
[
1
],
m
=
j
[
0
]
===
w
&&
j
[
2
],
l
=
n
&&
q
.
childNodes
[
n
];
while
(
l
=++
n
&&
l
&&
l
[
p
]
||
(
m
=
n
=
0
)
||
o
.
pop
())
if
(
1
===
l
.
nodeType
&&++
m
&&
l
===
b
){
k
[
a
]
=
[
w
,
n
,
m
];
break
}}
else
if
(
s
&&
(
j
=
(
b
[
u
]
||
(
b
[
u
]
=
{}))[
a
])
&&
j
[
0
]
===
w
)
m
=
j
[
1
];
else
while
(
l
=++
n
&&
l
&&
l
[
p
]
||
(
m
=
n
=
0
)
||
o
.
pop
())
if
((
h
?
l
.
nodeName
.
toLowerCase
()
===
r
:
1
===
l
.
nodeType
)
&&++
m
&&
(
s
&&
((
l
[
u
]
||
(
l
[
u
]
=
{}))[
a
]
=
[
w
,
m
]),
l
===
b
))
break
;
return
m
-=
e
,
m
===
d
||
m
%
d
===
0
&&
m
/
d
>=
0
}}},
PSEUDO
:
function
(
a
,
b
){
var
c
,
e
=
d
.
pseudos
[
a
]
||
d
.
setFilters
[
a
.
toLowerCase
()]
||
gb
.
error
(
"unsupported pseudo: "
+
a
);
return
e
[
u
]?
e
(
b
):
e
.
length
>
1
?(
c
=
[
a
,
a
,
""
,
b
],
d
.
setFilters
.
hasOwnProperty
(
a
.
toLowerCase
())?
ib
(
function
(
a
,
c
){
var
d
,
f
=
e
(
a
,
b
),
g
=
f
.
length
;
while
(
g
--
)
d
=
J
(
a
,
f
[
g
]),
a
[
d
]
=!
(
c
[
d
]
=
f
[
g
])}):
function
(
a
){
return
e
(
a
,
0
,
c
)}):
e
}},
pseudos
:{
not
:
ib
(
function
(
a
){
var
b
=
[],
c
=
[],
d
=
h
(
a
.
replace
(
R
,
"$1"
));
return
d
[
u
]?
ib
(
function
(
a
,
b
,
c
,
e
){
var
f
,
g
=
d
(
a
,
null
,
e
,[]),
h
=
a
.
length
;
while
(
h
--
)(
f
=
g
[
h
])
&&
(
a
[
h
]
=!
(
b
[
h
]
=
f
))}):
function
(
a
,
e
,
f
){
return
b
[
0
]
=
a
,
d
(
b
,
null
,
f
,
c
),
b
[
0
]
=
null
,
!
c
.
pop
()}}),
has
:
ib
(
function
(
a
){
return
function
(
b
){
return
gb
(
a
,
b
).
length
>
0
}}),
contains
:
ib
(
function
(
a
){
return
a
=
a
.
replace
(
cb
,
db
),
function
(
b
){
return
(
b
.
textContent
||
b
.
innerText
||
e
(
b
)).
indexOf
(
a
)
>-
1
}}),
lang
:
ib
(
function
(
a
){
return
W
.
test
(
a
||
""
)
||
gb
.
error
(
"unsupported lang: "
+
a
),
a
=
a
.
replace
(
cb
,
db
).
toLowerCase
(),
function
(
b
){
var
c
;
do
if
(
c
=
p
?
b
.
lang
:
b
.
getAttribute
(
"xml:lang"
)
||
b
.
getAttribute
(
"lang"
))
return
c
=
c
.
toLowerCase
(),
c
===
a
||
0
===
c
.
indexOf
(
a
+
"-"
);
while
((
b
=
b
.
parentNode
)
&&
1
===
b
.
nodeType
);
return
!
1
}}),
target
:
function
(
b
){
var
c
=
a
.
location
&&
a
.
location
.
hash
;
return
c
&&
c
.
slice
(
1
)
===
b
.
id
},
root
:
function
(
a
){
return
a
===
o
},
focus
:
function
(
a
){
return
a
===
n
.
activeElement
&&
(
!
n
.
hasFocus
||
n
.
hasFocus
())
&&!!
(
a
.
type
||
a
.
href
||~
a
.
tabIndex
)},
enabled
:
function
(
a
){
return
a
.
disabled
===!
1
},
disabled
:
function
(
a
){
return
a
.
disabled
===!
0
},
checked
:
function
(
a
){
var
b
=
a
.
nodeName
.
toLowerCase
();
return
"input"
===
b
&&!!
a
.
checked
||
"option"
===
b
&&!!
a
.
selected
},
selected
:
function
(
a
){
return
a
.
parentNode
&&
a
.
parentNode
.
selectedIndex
,
a
.
selected
===!
0
},
empty
:
function
(
a
){
for
(
a
=
a
.
firstChild
;
a
;
a
=
a
.
nextSibling
)
if
(
a
.
nodeType
<
6
)
return
!
1
;
return
!
0
},
parent
:
function
(
a
){
return
!
d
.
pseudos
.
empty
(
a
)},
header
:
function
(
a
){
return
Z
.
test
(
a
.
nodeName
)},
input
:
function
(
a
){
return
Y
.
test
(
a
.
nodeName
)},
button
:
function
(
a
){
var
b
=
a
.
nodeName
.
toLowerCase
();
return
"input"
===
b
&&
"button"
===
a
.
type
||
"button"
===
b
},
text
:
function
(
a
){
var
b
;
return
"input"
===
a
.
nodeName
.
toLowerCase
()
&&
"text"
===
a
.
type
&&
(
null
==
(
b
=
a
.
getAttribute
(
"type"
))
||
"text"
===
b
.
toLowerCase
())},
first
:
ob
(
function
(){
return
[
0
]}),
last
:
ob
(
function
(
a
,
b
){
return
[
b
-
1
]}),
eq
:
ob
(
function
(
a
,
b
,
c
){
return
[
0
>
c
?
c
+
b
:
c
]}),
even
:
ob
(
function
(
a
,
b
){
for
(
var
c
=
0
;
b
>
c
;
c
+=
2
)
a
.
push
(
c
);
return
a
}),
odd
:
ob
(
function
(
a
,
b
){
for
(
var
c
=
1
;
b
>
c
;
c
+=
2
)
a
.
push
(
c
);
return
a
}),
lt
:
ob
(
function
(
a
,
b
,
c
){
for
(
var
d
=
0
>
c
?
c
+
b
:
c
;
--
d
>=
0
;)
a
.
push
(
d
);
return
a
}),
gt
:
ob
(
function
(
a
,
b
,
c
){
for
(
var
d
=
0
>
c
?
c
+
b
:
c
;
++
d
<
b
;)
a
.
push
(
d
);
return
a
})}},
d
.
pseudos
.
nth
=
d
.
pseudos
.
eq
;
for
(
b
in
{
radio
:
!
0
,
checkbox
:
!
0
,
file
:
!
0
,
password
:
!
0
,
image
:
!
0
})
d
.
pseudos
[
b
]
=
mb
(
b
);
for
(
b
in
{
submit
:
!
0
,
reset
:
!
0
})
d
.
pseudos
[
b
]
=
nb
(
b
);
function
qb
(){}
qb
.
prototype
=
d
.
filters
=
d
.
pseudos
,
d
.
setFilters
=
new
qb
,
g
=
gb
.
tokenize
=
function
(
a
,
b
){
var
c
,
e
,
f
,
g
,
h
,
i
,
j
,
k
=
z
[
a
+
" "
];
if
(
k
)
return
b
?
0
:
k
.
slice
(
0
);
h
=
a
,
i
=
[],
j
=
d
.
preFilter
;
while
(
h
){(
!
c
||
(
e
=
S
.
exec
(
h
)))
&&
(
e
&&
(
h
=
h
.
slice
(
e
[
0
].
length
)
||
h
),
i
.
push
(
f
=
[])),
c
=!
1
,(
e
=
T
.
exec
(
h
))
&&
(
c
=
e
.
shift
(),
f
.
push
({
value
:
c
,
type
:
e
[
0
].
replace
(
R
,
" "
)}),
h
=
h
.
slice
(
c
.
length
));
for
(
g
in
d
.
filter
)
!
(
e
=
X
[
g
].
exec
(
h
))
||
j
[
g
]
&&!
(
e
=
j
[
g
](
e
))
||
(
c
=
e
.
shift
(),
f
.
push
({
value
:
c
,
type
:
g
,
matches
:
e
}),
h
=
h
.
slice
(
c
.
length
));
if
(
!
c
)
break
}
return
b
?
h
.
length
:
h
?
gb
.
error
(
a
):
z
(
a
,
i
).
slice
(
0
)};
function
rb
(
a
){
for
(
var
b
=
0
,
c
=
a
.
length
,
d
=
""
;
c
>
b
;
b
++
)
d
+=
a
[
b
].
value
;
return
d
}
function
sb
(
a
,
b
,
c
){
var
d
=
b
.
dir
,
e
=
c
&&
"parentNode"
===
d
,
f
=
x
++
;
return
b
.
first
?
function
(
b
,
c
,
f
){
while
(
b
=
b
[
d
])
if
(
1
===
b
.
nodeType
||
e
)
return
a
(
b
,
c
,
f
)}:
function
(
b
,
c
,
g
){
var
h
,
i
,
j
=
[
w
,
f
];
if
(
g
){
while
(
b
=
b
[
d
])
if
((
1
===
b
.
nodeType
||
e
)
&&
a
(
b
,
c
,
g
))
return
!
0
}
else
while
(
b
=
b
[
d
])
if
(
1
===
b
.
nodeType
||
e
){
if
(
i
=
b
[
u
]
||
(
b
[
u
]
=
{}),(
h
=
i
[
d
])
&&
h
[
0
]
===
w
&&
h
[
1
]
===
f
)
return
j
[
2
]
=
h
[
2
];
if
(
i
[
d
]
=
j
,
j
[
2
]
=
a
(
b
,
c
,
g
))
return
!
0
}}}
function
tb
(
a
){
return
a
.
length
>
1
?
function
(
b
,
c
,
d
){
var
e
=
a
.
length
;
while
(
e
--
)
if
(
!
a
[
e
](
b
,
c
,
d
))
return
!
1
;
return
!
0
}:
a
[
0
]}
function
ub
(
a
,
b
,
c
){
for
(
var
d
=
0
,
e
=
b
.
length
;
e
>
d
;
d
++
)
gb
(
a
,
b
[
d
],
c
);
return
c
}
function
vb
(
a
,
b
,
c
,
d
,
e
){
for
(
var
f
,
g
=
[],
h
=
0
,
i
=
a
.
length
,
j
=
null
!=
b
;
i
>
h
;
h
++
)(
f
=
a
[
h
])
&&
(
!
c
||
c
(
f
,
d
,
e
))
&&
(
g
.
push
(
f
),
j
&&
b
.
push
(
h
));
return
g
}
function
wb
(
a
,
b
,
c
,
d
,
e
,
f
){
return
d
&&!
d
[
u
]
&&
(
d
=
wb
(
d
)),
e
&&!
e
[
u
]
&&
(
e
=
wb
(
e
,
f
)),
ib
(
function
(
f
,
g
,
h
,
i
){
var
j
,
k
,
l
,
m
=
[],
n
=
[],
o
=
g
.
length
,
p
=
f
||
ub
(
b
||
"*"
,
h
.
nodeType
?[
h
]:
h
,[]),
q
=!
a
||!
f
&&
b
?
p
:
vb
(
p
,
m
,
a
,
h
,
i
),
r
=
c
?
e
||
(
f
?
a
:
o
||
d
)?[]:
g
:
q
;
if
(
c
&&
c
(
q
,
r
,
h
,
i
),
d
){
j
=
vb
(
r
,
n
),
d
(
j
,[],
h
,
i
),
k
=
j
.
length
;
while
(
k
--
)(
l
=
j
[
k
])
&&
(
r
[
n
[
k
]]
=!
(
q
[
n
[
k
]]
=
l
))}
if
(
f
){
if
(
e
||
a
){
if
(
e
){
j
=
[],
k
=
r
.
length
;
while
(
k
--
)(
l
=
r
[
k
])
&&
j
.
push
(
q
[
k
]
=
l
);
e
(
null
,
r
=
[],
j
,
i
)}
k
=
r
.
length
;
while
(
k
--
)(
l
=
r
[
k
])
&&
(
j
=
e
?
J
(
f
,
l
):
m
[
k
])
>-
1
&&
(
f
[
j
]
=!
(
g
[
j
]
=
l
))}}
else
r
=
vb
(
r
===
g
?
r
.
splice
(
o
,
r
.
length
):
r
),
e
?
e
(
null
,
g
,
r
,
i
):
H
.
apply
(
g
,
r
)})}
function
xb
(
a
){
for
(
var
b
,
c
,
e
,
f
=
a
.
length
,
g
=
d
.
relative
[
a
[
0
].
type
],
h
=
g
||
d
.
relative
[
" "
],
i
=
g
?
1
:
0
,
k
=
sb
(
function
(
a
){
return
a
===
b
},
h
,
!
0
),
l
=
sb
(
function
(
a
){
return
J
(
b
,
a
)
>-
1
},
h
,
!
0
),
m
=
[
function
(
a
,
c
,
d
){
var
e
=!
g
&&
(
d
||
c
!==
j
)
||
((
b
=
c
).
nodeType
?
k
(
a
,
c
,
d
):
l
(
a
,
c
,
d
));
return
b
=
null
,
e
}];
f
>
i
;
i
++
)
if
(
c
=
d
.
relative
[
a
[
i
].
type
])
m
=
[
sb
(
tb
(
m
),
c
)];
else
{
if
(
c
=
d
.
filter
[
a
[
i
].
type
].
apply
(
null
,
a
[
i
].
matches
),
c
[
u
]){
for
(
e
=++
i
;
f
>
e
;
e
++
)
if
(
d
.
relative
[
a
[
e
].
type
])
break
;
return
wb
(
i
>
1
&&
tb
(
m
),
i
>
1
&&
rb
(
a
.
slice
(
0
,
i
-
1
).
concat
({
value
:
" "
===
a
[
i
-
2
].
type
?
"*"
:
""
})).
replace
(
R
,
"$1"
),
c
,
e
>
i
&&
xb
(
a
.
slice
(
i
,
e
)),
f
>
e
&&
xb
(
a
=
a
.
slice
(
e
)),
f
>
e
&&
rb
(
a
))}
m
.
push
(
c
)}
return
tb
(
m
)}
function
yb
(
a
,
b
){
var
c
=
b
.
length
>
0
,
e
=
a
.
length
>
0
,
f
=
function
(
f
,
g
,
h
,
i
,
k
){
var
l
,
m
,
o
,
p
=
0
,
q
=
"0"
,
r
=
f
&&
[],
s
=
[],
t
=
j
,
u
=
f
||
e
&&
d
.
find
.
TAG
(
"*"
,
k
),
v
=
w
+=
null
==
t
?
1
:
Math
.
random
()
||
.
1
,
x
=
u
.
length
;
for
(
k
&&
(
j
=
g
!==
n
&&
g
);
q
!==
x
&&
null
!=
(
l
=
u
[
q
]);
q
++
){
if
(
e
&&
l
){
m
=
0
;
while
(
o
=
a
[
m
++
])
if
(
o
(
l
,
g
,
h
)){
i
.
push
(
l
);
break
}
k
&&
(
w
=
v
)}
c
&&
((
l
=!
o
&&
l
)
&&
p
--
,
f
&&
r
.
push
(
l
))}
if
(
p
+=
q
,
c
&&
q
!==
p
){
m
=
0
;
while
(
o
=
b
[
m
++
])
o
(
r
,
s
,
g
,
h
);
if
(
f
){
if
(
p
>
0
)
while
(
q
--
)
r
[
q
]
||
s
[
q
]
||
(
s
[
q
]
=
F
.
call
(
i
));
s
=
vb
(
s
)}
H
.
apply
(
i
,
s
),
k
&&!
f
&&
s
.
length
>
0
&&
p
+
b
.
length
>
1
&&
gb
.
uniqueSort
(
i
)}
return
k
&&
(
w
=
v
,
j
=
t
),
r
};
return
c
?
ib
(
f
):
f
}
return
h
=
gb
.
compile
=
function
(
a
,
b
){
var
c
,
d
=
[],
e
=
[],
f
=
A
[
a
+
" "
];
if
(
!
f
){
b
||
(
b
=
g
(
a
)),
c
=
b
.
length
;
while
(
c
--
)
f
=
xb
(
b
[
c
]),
f
[
u
]?
d
.
push
(
f
):
e
.
push
(
f
);
f
=
A
(
a
,
yb
(
e
,
d
)),
f
.
selector
=
a
}
return
f
},
i
=
gb
.
select
=
function
(
a
,
b
,
e
,
f
){
var
i
,
j
,
k
,
l
,
m
,
n
=
"function"
==
typeof
a
&&
a
,
o
=!
f
&&
g
(
a
=
n
.
selector
||
a
);
if
(
e
=
e
||
[],
1
===
o
.
length
){
if
(
j
=
o
[
0
]
=
o
[
0
].
slice
(
0
),
j
.
length
>
2
&&
"ID"
===
(
k
=
j
[
0
]).
type
&&
c
.
getById
&&
9
===
b
.
nodeType
&&
p
&&
d
.
relative
[
j
[
1
].
type
]){
if
(
b
=
(
d
.
find
.
ID
(
k
.
matches
[
0
].
replace
(
cb
,
db
),
b
)
||
[])[
0
],
!
b
)
return
e
;
n
&&
(
b
=
b
.
parentNode
),
a
=
a
.
slice
(
j
.
shift
().
value
.
length
)}
i
=
X
.
needsContext
.
test
(
a
)?
0
:
j
.
length
;
while
(
i
--
){
if
(
k
=
j
[
i
],
d
.
relative
[
l
=
k
.
type
])
break
;
if
((
m
=
d
.
find
[
l
])
&&
(
f
=
m
(
k
.
matches
[
0
].
replace
(
cb
,
db
),
ab
.
test
(
j
[
0
].
type
)
&&
pb
(
b
.
parentNode
)
||
b
))){
if
(
j
.
splice
(
i
,
1
),
a
=
f
.
length
&&
rb
(
j
),
!
a
)
return
H
.
apply
(
e
,
f
),
e
;
break
}}}
return
(
n
||
h
(
a
,
o
))(
f
,
b
,
!
p
,
e
,
ab
.
test
(
a
)
&&
pb
(
b
.
parentNode
)
||
b
),
e
},
c
.
sortStable
=
u
.
split
(
""
).
sort
(
B
).
join
(
""
)
===
u
,
c
.
detectDuplicates
=!!
l
,
m
(),
c
.
sortDetached
=
jb
(
function
(
a
){
return
1
&
a
.
compareDocumentPosition
(
n
.
createElement
(
"div"
))}),
jb
(
function
(
a
){
return
a
.
innerHTML
=
"<a href='#'></a>"
,
"#"
===
a
.
firstChild
.
getAttribute
(
"href"
)})
||
kb
(
"type|href|height|width"
,
function
(
a
,
b
,
c
){
return
c
?
void
0
:
a
.
getAttribute
(
b
,
"type"
===
b
.
toLowerCase
()?
1
:
2
)}),
c
.
attributes
&&
jb
(
function
(
a
){
return
a
.
innerHTML
=
"<input/>"
,
a
.
firstChild
.
setAttribute
(
"value"
,
""
),
""
===
a
.
firstChild
.
getAttribute
(
"value"
)})
||
kb
(
"value"
,
function
(
a
,
b
,
c
){
return
c
||
"input"
!==
a
.
nodeName
.
toLowerCase
()?
void
0
:
a
.
defaultValue
}),
jb
(
function
(
a
){
return
null
==
a
.
getAttribute
(
"disabled"
)})
||
kb
(
K
,
function
(
a
,
b
,
c
){
var
d
;
return
c
?
void
0
:
a
[
b
]
===!
0
?
b
.
toLowerCase
():(
d
=
a
.
getAttributeNode
(
b
))
&&
d
.
specified
?
d
.
value
:
null
}),
gb
}(
a
);
m
.
find
=
s
,
m
.
expr
=
s
.
selectors
,
m
.
expr
[
":"
]
=
m
.
expr
.
pseudos
,
m
.
unique
=
s
.
uniqueSort
,
m
.
text
=
s
.
getText
,
m
.
isXMLDoc
=
s
.
isXML
,
m
.
contains
=
s
.
contains
;
var
t
=
m
.
expr
.
match
.
needsContext
,
u
=
/^<
(\w
+
)\s
*
\/?
>
(?:
<
\/\1
>|
)
$/
,
v
=
/^.
[^
:#
\[\.
,
]
*$/
;
function
w
(
a
,
b
,
c
){
if
(
m
.
isFunction
(
b
))
return
m
.
grep
(
a
,
function
(
a
,
d
){
return
!!
b
.
call
(
a
,
d
,
a
)
!==
c
});
if
(
b
.
nodeType
)
return
m
.
grep
(
a
,
function
(
a
){
return
a
===
b
!==
c
});
if
(
"string"
==
typeof
b
){
if
(
v
.
test
(
b
))
return
m
.
filter
(
b
,
a
,
c
);
b
=
m
.
filter
(
b
,
a
)}
return
m
.
grep
(
a
,
function
(
a
){
return
m
.
inArray
(
a
,
b
)
>=
0
!==
c
})}
m
.
filter
=
function
(
a
,
b
,
c
){
var
d
=
b
[
0
];
return
c
&&
(
a
=
":not("
+
a
+
")"
),
1
===
b
.
length
&&
1
===
d
.
nodeType
?
m
.
find
.
matchesSelector
(
d
,
a
)?[
d
]:[]:
m
.
find
.
matches
(
a
,
m
.
grep
(
b
,
function
(
a
){
return
1
===
a
.
nodeType
}))},
m
.
fn
.
extend
({
find
:
function
(
a
){
var
b
,
c
=
[],
d
=
this
,
e
=
d
.
length
;
if
(
"string"
!=
typeof
a
)
return
this
.
pushStack
(
m
(
a
).
filter
(
function
(){
for
(
b
=
0
;
e
>
b
;
b
++
)
if
(
m
.
contains
(
d
[
b
],
this
))
return
!
0
}));
for
(
b
=
0
;
e
>
b
;
b
++
)
m
.
find
(
a
,
d
[
b
],
c
);
return
c
=
this
.
pushStack
(
e
>
1
?
m
.
unique
(
c
):
c
),
c
.
selector
=
this
.
selector
?
this
.
selector
+
" "
+
a
:
a
,
c
},
filter
:
function
(
a
){
return
this
.
pushStack
(
w
(
this
,
a
||
[],
!
1
))},
not
:
function
(
a
){
return
this
.
pushStack
(
w
(
this
,
a
||
[],
!
0
))},
is
:
function
(
a
){
return
!!
w
(
this
,
"string"
==
typeof
a
&&
t
.
test
(
a
)?
m
(
a
):
a
||
[],
!
1
).
length
}});
var
x
,
y
=
a
.
document
,
z
=
/^
(?:\s
*
(
<
[\w\W]
+>
)[^
>
]
*|#
([\w
-
]
*
))
$/
,
A
=
m
.
fn
.
init
=
function
(
a
,
b
){
var
c
,
d
;
if
(
!
a
)
return
this
;
if
(
"string"
==
typeof
a
){
if
(
c
=
"<"
===
a
.
charAt
(
0
)
&&
">"
===
a
.
charAt
(
a
.
length
-
1
)
&&
a
.
length
>=
3
?[
null
,
a
,
null
]:
z
.
exec
(
a
),
!
c
||!
c
[
1
]
&&
b
)
return
!
b
||
b
.
jquery
?(
b
||
x
).
find
(
a
):
this
.
constructor
(
b
).
find
(
a
);
if
(
c
[
1
]){
if
(
b
=
b
instanceof
m
?
b
[
0
]:
b
,
m
.
merge
(
this
,
m
.
parseHTML
(
c
[
1
],
b
&&
b
.
nodeType
?
b
.
ownerDocument
||
b
:
y
,
!
0
)),
u
.
test
(
c
[
1
])
&&
m
.
isPlainObject
(
b
))
for
(
c
in
b
)
m
.
isFunction
(
this
[
c
])?
this
[
c
](
b
[
c
]):
this
.
attr
(
c
,
b
[
c
]);
return
this
}
if
(
d
=
y
.
getElementById
(
c
[
2
]),
d
&&
d
.
parentNode
){
if
(
d
.
id
!==
c
[
2
])
return
x
.
find
(
a
);
this
.
length
=
1
,
this
[
0
]
=
d
}
return
this
.
context
=
y
,
this
.
selector
=
a
,
this
}
return
a
.
nodeType
?(
this
.
context
=
this
[
0
]
=
a
,
this
.
length
=
1
,
this
):
m
.
isFunction
(
a
)?
"undefined"
!=
typeof
x
.
ready
?
x
.
ready
(
a
):
a
(
m
):(
void
0
!==
a
.
selector
&&
(
this
.
selector
=
a
.
selector
,
this
.
context
=
a
.
context
),
m
.
makeArray
(
a
,
this
))};
A
.
prototype
=
m
.
fn
,
x
=
m
(
y
);
var
B
=
/^
(?:
parents|prev
(?:
Until|All
))
/
,
C
=
{
children
:
!
0
,
contents
:
!
0
,
next
:
!
0
,
prev
:
!
0
};
m
.
extend
({
dir
:
function
(
a
,
b
,
c
){
var
d
=
[],
e
=
a
[
b
];
while
(
e
&&
9
!==
e
.
nodeType
&&
(
void
0
===
c
||
1
!==
e
.
nodeType
||!
m
(
e
).
is
(
c
)))
1
===
e
.
nodeType
&&
d
.
push
(
e
),
e
=
e
[
b
];
return
d
},
sibling
:
function
(
a
,
b
){
for
(
var
c
=
[];
a
;
a
=
a
.
nextSibling
)
1
===
a
.
nodeType
&&
a
!==
b
&&
c
.
push
(
a
);
return
c
}}),
m
.
fn
.
extend
({
has
:
function
(
a
){
var
b
,
c
=
m
(
a
,
this
),
d
=
c
.
length
;
return
this
.
filter
(
function
(){
for
(
b
=
0
;
d
>
b
;
b
++
)
if
(
m
.
contains
(
this
,
c
[
b
]))
return
!
0
})},
closest
:
function
(
a
,
b
){
for
(
var
c
,
d
=
0
,
e
=
this
.
length
,
f
=
[],
g
=
t
.
test
(
a
)
||
"string"
!=
typeof
a
?
m
(
a
,
b
||
this
.
context
):
0
;
e
>
d
;
d
++
)
for
(
c
=
this
[
d
];
c
&&
c
!==
b
;
c
=
c
.
parentNode
)
if
(
c
.
nodeType
<
11
&&
(
g
?
g
.
index
(
c
)
>-
1
:
1
===
c
.
nodeType
&&
m
.
find
.
matchesSelector
(
c
,
a
))){
f
.
push
(
c
);
break
}
return
this
.
pushStack
(
f
.
length
>
1
?
m
.
unique
(
f
):
f
)},
index
:
function
(
a
){
return
a
?
"string"
==
typeof
a
?
m
.
inArray
(
this
[
0
],
m
(
a
)):
m
.
inArray
(
a
.
jquery
?
a
[
0
]:
a
,
this
):
this
[
0
]
&&
this
[
0
].
parentNode
?
this
.
first
().
prevAll
().
length
:
-
1
},
add
:
function
(
a
,
b
){
return
this
.
pushStack
(
m
.
unique
(
m
.
merge
(
this
.
get
(),
m
(
a
,
b
))))},
addBack
:
function
(
a
){
return
this
.
add
(
null
==
a
?
this
.
prevObject
:
this
.
prevObject
.
filter
(
a
))}});
function
D
(
a
,
b
){
do
a
=
a
[
b
];
while
(
a
&&
1
!==
a
.
nodeType
);
return
a
}
m
.
each
({
parent
:
function
(
a
){
var
b
=
a
.
parentNode
;
return
b
&&
11
!==
b
.
nodeType
?
b
:
null
},
parents
:
function
(
a
){
return
m
.
dir
(
a
,
"parentNode"
)},
parentsUntil
:
function
(
a
,
b
,
c
){
return
m
.
dir
(
a
,
"parentNode"
,
c
)},
next
:
function
(
a
){
return
D
(
a
,
"nextSibling"
)},
prev
:
function
(
a
){
return
D
(
a
,
"previousSibling"
)},
nextAll
:
function
(
a
){
return
m
.
dir
(
a
,
"nextSibling"
)},
prevAll
:
function
(
a
){
return
m
.
dir
(
a
,
"previousSibling"
)},
nextUntil
:
function
(
a
,
b
,
c
){
return
m
.
dir
(
a
,
"nextSibling"
,
c
)},
prevUntil
:
function
(
a
,
b
,
c
){
return
m
.
dir
(
a
,
"previousSibling"
,
c
)},
siblings
:
function
(
a
){
return
m
.
sibling
((
a
.
parentNode
||
{}).
firstChild
,
a
)},
children
:
function
(
a
){
return
m
.
sibling
(
a
.
firstChild
)},
contents
:
function
(
a
){
return
m
.
nodeName
(
a
,
"iframe"
)?
a
.
contentDocument
||
a
.
contentWindow
.
document
:
m
.
merge
([],
a
.
childNodes
)}},
function
(
a
,
b
){
m
.
fn
[
a
]
=
function
(
c
,
d
){
var
e
=
m
.
map
(
this
,
b
,
c
);
return
"Until"
!==
a
.
slice
(
-
5
)
&&
(
d
=
c
),
d
&&
"string"
==
typeof
d
&&
(
e
=
m
.
filter
(
d
,
e
)),
this
.
length
>
1
&&
(
C
[
a
]
||
(
e
=
m
.
unique
(
e
)),
B
.
test
(
a
)
&&
(
e
=
e
.
reverse
())),
this
.
pushStack
(
e
)}});
var
E
=
/
\S
+/g
,
F
=
{};
function
G
(
a
){
var
b
=
F
[
a
]
=
{};
return
m
.
each
(
a
.
match
(
E
)
||
[],
function
(
a
,
c
){
b
[
c
]
=!
0
}),
b
}
m
.
Callbacks
=
function
(
a
){
a
=
"string"
==
typeof
a
?
F
[
a
]
||
G
(
a
):
m
.
extend
({},
a
);
var
b
,
c
,
d
,
e
,
f
,
g
,
h
=
[],
i
=!
a
.
once
&&
[],
j
=
function
(
l
){
for
(
c
=
a
.
memory
&&
l
,
d
=!
0
,
f
=
g
||
0
,
g
=
0
,
e
=
h
.
length
,
b
=!
0
;
h
&&
e
>
f
;
f
++
)
if
(
h
[
f
].
apply
(
l
[
0
],
l
[
1
])
===!
1
&&
a
.
stopOnFalse
){
c
=!
1
;
break
}
b
=!
1
,
h
&&
(
i
?
i
.
length
&&
j
(
i
.
shift
()):
c
?
h
=
[]:
k
.
disable
())},
k
=
{
add
:
function
(){
if
(
h
){
var
d
=
h
.
length
;
!
function
f
(
b
){
m
.
each
(
b
,
function
(
b
,
c
){
var
d
=
m
.
type
(
c
);
"function"
===
d
?
a
.
unique
&&
k
.
has
(
c
)
||
h
.
push
(
c
):
c
&&
c
.
length
&&
"string"
!==
d
&&
f
(
c
)})}(
arguments
),
b
?
e
=
h
.
length
:
c
&&
(
g
=
d
,
j
(
c
))}
return
this
},
remove
:
function
(){
return
h
&&
m
.
each
(
arguments
,
function
(
a
,
c
){
var
d
;
while
((
d
=
m
.
inArray
(
c
,
h
,
d
))
>-
1
)
h
.
splice
(
d
,
1
),
b
&&
(
e
>=
d
&&
e
--
,
f
>=
d
&&
f
--
)}),
this
},
has
:
function
(
a
){
return
a
?
m
.
inArray
(
a
,
h
)
>-
1
:
!
(
!
h
||!
h
.
length
)},
empty
:
function
(){
return
h
=
[],
e
=
0
,
this
},
disable
:
function
(){
return
h
=
i
=
c
=
void
0
,
this
},
disabled
:
function
(){
return
!
h
},
lock
:
function
(){
return
i
=
void
0
,
c
||
k
.
disable
(),
this
},
locked
:
function
(){
return
!
i
},
fireWith
:
function
(
a
,
c
){
return
!
h
||
d
&&!
i
||
(
c
=
c
||
[],
c
=
[
a
,
c
.
slice
?
c
.
slice
():
c
],
b
?
i
.
push
(
c
):
j
(
c
)),
this
},
fire
:
function
(){
return
k
.
fireWith
(
this
,
arguments
),
this
},
fired
:
function
(){
return
!!
d
}};
return
k
},
m
.
extend
({
Deferred
:
function
(
a
){
var
b
=
[[
"resolve"
,
"done"
,
m
.
Callbacks
(
"once memory"
),
"resolved"
],[
"reject"
,
"fail"
,
m
.
Callbacks
(
"once memory"
),
"rejected"
],[
"notify"
,
"progress"
,
m
.
Callbacks
(
"memory"
)]],
c
=
"pending"
,
d
=
{
state
:
function
(){
return
c
},
always
:
function
(){
return
e
.
done
(
arguments
).
fail
(
arguments
),
this
},
then
:
function
(){
var
a
=
arguments
;
return
m
.
Deferred
(
function
(
c
){
m
.
each
(
b
,
function
(
b
,
f
){
var
g
=
m
.
isFunction
(
a
[
b
])
&&
a
[
b
];
e
[
f
[
1
]](
function
(){
var
a
=
g
&&
g
.
apply
(
this
,
arguments
);
a
&&
m
.
isFunction
(
a
.
promise
)?
a
.
promise
().
done
(
c
.
resolve
).
fail
(
c
.
reject
).
progress
(
c
.
notify
):
c
[
f
[
0
]
+
"With"
](
this
===
d
?
c
.
promise
():
this
,
g
?[
a
]:
arguments
)})}),
a
=
null
}).
promise
()},
promise
:
function
(
a
){
return
null
!=
a
?
m
.
extend
(
a
,
d
):
d
}},
e
=
{};
return
d
.
pipe
=
d
.
then
,
m
.
each
(
b
,
function
(
a
,
f
){
var
g
=
f
[
2
],
h
=
f
[
3
];
d
[
f
[
1
]]
=
g
.
add
,
h
&&
g
.
add
(
function
(){
c
=
h
},
b
[
1
^
a
][
2
].
disable
,
b
[
2
][
2
].
lock
),
e
[
f
[
0
]]
=
function
(){
return
e
[
f
[
0
]
+
"With"
](
this
===
e
?
d
:
this
,
arguments
),
this
},
e
[
f
[
0
]
+
"With"
]
=
g
.
fireWith
}),
d
.
promise
(
e
),
a
&&
a
.
call
(
e
,
e
),
e
},
when
:
function
(
a
){
var
b
=
0
,
c
=
d
.
call
(
arguments
),
e
=
c
.
length
,
f
=
1
!==
e
||
a
&&
m
.
isFunction
(
a
.
promise
)?
e
:
0
,
g
=
1
===
f
?
a
:
m
.
Deferred
(),
h
=
function
(
a
,
b
,
c
){
return
function
(
e
){
b
[
a
]
=
this
,
c
[
a
]
=
arguments
.
length
>
1
?
d
.
call
(
arguments
):
e
,
c
===
i
?
g
.
notifyWith
(
b
,
c
):
--
f
||
g
.
resolveWith
(
b
,
c
)}},
i
,
j
,
k
;
if
(
e
>
1
)
for
(
i
=
new
Array
(
e
),
j
=
new
Array
(
e
),
k
=
new
Array
(
e
);
e
>
b
;
b
++
)
c
[
b
]
&&
m
.
isFunction
(
c
[
b
].
promise
)?
c
[
b
].
promise
().
done
(
h
(
b
,
k
,
c
)).
fail
(
g
.
reject
).
progress
(
h
(
b
,
j
,
i
)):
--
f
;
return
f
||
g
.
resolveWith
(
k
,
c
),
g
.
promise
()}});
var
H
;
m
.
fn
.
ready
=
function
(
a
){
return
m
.
ready
.
promise
().
done
(
a
),
this
},
m
.
extend
({
isReady
:
!
1
,
readyWait
:
1
,
holdReady
:
function
(
a
){
a
?
m
.
readyWait
++
:
m
.
ready
(
!
0
)},
ready
:
function
(
a
){
if
(
a
===!
0
?
!--
m
.
readyWait
:
!
m
.
isReady
){
if
(
!
y
.
body
)
return
setTimeout
(
m
.
ready
);
m
.
isReady
=!
0
,
a
!==!
0
&&--
m
.
readyWait
>
0
||
(
H
.
resolveWith
(
y
,[
m
]),
m
.
fn
.
triggerHandler
&&
(
m
(
y
).
triggerHandler
(
"ready"
),
m
(
y
).
off
(
"ready"
)))}}});
function
I
(){
y
.
addEventListener
?(
y
.
removeEventListener
(
"DOMContentLoaded"
,
J
,
!
1
),
a
.
removeEventListener
(
"load"
,
J
,
!
1
)):(
y
.
detachEvent
(
"onreadystatechange"
,
J
),
a
.
detachEvent
(
"onload"
,
J
))}
function
J
(){(
y
.
addEventListener
||
"load"
===
event
.
type
||
"complete"
===
y
.
readyState
)
&&
(
I
(),
m
.
ready
())}
m
.
ready
.
promise
=
function
(
b
){
if
(
!
H
)
if
(
H
=
m
.
Deferred
(),
"complete"
===
y
.
readyState
)
setTimeout
(
m
.
ready
);
else
if
(
y
.
addEventListener
)
y
.
addEventListener
(
"DOMContentLoaded"
,
J
,
!
1
),
a
.
addEventListener
(
"load"
,
J
,
!
1
);
else
{
y
.
attachEvent
(
"onreadystatechange"
,
J
),
a
.
attachEvent
(
"onload"
,
J
);
var
c
=!
1
;
try
{
c
=
null
==
a
.
frameElement
&&
y
.
documentElement
}
catch
(
d
){}
c
&&
c
.
doScroll
&&!
function
e
(){
if
(
!
m
.
isReady
){
try
{
c
.
doScroll
(
"left"
)}
catch
(
a
){
return
setTimeout
(
e
,
50
)}
I
(),
m
.
ready
()}}()}
return
H
.
promise
(
b
)};
var
K
=
"undefined"
,
L
;
for
(
L
in
m
(
k
))
break
;
k
.
ownLast
=
"0"
!==
L
,
k
.
inlineBlockNeedsLayout
=!
1
,
m
(
function
(){
var
a
,
b
,
c
,
d
;
c
=
y
.
getElementsByTagName
(
"body"
)[
0
],
c
&&
c
.
style
&&
(
b
=
y
.
createElement
(
"div"
),
d
=
y
.
createElement
(
"div"
),
d
.
style
.
cssText
=
"position:absolute;border:0;width:0;height:0;top:0;left:-9999px"
,
c
.
appendChild
(
d
).
appendChild
(
b
),
typeof
b
.
style
.
zoom
!==
K
&&
(
b
.
style
.
cssText
=
"display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1"
,
k
.
inlineBlockNeedsLayout
=
a
=
3
===
b
.
offsetWidth
,
a
&&
(
c
.
style
.
zoom
=
1
)),
c
.
removeChild
(
d
))}),
function
(){
var
a
=
y
.
createElement
(
"div"
);
if
(
null
==
k
.
deleteExpando
){
k
.
deleteExpando
=!
0
;
try
{
delete
a
.
test
}
catch
(
b
){
k
.
deleteExpando
=!
1
}}
a
=
null
}(),
m
.
acceptData
=
function
(
a
){
var
b
=
m
.
noData
[(
a
.
nodeName
+
" "
).
toLowerCase
()],
c
=+
a
.
nodeType
||
1
;
return
1
!==
c
&&
9
!==
c
?
!
1
:
!
b
||
b
!==!
0
&&
a
.
getAttribute
(
"classid"
)
===
b
};
var
M
=
/^
(?:\{[\w\W]
*
\}
|
\[[\w\W]
*
\])
$/
,
N
=
/
([
A-Z
])
/g
;
function
O
(
a
,
b
,
c
){
if
(
void
0
===
c
&&
1
===
a
.
nodeType
){
var
d
=
"data-"
+
b
.
replace
(
N
,
"-$1"
).
toLowerCase
();
if
(
c
=
a
.
getAttribute
(
d
),
"string"
==
typeof
c
){
try
{
c
=
"true"
===
c
?
!
0
:
"false"
===
c
?
!
1
:
"null"
===
c
?
null
:
+
c
+
""
===
c
?
+
c
:
M
.
test
(
c
)?
m
.
parseJSON
(
c
):
c
}
catch
(
e
){}
m
.
data
(
a
,
b
,
c
)}
else
c
=
void
0
}
return
c
}
function
P
(
a
){
var
b
;
for
(
b
in
a
)
if
((
"data"
!==
b
||!
m
.
isEmptyObject
(
a
[
b
]))
&&
"toJSON"
!==
b
)
return
!
1
;
return
!
0
}
function
Q
(
a
,
b
,
d
,
e
){
if
(
m
.
acceptData
(
a
)){
var
f
,
g
,
h
=
m
.
expando
,
i
=
a
.
nodeType
,
j
=
i
?
m
.
cache
:
a
,
k
=
i
?
a
[
h
]:
a
[
h
]
&&
h
;
if
(
k
&&
j
[
k
]
&&
(
e
||
j
[
k
].
data
)
||
void
0
!==
d
||
"string"
!=
typeof
b
)
return
k
||
(
k
=
i
?
a
[
h
]
=
c
.
pop
()
||
m
.
guid
++
:
h
),
j
[
k
]
||
(
j
[
k
]
=
i
?{}:{
toJSON
:
m
.
noop
}),(
"object"
==
typeof
b
||
"function"
==
typeof
b
)
&&
(
e
?
j
[
k
]
=
m
.
extend
(
j
[
k
],
b
):
j
[
k
].
data
=
m
.
extend
(
j
[
k
].
data
,
b
)),
g
=
j
[
k
],
e
||
(
g
.
data
||
(
g
.
data
=
{}),
g
=
g
.
data
),
void
0
!==
d
&&
(
g
[
m
.
camelCase
(
b
)]
=
d
),
"string"
==
typeof
b
?(
f
=
g
[
b
],
null
==
f
&&
(
f
=
g
[
m
.
camelCase
(
b
)])):
f
=
g
,
f
}}
function
R
(
a
,
b
,
c
){
if
(
m
.
acceptData
(
a
)){
var
d
,
e
,
f
=
a
.
nodeType
,
g
=
f
?
m
.
cache
:
a
,
h
=
f
?
a
[
m
.
expando
]:
m
.
expando
;
if
(
g
[
h
]){
if
(
b
&&
(
d
=
c
?
g
[
h
]:
g
[
h
].
data
)){
m
.
isArray
(
b
)?
b
=
b
.
concat
(
m
.
map
(
b
,
m
.
camelCase
)):
b
in
d
?
b
=
[
b
]:(
b
=
m
.
camelCase
(
b
),
b
=
b
in
d
?[
b
]:
b
.
split
(
" "
)),
e
=
b
.
length
;
while
(
e
--
)
delete
d
[
b
[
e
]];
if
(
c
?
!
P
(
d
):
!
m
.
isEmptyObject
(
d
))
return
}(
c
||
(
delete
g
[
h
].
data
,
P
(
g
[
h
])))
&&
(
f
?
m
.
cleanData
([
a
],
!
0
):
k
.
deleteExpando
||
g
!=
g
.
window
?
delete
g
[
h
]:
g
[
h
]
=
null
)}}}
m
.
extend
({
cache
:{},
noData
:{
"applet "
:
!
0
,
"embed "
:
!
0
,
"object "
:
"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
},
hasData
:
function
(
a
){
return
a
=
a
.
nodeType
?
m
.
cache
[
a
[
m
.
expando
]]:
a
[
m
.
expando
],
!!
a
&&!
P
(
a
)},
data
:
function
(
a
,
b
,
c
){
return
Q
(
a
,
b
,
c
)},
removeData
:
function
(
a
,
b
){
return
R
(
a
,
b
)},
_data
:
function
(
a
,
b
,
c
){
return
Q
(
a
,
b
,
c
,
!
0
)},
_removeData
:
function
(
a
,
b
){
return
R
(
a
,
b
,
!
0
)}}),
m
.
fn
.
extend
({
data
:
function
(
a
,
b
){
var
c
,
d
,
e
,
f
=
this
[
0
],
g
=
f
&&
f
.
attributes
;
if
(
void
0
===
a
){
if
(
this
.
length
&&
(
e
=
m
.
data
(
f
),
1
===
f
.
nodeType
&&!
m
.
_data
(
f
,
"parsedAttrs"
))){
c
=
g
.
length
;
while
(
c
--
)
g
[
c
]
&&
(
d
=
g
[
c
].
name
,
0
===
d
.
indexOf
(
"data-"
)
&&
(
d
=
m
.
camelCase
(
d
.
slice
(
5
)),
O
(
f
,
d
,
e
[
d
])));
m
.
_data
(
f
,
"parsedAttrs"
,
!
0
)}
return
e
}
return
"object"
==
typeof
a
?
this
.
each
(
function
(){
m
.
data
(
this
,
a
)}):
arguments
.
length
>
1
?
this
.
each
(
function
(){
m
.
data
(
this
,
a
,
b
)}):
f
?
O
(
f
,
a
,
m
.
data
(
f
,
a
)):
void
0
},
removeData
:
function
(
a
){
return
this
.
each
(
function
(){
m
.
removeData
(
this
,
a
)})}}),
m
.
extend
({
queue
:
function
(
a
,
b
,
c
){
var
d
;
return
a
?(
b
=
(
b
||
"fx"
)
+
"queue"
,
d
=
m
.
_data
(
a
,
b
),
c
&&
(
!
d
||
m
.
isArray
(
c
)?
d
=
m
.
_data
(
a
,
b
,
m
.
makeArray
(
c
)):
d
.
push
(
c
)),
d
||
[]):
void
0
},
dequeue
:
function
(
a
,
b
){
b
=
b
||
"fx"
;
var
c
=
m
.
queue
(
a
,
b
),
d
=
c
.
length
,
e
=
c
.
shift
(),
f
=
m
.
_queueHooks
(
a
,
b
),
g
=
function
(){
m
.
dequeue
(
a
,
b
)};
"inprogress"
===
e
&&
(
e
=
c
.
shift
(),
d
--
),
e
&&
(
"fx"
===
b
&&
c
.
unshift
(
"inprogress"
),
delete
f
.
stop
,
e
.
call
(
a
,
g
,
f
)),
!
d
&&
f
&&
f
.
empty
.
fire
()},
_queueHooks
:
function
(
a
,
b
){
var
c
=
b
+
"queueHooks"
;
return
m
.
_data
(
a
,
c
)
||
m
.
_data
(
a
,
c
,{
empty
:
m
.
Callbacks
(
"once memory"
).
add
(
function
(){
m
.
_removeData
(
a
,
b
+
"queue"
),
m
.
_removeData
(
a
,
c
)})})}}),
m
.
fn
.
extend
({
queue
:
function
(
a
,
b
){
var
c
=
2
;
return
"string"
!=
typeof
a
&&
(
b
=
a
,
a
=
"fx"
,
c
--
),
arguments
.
length
<
c
?
m
.
queue
(
this
[
0
],
a
):
void
0
===
b
?
this
:
this
.
each
(
function
(){
var
c
=
m
.
queue
(
this
,
a
,
b
);
m
.
_queueHooks
(
this
,
a
),
"fx"
===
a
&&
"inprogress"
!==
c
[
0
]
&&
m
.
dequeue
(
this
,
a
)})},
dequeue
:
function
(
a
){
return
this
.
each
(
function
(){
m
.
dequeue
(
this
,
a
)})},
clearQueue
:
function
(
a
){
return
this
.
queue
(
a
||
"fx"
,[])},
promise
:
function
(
a
,
b
){
var
c
,
d
=
1
,
e
=
m
.
Deferred
(),
f
=
this
,
g
=
this
.
length
,
h
=
function
(){
--
d
||
e
.
resolveWith
(
f
,[
f
])};
"string"
!=
typeof
a
&&
(
b
=
a
,
a
=
void
0
),
a
=
a
||
"fx"
;
while
(
g
--
)
c
=
m
.
_data
(
f
[
g
],
a
+
"queueHooks"
),
c
&&
c
.
empty
&&
(
d
++
,
c
.
empty
.
add
(
h
));
return
h
(),
e
.
promise
(
b
)}});
var
S
=
/
[
+-
]?(?:\d
*
\.
|
)\d
+
(?:[
eE
][
+-
]?\d
+|
)
/
.
source
,
T
=
[
"Top"
,
"Right"
,
"Bottom"
,
"Left"
],
U
=
function
(
a
,
b
){
return
a
=
b
||
a
,
"none"
===
m
.
css
(
a
,
"display"
)
||!
m
.
contains
(
a
.
ownerDocument
,
a
)},
V
=
m
.
access
=
function
(
a
,
b
,
c
,
d
,
e
,
f
,
g
){
var
h
=
0
,
i
=
a
.
length
,
j
=
null
==
c
;
if
(
"object"
===
m
.
type
(
c
)){
e
=!
0
;
for
(
h
in
c
)
m
.
access
(
a
,
b
,
h
,
c
[
h
],
!
0
,
f
,
g
)}
else
if
(
void
0
!==
d
&&
(
e
=!
0
,
m
.
isFunction
(
d
)
||
(
g
=!
0
),
j
&&
(
g
?(
b
.
call
(
a
,
d
),
b
=
null
):(
j
=
b
,
b
=
function
(
a
,
b
,
c
){
return
j
.
call
(
m
(
a
),
c
)})),
b
))
for
(;
i
>
h
;
h
++
)
b
(
a
[
h
],
c
,
g
?
d
:
d
.
call
(
a
[
h
],
h
,
b
(
a
[
h
],
c
)));
return
e
?
a
:
j
?
b
.
call
(
a
):
i
?
b
(
a
[
0
],
c
):
f
},
W
=
/^
(?:
checkbox|radio
)
$/i
;
!
function
(){
var
a
=
y
.
createElement
(
"input"
),
b
=
y
.
createElement
(
"div"
),
c
=
y
.
createDocumentFragment
();
if
(
b
.
innerHTML
=
" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>"
,
k
.
leadingWhitespace
=
3
===
b
.
firstChild
.
nodeType
,
k
.
tbody
=!
b
.
getElementsByTagName
(
"tbody"
).
length
,
k
.
htmlSerialize
=!!
b
.
getElementsByTagName
(
"link"
).
length
,
k
.
html5Clone
=
"<:nav></:nav>"
!==
y
.
createElement
(
"nav"
).
cloneNode
(
!
0
).
outerHTML
,
a
.
type
=
"checkbox"
,
a
.
checked
=!
0
,
c
.
appendChild
(
a
),
k
.
appendChecked
=
a
.
checked
,
b
.
innerHTML
=
"<textarea>x</textarea>"
,
k
.
noCloneChecked
=!!
b
.
cloneNode
(
!
0
).
lastChild
.
defaultValue
,
c
.
appendChild
(
b
),
b
.
innerHTML
=
"<input type='radio' checked='checked' name='t'/>"
,
k
.
checkClone
=
b
.
cloneNode
(
!
0
).
cloneNode
(
!
0
).
lastChild
.
checked
,
k
.
noCloneEvent
=!
0
,
b
.
attachEvent
&&
(
b
.
attachEvent
(
"onclick"
,
function
(){
k
.
noCloneEvent
=!
1
}),
b
.
cloneNode
(
!
0
).
click
()),
null
==
k
.
deleteExpando
){
k
.
deleteExpando
=!
0
;
try
{
delete
b
.
test
}
catch
(
d
){
k
.
deleteExpando
=!
1
}}}(),
function
(){
var
b
,
c
,
d
=
y
.
createElement
(
"div"
);
for
(
b
in
{
submit
:
!
0
,
change
:
!
0
,
focusin
:
!
0
})
c
=
"on"
+
b
,(
k
[
b
+
"Bubbles"
]
=
c
in
a
)
||
(
d
.
setAttribute
(
c
,
"t"
),
k
[
b
+
"Bubbles"
]
=
d
.
attributes
[
c
].
expando
===!
1
);
d
=
null
}();
var
X
=
/^
(?:
input|select|textarea
)
$/i
,
Y
=
/^key/
,
Z
=
/^
(?:
mouse|pointer|contextmenu
)
|click/
,
$
=
/^
(?:
focusinfocus|focusoutblur
)
$/
,
_
=
/^
([^
.
]
*
)(?:\.(
.+
)
|
)
$/
;
function
ab
(){
return
!
0
}
function
bb
(){
return
!
1
}
function
cb
(){
try
{
return
y
.
activeElement
}
catch
(
a
){}}
m
.
event
=
{
global
:{},
add
:
function
(
a
,
b
,
c
,
d
,
e
){
var
f
,
g
,
h
,
i
,
j
,
k
,
l
,
n
,
o
,
p
,
q
,
r
=
m
.
_data
(
a
);
if
(
r
){
c
.
handler
&&
(
i
=
c
,
c
=
i
.
handler
,
e
=
i
.
selector
),
c
.
guid
||
(
c
.
guid
=
m
.
guid
++
),(
g
=
r
.
events
)
||
(
g
=
r
.
events
=
{}),(
k
=
r
.
handle
)
||
(
k
=
r
.
handle
=
function
(
a
){
return
typeof
m
===
K
||
a
&&
m
.
event
.
triggered
===
a
.
type
?
void
0
:
m
.
event
.
dispatch
.
apply
(
k
.
elem
,
arguments
)},
k
.
elem
=
a
),
b
=
(
b
||
""
).
match
(
E
)
||
[
""
],
h
=
b
.
length
;
while
(
h
--
)
f
=
_
.
exec
(
b
[
h
])
||
[],
o
=
q
=
f
[
1
],
p
=
(
f
[
2
]
||
""
).
split
(
"."
).
sort
(),
o
&&
(
j
=
m
.
event
.
special
[
o
]
||
{},
o
=
(
e
?
j
.
delegateType
:
j
.
bindType
)
||
o
,
j
=
m
.
event
.
special
[
o
]
||
{},
l
=
m
.
extend
({
type
:
o
,
origType
:
q
,
data
:
d
,
handler
:
c
,
guid
:
c
.
guid
,
selector
:
e
,
needsContext
:
e
&&
m
.
expr
.
match
.
needsContext
.
test
(
e
),
namespace
:
p
.
join
(
"."
)},
i
),(
n
=
g
[
o
])
||
(
n
=
g
[
o
]
=
[],
n
.
delegateCount
=
0
,
j
.
setup
&&
j
.
setup
.
call
(
a
,
d
,
p
,
k
)
!==!
1
||
(
a
.
addEventListener
?
a
.
addEventListener
(
o
,
k
,
!
1
):
a
.
attachEvent
&&
a
.
attachEvent
(
"on"
+
o
,
k
))),
j
.
add
&&
(
j
.
add
.
call
(
a
,
l
),
l
.
handler
.
guid
||
(
l
.
handler
.
guid
=
c
.
guid
)),
e
?
n
.
splice
(
n
.
delegateCount
++
,
0
,
l
):
n
.
push
(
l
),
m
.
event
.
global
[
o
]
=!
0
);
a
=
null
}},
remove
:
function
(
a
,
b
,
c
,
d
,
e
){
var
f
,
g
,
h
,
i
,
j
,
k
,
l
,
n
,
o
,
p
,
q
,
r
=
m
.
hasData
(
a
)
&&
m
.
_data
(
a
);
if
(
r
&&
(
k
=
r
.
events
)){
b
=
(
b
||
""
).
match
(
E
)
||
[
""
],
j
=
b
.
length
;
while
(
j
--
)
if
(
h
=
_
.
exec
(
b
[
j
])
||
[],
o
=
q
=
h
[
1
],
p
=
(
h
[
2
]
||
""
).
split
(
"."
).
sort
(),
o
){
l
=
m
.
event
.
special
[
o
]
||
{},
o
=
(
d
?
l
.
delegateType
:
l
.
bindType
)
||
o
,
n
=
k
[
o
]
||
[],
h
=
h
[
2
]
&&
new
RegExp
(
"(^|
\\
.)"
+
p
.
join
(
"
\\
.(?:.*
\\
.|)"
)
+
"(
\\
.|$)"
),
i
=
f
=
n
.
length
;
while
(
f
--
)
g
=
n
[
f
],
!
e
&&
q
!==
g
.
origType
||
c
&&
c
.
guid
!==
g
.
guid
||
h
&&!
h
.
test
(
g
.
namespace
)
||
d
&&
d
!==
g
.
selector
&&
(
"**"
!==
d
||!
g
.
selector
)
||
(
n
.
splice
(
f
,
1
),
g
.
selector
&&
n
.
delegateCount
--
,
l
.
remove
&&
l
.
remove
.
call
(
a
,
g
));
i
&&!
n
.
length
&&
(
l
.
teardown
&&
l
.
teardown
.
call
(
a
,
p
,
r
.
handle
)
!==!
1
||
m
.
removeEvent
(
a
,
o
,
r
.
handle
),
delete
k
[
o
])}
else
for
(
o
in
k
)
m
.
event
.
remove
(
a
,
o
+
b
[
j
],
c
,
d
,
!
0
);
m
.
isEmptyObject
(
k
)
&&
(
delete
r
.
handle
,
m
.
_removeData
(
a
,
"events"
))}},
trigger
:
function
(
b
,
c
,
d
,
e
){
var
f
,
g
,
h
,
i
,
k
,
l
,
n
,
o
=
[
d
||
y
],
p
=
j
.
call
(
b
,
"type"
)?
b
.
type
:
b
,
q
=
j
.
call
(
b
,
"namespace"
)?
b
.
namespace
.
split
(
"."
):[];
if
(
h
=
l
=
d
=
d
||
y
,
3
!==
d
.
nodeType
&&
8
!==
d
.
nodeType
&&!
$
.
test
(
p
+
m
.
event
.
triggered
)
&&
(
p
.
indexOf
(
"."
)
>=
0
&&
(
q
=
p
.
split
(
"."
),
p
=
q
.
shift
(),
q
.
sort
()),
g
=
p
.
indexOf
(
":"
)
<
0
&&
"on"
+
p
,
b
=
b
[
m
.
expando
]?
b
:
new
m
.
Event
(
p
,
"object"
==
typeof
b
&&
b
),
b
.
isTrigger
=
e
?
2
:
3
,
b
.
namespace
=
q
.
join
(
"."
),
b
.
namespace_re
=
b
.
namespace
?
new
RegExp
(
"(^|
\\
.)"
+
q
.
join
(
"
\\
.(?:.*
\\
.|)"
)
+
"(
\\
.|$)"
):
null
,
b
.
result
=
void
0
,
b
.
target
||
(
b
.
target
=
d
),
c
=
null
==
c
?[
b
]:
m
.
makeArray
(
c
,[
b
]),
k
=
m
.
event
.
special
[
p
]
||
{},
e
||!
k
.
trigger
||
k
.
trigger
.
apply
(
d
,
c
)
!==!
1
)){
if
(
!
e
&&!
k
.
noBubble
&&!
m
.
isWindow
(
d
)){
for
(
i
=
k
.
delegateType
||
p
,
$
.
test
(
i
+
p
)
||
(
h
=
h
.
parentNode
);
h
;
h
=
h
.
parentNode
)
o
.
push
(
h
),
l
=
h
;
l
===
(
d
.
ownerDocument
||
y
)
&&
o
.
push
(
l
.
defaultView
||
l
.
parentWindow
||
a
)}
n
=
0
;
while
((
h
=
o
[
n
++
])
&&!
b
.
isPropagationStopped
())
b
.
type
=
n
>
1
?
i
:
k
.
bindType
||
p
,
f
=
(
m
.
_data
(
h
,
"events"
)
||
{})[
b
.
type
]
&&
m
.
_data
(
h
,
"handle"
),
f
&&
f
.
apply
(
h
,
c
),
f
=
g
&&
h
[
g
],
f
&&
f
.
apply
&&
m
.
acceptData
(
h
)
&&
(
b
.
result
=
f
.
apply
(
h
,
c
),
b
.
result
===!
1
&&
b
.
preventDefault
());
if
(
b
.
type
=
p
,
!
e
&&!
b
.
isDefaultPrevented
()
&&
(
!
k
.
_default
||
k
.
_default
.
apply
(
o
.
pop
(),
c
)
===!
1
)
&&
m
.
acceptData
(
d
)
&&
g
&&
d
[
p
]
&&!
m
.
isWindow
(
d
)){
l
=
d
[
g
],
l
&&
(
d
[
g
]
=
null
),
m
.
event
.
triggered
=
p
;
try
{
d
[
p
]()}
catch
(
r
){}
m
.
event
.
triggered
=
void
0
,
l
&&
(
d
[
g
]
=
l
)}
return
b
.
result
}},
dispatch
:
function
(
a
){
a
=
m
.
event
.
fix
(
a
);
var
b
,
c
,
e
,
f
,
g
,
h
=
[],
i
=
d
.
call
(
arguments
),
j
=
(
m
.
_data
(
this
,
"events"
)
||
{})[
a
.
type
]
||
[],
k
=
m
.
event
.
special
[
a
.
type
]
||
{};
if
(
i
[
0
]
=
a
,
a
.
delegateTarget
=
this
,
!
k
.
preDispatch
||
k
.
preDispatch
.
call
(
this
,
a
)
!==!
1
){
h
=
m
.
event
.
handlers
.
call
(
this
,
a
,
j
),
b
=
0
;
while
((
f
=
h
[
b
++
])
&&!
a
.
isPropagationStopped
()){
a
.
currentTarget
=
f
.
elem
,
g
=
0
;
while
((
e
=
f
.
handlers
[
g
++
])
&&!
a
.
isImmediatePropagationStopped
())(
!
a
.
namespace_re
||
a
.
namespace_re
.
test
(
e
.
namespace
))
&&
(
a
.
handleObj
=
e
,
a
.
data
=
e
.
data
,
c
=
((
m
.
event
.
special
[
e
.
origType
]
||
{}).
handle
||
e
.
handler
).
apply
(
f
.
elem
,
i
),
void
0
!==
c
&&
(
a
.
result
=
c
)
===!
1
&&
(
a
.
preventDefault
(),
a
.
stopPropagation
()))}
return
k
.
postDispatch
&&
k
.
postDispatch
.
call
(
this
,
a
),
a
.
result
}},
handlers
:
function
(
a
,
b
){
var
c
,
d
,
e
,
f
,
g
=
[],
h
=
b
.
delegateCount
,
i
=
a
.
target
;
if
(
h
&&
i
.
nodeType
&&
(
!
a
.
button
||
"click"
!==
a
.
type
))
for
(;
i
!=
this
;
i
=
i
.
parentNode
||
this
)
if
(
1
===
i
.
nodeType
&&
(
i
.
disabled
!==!
0
||
"click"
!==
a
.
type
)){
for
(
e
=
[],
f
=
0
;
h
>
f
;
f
++
)
d
=
b
[
f
],
c
=
d
.
selector
+
" "
,
void
0
===
e
[
c
]
&&
(
e
[
c
]
=
d
.
needsContext
?
m
(
c
,
this
).
index
(
i
)
>=
0
:
m
.
find
(
c
,
this
,
null
,[
i
]).
length
),
e
[
c
]
&&
e
.
push
(
d
);
e
.
length
&&
g
.
push
({
elem
:
i
,
handlers
:
e
})}
return
h
<
b
.
length
&&
g
.
push
({
elem
:
this
,
handlers
:
b
.
slice
(
h
)}),
g
},
fix
:
function
(
a
){
if
(
a
[
m
.
expando
])
return
a
;
var
b
,
c
,
d
,
e
=
a
.
type
,
f
=
a
,
g
=
this
.
fixHooks
[
e
];
g
||
(
this
.
fixHooks
[
e
]
=
g
=
Z
.
test
(
e
)?
this
.
mouseHooks
:
Y
.
test
(
e
)?
this
.
keyHooks
:{}),
d
=
g
.
props
?
this
.
props
.
concat
(
g
.
props
):
this
.
props
,
a
=
new
m
.
Event
(
f
),
b
=
d
.
length
;
while
(
b
--
)
c
=
d
[
b
],
a
[
c
]
=
f
[
c
];
return
a
.
target
||
(
a
.
target
=
f
.
srcElement
||
y
),
3
===
a
.
target
.
nodeType
&&
(
a
.
target
=
a
.
target
.
parentNode
),
a
.
metaKey
=!!
a
.
metaKey
,
g
.
filter
?
g
.
filter
(
a
,
f
):
a
},
props
:
"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which"
.
split
(
" "
),
fixHooks
:{},
keyHooks
:{
props
:
"char charCode key keyCode"
.
split
(
" "
),
filter
:
function
(
a
,
b
){
return
null
==
a
.
which
&&
(
a
.
which
=
null
!=
b
.
charCode
?
b
.
charCode
:
b
.
keyCode
),
a
}},
mouseHooks
:{
props
:
"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement"
.
split
(
" "
),
filter
:
function
(
a
,
b
){
var
c
,
d
,
e
,
f
=
b
.
button
,
g
=
b
.
fromElement
;
return
null
==
a
.
pageX
&&
null
!=
b
.
clientX
&&
(
d
=
a
.
target
.
ownerDocument
||
y
,
e
=
d
.
documentElement
,
c
=
d
.
body
,
a
.
pageX
=
b
.
clientX
+
(
e
&&
e
.
scrollLeft
||
c
&&
c
.
scrollLeft
||
0
)
-
(
e
&&
e
.
clientLeft
||
c
&&
c
.
clientLeft
||
0
),
a
.
pageY
=
b
.
clientY
+
(
e
&&
e
.
scrollTop
||
c
&&
c
.
scrollTop
||
0
)
-
(
e
&&
e
.
clientTop
||
c
&&
c
.
clientTop
||
0
)),
!
a
.
relatedTarget
&&
g
&&
(
a
.
relatedTarget
=
g
===
a
.
target
?
b
.
toElement
:
g
),
a
.
which
||
void
0
===
f
||
(
a
.
which
=
1
&
f
?
1
:
2
&
f
?
3
:
4
&
f
?
2
:
0
),
a
}},
special
:{
load
:{
noBubble
:
!
0
},
focus
:{
trigger
:
function
(){
if
(
this
!==
cb
()
&&
this
.
focus
)
try
{
return
this
.
focus
(),
!
1
}
catch
(
a
){}},
delegateType
:
"focusin"
},
blur
:{
trigger
:
function
(){
return
this
===
cb
()
&&
this
.
blur
?(
this
.
blur
(),
!
1
):
void
0
},
delegateType
:
"focusout"
},
click
:{
trigger
:
function
(){
return
m
.
nodeName
(
this
,
"input"
)
&&
"checkbox"
===
this
.
type
&&
this
.
click
?(
this
.
click
(),
!
1
):
void
0
},
_default
:
function
(
a
){
return
m
.
nodeName
(
a
.
target
,
"a"
)}},
beforeunload
:{
postDispatch
:
function
(
a
){
void
0
!==
a
.
result
&&
a
.
originalEvent
&&
(
a
.
originalEvent
.
returnValue
=
a
.
result
)}}},
simulate
:
function
(
a
,
b
,
c
,
d
){
var
e
=
m
.
extend
(
new
m
.
Event
,
c
,{
type
:
a
,
isSimulated
:
!
0
,
originalEvent
:{}});
d
?
m
.
event
.
trigger
(
e
,
null
,
b
):
m
.
event
.
dispatch
.
call
(
b
,
e
),
e
.
isDefaultPrevented
()
&&
c
.
preventDefault
()}},
m
.
removeEvent
=
y
.
removeEventListener
?
function
(
a
,
b
,
c
){
a
.
removeEventListener
&&
a
.
removeEventListener
(
b
,
c
,
!
1
)}:
function
(
a
,
b
,
c
){
var
d
=
"on"
+
b
;
a
.
detachEvent
&&
(
typeof
a
[
d
]
===
K
&&
(
a
[
d
]
=
null
),
a
.
detachEvent
(
d
,
c
))},
m
.
Event
=
function
(
a
,
b
){
return
this
instanceof
m
.
Event
?(
a
&&
a
.
type
?(
this
.
originalEvent
=
a
,
this
.
type
=
a
.
type
,
this
.
isDefaultPrevented
=
a
.
defaultPrevented
||
void
0
===
a
.
defaultPrevented
&&
a
.
returnValue
===!
1
?
ab
:
bb
):
this
.
type
=
a
,
b
&&
m
.
extend
(
this
,
b
),
this
.
timeStamp
=
a
&&
a
.
timeStamp
||
m
.
now
(),
void
(
this
[
m
.
expando
]
=!
0
)):
new
m
.
Event
(
a
,
b
)},
m
.
Event
.
prototype
=
{
isDefaultPrevented
:
bb
,
isPropagationStopped
:
bb
,
isImmediatePropagationStopped
:
bb
,
preventDefault
:
function
(){
var
a
=
this
.
originalEvent
;
this
.
isDefaultPrevented
=
ab
,
a
&&
(
a
.
preventDefault
?
a
.
preventDefault
():
a
.
returnValue
=!
1
)},
stopPropagation
:
function
(){
var
a
=
this
.
originalEvent
;
this
.
isPropagationStopped
=
ab
,
a
&&
(
a
.
stopPropagation
&&
a
.
stopPropagation
(),
a
.
cancelBubble
=!
0
)},
stopImmediatePropagation
:
function
(){
var
a
=
this
.
originalEvent
;
this
.
isImmediatePropagationStopped
=
ab
,
a
&&
a
.
stopImmediatePropagation
&&
a
.
stopImmediatePropagation
(),
this
.
stopPropagation
()}},
m
.
each
({
mouseenter
:
"mouseover"
,
mouseleave
:
"mouseout"
,
pointerenter
:
"pointerover"
,
pointerleave
:
"pointerout"
},
function
(
a
,
b
){
m
.
event
.
special
[
a
]
=
{
delegateType
:
b
,
bindType
:
b
,
handle
:
function
(
a
){
var
c
,
d
=
this
,
e
=
a
.
relatedTarget
,
f
=
a
.
handleObj
;
return
(
!
e
||
e
!==
d
&&!
m
.
contains
(
d
,
e
))
&&
(
a
.
type
=
f
.
origType
,
c
=
f
.
handler
.
apply
(
this
,
arguments
),
a
.
type
=
b
),
c
}}}),
k
.
submitBubbles
||
(
m
.
event
.
special
.
submit
=
{
setup
:
function
(){
return
m
.
nodeName
(
this
,
"form"
)?
!
1
:
void
m
.
event
.
add
(
this
,
"click._submit keypress._submit"
,
function
(
a
){
var
b
=
a
.
target
,
c
=
m
.
nodeName
(
b
,
"input"
)
||
m
.
nodeName
(
b
,
"button"
)?
b
.
form
:
void
0
;
c
&&!
m
.
_data
(
c
,
"submitBubbles"
)
&&
(
m
.
event
.
add
(
c
,
"submit._submit"
,
function
(
a
){
a
.
_submit_bubble
=!
0
}),
m
.
_data
(
c
,
"submitBubbles"
,
!
0
))})},
postDispatch
:
function
(
a
){
a
.
_submit_bubble
&&
(
delete
a
.
_submit_bubble
,
this
.
parentNode
&&!
a
.
isTrigger
&&
m
.
event
.
simulate
(
"submit"
,
this
.
parentNode
,
a
,
!
0
))},
teardown
:
function
(){
return
m
.
nodeName
(
this
,
"form"
)?
!
1
:
void
m
.
event
.
remove
(
this
,
"._submit"
)}}),
k
.
changeBubbles
||
(
m
.
event
.
special
.
change
=
{
setup
:
function
(){
return
X
.
test
(
this
.
nodeName
)?((
"checkbox"
===
this
.
type
||
"radio"
===
this
.
type
)
&&
(
m
.
event
.
add
(
this
,
"propertychange._change"
,
function
(
a
){
"checked"
===
a
.
originalEvent
.
propertyName
&&
(
this
.
_just_changed
=!
0
)}),
m
.
event
.
add
(
this
,
"click._change"
,
function
(
a
){
this
.
_just_changed
&&!
a
.
isTrigger
&&
(
this
.
_just_changed
=!
1
),
m
.
event
.
simulate
(
"change"
,
this
,
a
,
!
0
)})),
!
1
):
void
m
.
event
.
add
(
this
,
"beforeactivate._change"
,
function
(
a
){
var
b
=
a
.
target
;
X
.
test
(
b
.
nodeName
)
&&!
m
.
_data
(
b
,
"changeBubbles"
)
&&
(
m
.
event
.
add
(
b
,
"change._change"
,
function
(
a
){
!
this
.
parentNode
||
a
.
isSimulated
||
a
.
isTrigger
||
m
.
event
.
simulate
(
"change"
,
this
.
parentNode
,
a
,
!
0
)}),
m
.
_data
(
b
,
"changeBubbles"
,
!
0
))})},
handle
:
function
(
a
){
var
b
=
a
.
target
;
return
this
!==
b
||
a
.
isSimulated
||
a
.
isTrigger
||
"radio"
!==
b
.
type
&&
"checkbox"
!==
b
.
type
?
a
.
handleObj
.
handler
.
apply
(
this
,
arguments
):
void
0
},
teardown
:
function
(){
return
m
.
event
.
remove
(
this
,
"._change"
),
!
X
.
test
(
this
.
nodeName
)}}),
k
.
focusinBubbles
||
m
.
each
({
focus
:
"focusin"
,
blur
:
"focusout"
},
function
(
a
,
b
){
var
c
=
function
(
a
){
m
.
event
.
simulate
(
b
,
a
.
target
,
m
.
event
.
fix
(
a
),
!
0
)};
m
.
event
.
special
[
b
]
=
{
setup
:
function
(){
var
d
=
this
.
ownerDocument
||
this
,
e
=
m
.
_data
(
d
,
b
);
e
||
d
.
addEventListener
(
a
,
c
,
!
0
),
m
.
_data
(
d
,
b
,(
e
||
0
)
+
1
)},
teardown
:
function
(){
var
d
=
this
.
ownerDocument
||
this
,
e
=
m
.
_data
(
d
,
b
)
-
1
;
e
?
m
.
_data
(
d
,
b
,
e
):(
d
.
removeEventListener
(
a
,
c
,
!
0
),
m
.
_removeData
(
d
,
b
))}}}),
m
.
fn
.
extend
({
on
:
function
(
a
,
b
,
c
,
d
,
e
){
var
f
,
g
;
if
(
"object"
==
typeof
a
){
"string"
!=
typeof
b
&&
(
c
=
c
||
b
,
b
=
void
0
);
for
(
f
in
a
)
this
.
on
(
f
,
b
,
c
,
a
[
f
],
e
);
return
this
}
if
(
null
==
c
&&
null
==
d
?(
d
=
b
,
c
=
b
=
void
0
):
null
==
d
&&
(
"string"
==
typeof
b
?(
d
=
c
,
c
=
void
0
):(
d
=
c
,
c
=
b
,
b
=
void
0
)),
d
===!
1
)
d
=
bb
;
else
if
(
!
d
)
return
this
;
return
1
===
e
&&
(
g
=
d
,
d
=
function
(
a
){
return
m
().
off
(
a
),
g
.
apply
(
this
,
arguments
)},
d
.
guid
=
g
.
guid
||
(
g
.
guid
=
m
.
guid
++
)),
this
.
each
(
function
(){
m
.
event
.
add
(
this
,
a
,
d
,
c
,
b
)})},
one
:
function
(
a
,
b
,
c
,
d
){
return
this
.
on
(
a
,
b
,
c
,
d
,
1
)},
off
:
function
(
a
,
b
,
c
){
var
d
,
e
;
if
(
a
&&
a
.
preventDefault
&&
a
.
handleObj
)
return
d
=
a
.
handleObj
,
m
(
a
.
delegateTarget
).
off
(
d
.
namespace
?
d
.
origType
+
"."
+
d
.
namespace
:
d
.
origType
,
d
.
selector
,
d
.
handler
),
this
;
if
(
"object"
==
typeof
a
){
for
(
e
in
a
)
this
.
off
(
e
,
b
,
a
[
e
]);
return
this
}
return
(
b
===!
1
||
"function"
==
typeof
b
)
&&
(
c
=
b
,
b
=
void
0
),
c
===!
1
&&
(
c
=
bb
),
this
.
each
(
function
(){
m
.
event
.
remove
(
this
,
a
,
c
,
b
)})},
trigger
:
function
(
a
,
b
){
return
this
.
each
(
function
(){
m
.
event
.
trigger
(
a
,
b
,
this
)})},
triggerHandler
:
function
(
a
,
b
){
var
c
=
this
[
0
];
return
c
?
m
.
event
.
trigger
(
a
,
b
,
c
,
!
0
):
void
0
}});
function
db
(
a
){
var
b
=
eb
.
split
(
"|"
),
c
=
a
.
createDocumentFragment
();
if
(
c
.
createElement
)
while
(
b
.
length
)
c
.
createElement
(
b
.
pop
());
return
c
}
var
eb
=
"abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video"
,
fb
=
/ jQuery
\d
+="
(?:
null|
\d
+
)
"/g
,
gb
=
new
RegExp
(
"<(?:"
+
eb
+
")[
\\
s/>]"
,
"i"
),
hb
=
/^
\s
+/
,
ib
=
/<
(?!
area|br|col|embed|hr|img|input|link|meta|param
)(([\w
:
]
+
)[^
>
]
*
)\/
>/gi
,
jb
=
/<
([\w
:
]
+
)
/
,
kb
=
/<tbody/i
,
lb
=
/<|&#
?\w
+;/
,
mb
=
/<
(?:
script|style|link
)
/i
,
nb
=
/checked
\s
*
(?:[^
=
]
|=
\s
*.checked.
)
/i
,
ob
=
/^$|
\/(?:
java|ecma
)
script/i
,
pb
=
/^true
\/(
.*
)
/
,
qb
=
/^
\s
*<!
(?:\[
CDATA
\[
|--
)
|
(?:\]\]
|--
)
>
\s
*$/g
,
rb
=
{
option
:[
1
,
"<select multiple='multiple'>"
,
"</select>"
],
legend
:[
1
,
"<fieldset>"
,
"</fieldset>"
],
area
:[
1
,
"<map>"
,
"</map>"
],
param
:[
1
,
"<object>"
,
"</object>"
],
thead
:[
1
,
"<table>"
,
"</table>"
],
tr
:[
2
,
"<table><tbody>"
,
"</tbody></table>"
],
col
:[
2
,
"<table><tbody></tbody><colgroup>"
,
"</colgroup></table>"
],
td
:[
3
,
"<table><tbody><tr>"
,
"</tr></tbody></table>"
],
_default
:
k
.
htmlSerialize
?[
0
,
""
,
""
]:[
1
,
"X<div>"
,
"</div>"
]},
sb
=
db
(
y
),
tb
=
sb
.
appendChild
(
y
.
createElement
(
"div"
));
rb
.
optgroup
=
rb
.
option
,
rb
.
tbody
=
rb
.
tfoot
=
rb
.
colgroup
=
rb
.
caption
=
rb
.
thead
,
rb
.
th
=
rb
.
td
;
function
ub
(
a
,
b
){
var
c
,
d
,
e
=
0
,
f
=
typeof
a
.
getElementsByTagName
!==
K
?
a
.
getElementsByTagName
(
b
||
"*"
):
typeof
a
.
querySelectorAll
!==
K
?
a
.
querySelectorAll
(
b
||
"*"
):
void
0
;
if
(
!
f
)
for
(
f
=
[],
c
=
a
.
childNodes
||
a
;
null
!=
(
d
=
c
[
e
]);
e
++
)
!
b
||
m
.
nodeName
(
d
,
b
)?
f
.
push
(
d
):
m
.
merge
(
f
,
ub
(
d
,
b
));
return
void
0
===
b
||
b
&&
m
.
nodeName
(
a
,
b
)?
m
.
merge
([
a
],
f
):
f
}
function
vb
(
a
){
W
.
test
(
a
.
type
)
&&
(
a
.
defaultChecked
=
a
.
checked
)}
function
wb
(
a
,
b
){
return
m
.
nodeName
(
a
,
"table"
)
&&
m
.
nodeName
(
11
!==
b
.
nodeType
?
b
:
b
.
firstChild
,
"tr"
)?
a
.
getElementsByTagName
(
"tbody"
)[
0
]
||
a
.
appendChild
(
a
.
ownerDocument
.
createElement
(
"tbody"
)):
a
}
function
xb
(
a
){
return
a
.
type
=
(
null
!==
m
.
find
.
attr
(
a
,
"type"
))
+
"/"
+
a
.
type
,
a
}
function
yb
(
a
){
var
b
=
pb
.
exec
(
a
.
type
);
return
b
?
a
.
type
=
b
[
1
]:
a
.
removeAttribute
(
"type"
),
a
}
function
zb
(
a
,
b
){
for
(
var
c
,
d
=
0
;
null
!=
(
c
=
a
[
d
]);
d
++
)
m
.
_data
(
c
,
"globalEval"
,
!
b
||
m
.
_data
(
b
[
d
],
"globalEval"
))}
function
Ab
(
a
,
b
){
if
(
1
===
b
.
nodeType
&&
m
.
hasData
(
a
)){
var
c
,
d
,
e
,
f
=
m
.
_data
(
a
),
g
=
m
.
_data
(
b
,
f
),
h
=
f
.
events
;
if
(
h
){
delete
g
.
handle
,
g
.
events
=
{};
for
(
c
in
h
)
for
(
d
=
0
,
e
=
h
[
c
].
length
;
e
>
d
;
d
++
)
m
.
event
.
add
(
b
,
c
,
h
[
c
][
d
])}
g
.
data
&&
(
g
.
data
=
m
.
extend
({},
g
.
data
))}}
function
Bb
(
a
,
b
){
var
c
,
d
,
e
;
if
(
1
===
b
.
nodeType
){
if
(
c
=
b
.
nodeName
.
toLowerCase
(),
!
k
.
noCloneEvent
&&
b
[
m
.
expando
]){
e
=
m
.
_data
(
b
);
for
(
d
in
e
.
events
)
m
.
removeEvent
(
b
,
d
,
e
.
handle
);
b
.
removeAttribute
(
m
.
expando
)}
"script"
===
c
&&
b
.
text
!==
a
.
text
?(
xb
(
b
).
text
=
a
.
text
,
yb
(
b
)):
"object"
===
c
?(
b
.
parentNode
&&
(
b
.
outerHTML
=
a
.
outerHTML
),
k
.
html5Clone
&&
a
.
innerHTML
&&!
m
.
trim
(
b
.
innerHTML
)
&&
(
b
.
innerHTML
=
a
.
innerHTML
)):
"input"
===
c
&&
W
.
test
(
a
.
type
)?(
b
.
defaultChecked
=
b
.
checked
=
a
.
checked
,
b
.
value
!==
a
.
value
&&
(
b
.
value
=
a
.
value
)):
"option"
===
c
?
b
.
defaultSelected
=
b
.
selected
=
a
.
defaultSelected
:(
"input"
===
c
||
"textarea"
===
c
)
&&
(
b
.
defaultValue
=
a
.
defaultValue
)}}
m
.
extend
({
clone
:
function
(
a
,
b
,
c
){
var
d
,
e
,
f
,
g
,
h
,
i
=
m
.
contains
(
a
.
ownerDocument
,
a
);
if
(
k
.
html5Clone
||
m
.
isXMLDoc
(
a
)
||!
gb
.
test
(
"<"
+
a
.
nodeName
+
">"
)?
f
=
a
.
cloneNode
(
!
0
):(
tb
.
innerHTML
=
a
.
outerHTML
,
tb
.
removeChild
(
f
=
tb
.
firstChild
)),
!
(
k
.
noCloneEvent
&&
k
.
noCloneChecked
||
1
!==
a
.
nodeType
&&
11
!==
a
.
nodeType
||
m
.
isXMLDoc
(
a
)))
for
(
d
=
ub
(
f
),
h
=
ub
(
a
),
g
=
0
;
null
!=
(
e
=
h
[
g
]);
++
g
)
d
[
g
]
&&
Bb
(
e
,
d
[
g
]);
if
(
b
)
if
(
c
)
for
(
h
=
h
||
ub
(
a
),
d
=
d
||
ub
(
f
),
g
=
0
;
null
!=
(
e
=
h
[
g
]);
g
++
)
Ab
(
e
,
d
[
g
]);
else
Ab
(
a
,
f
);
return
d
=
ub
(
f
,
"script"
),
d
.
length
>
0
&&
zb
(
d
,
!
i
&&
ub
(
a
,
"script"
)),
d
=
h
=
e
=
null
,
f
},
buildFragment
:
function
(
a
,
b
,
c
,
d
){
for
(
var
e
,
f
,
g
,
h
,
i
,
j
,
l
,
n
=
a
.
length
,
o
=
db
(
b
),
p
=
[],
q
=
0
;
n
>
q
;
q
++
)
if
(
f
=
a
[
q
],
f
||
0
===
f
)
if
(
"object"
===
m
.
type
(
f
))
m
.
merge
(
p
,
f
.
nodeType
?[
f
]:
f
);
else
if
(
lb
.
test
(
f
)){
h
=
h
||
o
.
appendChild
(
b
.
createElement
(
"div"
)),
i
=
(
jb
.
exec
(
f
)
||
[
""
,
""
])[
1
].
toLowerCase
(),
l
=
rb
[
i
]
||
rb
.
_default
,
h
.
innerHTML
=
l
[
1
]
+
f
.
replace
(
ib
,
"<$1></$2>"
)
+
l
[
2
],
e
=
l
[
0
];
while
(
e
--
)
h
=
h
.
lastChild
;
if
(
!
k
.
leadingWhitespace
&&
hb
.
test
(
f
)
&&
p
.
push
(
b
.
createTextNode
(
hb
.
exec
(
f
)[
0
])),
!
k
.
tbody
){
f
=
"table"
!==
i
||
kb
.
test
(
f
)?
"<table>"
!==
l
[
1
]
||
kb
.
test
(
f
)?
0
:
h
:
h
.
firstChild
,
e
=
f
&&
f
.
childNodes
.
length
;
while
(
e
--
)
m
.
nodeName
(
j
=
f
.
childNodes
[
e
],
"tbody"
)
&&!
j
.
childNodes
.
length
&&
f
.
removeChild
(
j
)}
m
.
merge
(
p
,
h
.
childNodes
),
h
.
textContent
=
""
;
while
(
h
.
firstChild
)
h
.
removeChild
(
h
.
firstChild
);
h
=
o
.
lastChild
}
else
p
.
push
(
b
.
createTextNode
(
f
));
h
&&
o
.
removeChild
(
h
),
k
.
appendChecked
||
m
.
grep
(
ub
(
p
,
"input"
),
vb
),
q
=
0
;
while
(
f
=
p
[
q
++
])
if
((
!
d
||-
1
===
m
.
inArray
(
f
,
d
))
&&
(
g
=
m
.
contains
(
f
.
ownerDocument
,
f
),
h
=
ub
(
o
.
appendChild
(
f
),
"script"
),
g
&&
zb
(
h
),
c
)){
e
=
0
;
while
(
f
=
h
[
e
++
])
ob
.
test
(
f
.
type
||
""
)
&&
c
.
push
(
f
)}
return
h
=
null
,
o
},
cleanData
:
function
(
a
,
b
){
for
(
var
d
,
e
,
f
,
g
,
h
=
0
,
i
=
m
.
expando
,
j
=
m
.
cache
,
l
=
k
.
deleteExpando
,
n
=
m
.
event
.
special
;
null
!=
(
d
=
a
[
h
]);
h
++
)
if
((
b
||
m
.
acceptData
(
d
))
&&
(
f
=
d
[
i
],
g
=
f
&&
j
[
f
])){
if
(
g
.
events
)
for
(
e
in
g
.
events
)
n
[
e
]?
m
.
event
.
remove
(
d
,
e
):
m
.
removeEvent
(
d
,
e
,
g
.
handle
);
j
[
f
]
&&
(
delete
j
[
f
],
l
?
delete
d
[
i
]:
typeof
d
.
removeAttribute
!==
K
?
d
.
removeAttribute
(
i
):
d
[
i
]
=
null
,
c
.
push
(
f
))}}}),
m
.
fn
.
extend
({
text
:
function
(
a
){
return
V
(
this
,
function
(
a
){
return
void
0
===
a
?
m
.
text
(
this
):
this
.
empty
().
append
((
this
[
0
]
&&
this
[
0
].
ownerDocument
||
y
).
createTextNode
(
a
))},
null
,
a
,
arguments
.
length
)},
append
:
function
(){
return
this
.
domManip
(
arguments
,
function
(
a
){
if
(
1
===
this
.
nodeType
||
11
===
this
.
nodeType
||
9
===
this
.
nodeType
){
var
b
=
wb
(
this
,
a
);
b
.
appendChild
(
a
)}})},
prepend
:
function
(){
return
this
.
domManip
(
arguments
,
function
(
a
){
if
(
1
===
this
.
nodeType
||
11
===
this
.
nodeType
||
9
===
this
.
nodeType
){
var
b
=
wb
(
this
,
a
);
b
.
insertBefore
(
a
,
b
.
firstChild
)}})},
before
:
function
(){
return
this
.
domManip
(
arguments
,
function
(
a
){
this
.
parentNode
&&
this
.
parentNode
.
insertBefore
(
a
,
this
)})},
after
:
function
(){
return
this
.
domManip
(
arguments
,
function
(
a
){
this
.
parentNode
&&
this
.
parentNode
.
insertBefore
(
a
,
this
.
nextSibling
)})},
remove
:
function
(
a
,
b
){
for
(
var
c
,
d
=
a
?
m
.
filter
(
a
,
this
):
this
,
e
=
0
;
null
!=
(
c
=
d
[
e
]);
e
++
)
b
||
1
!==
c
.
nodeType
||
m
.
cleanData
(
ub
(
c
)),
c
.
parentNode
&&
(
b
&&
m
.
contains
(
c
.
ownerDocument
,
c
)
&&
zb
(
ub
(
c
,
"script"
)),
c
.
parentNode
.
removeChild
(
c
));
return
this
},
empty
:
function
(){
for
(
var
a
,
b
=
0
;
null
!=
(
a
=
this
[
b
]);
b
++
){
1
===
a
.
nodeType
&&
m
.
cleanData
(
ub
(
a
,
!
1
));
while
(
a
.
firstChild
)
a
.
removeChild
(
a
.
firstChild
);
a
.
options
&&
m
.
nodeName
(
a
,
"select"
)
&&
(
a
.
options
.
length
=
0
)}
return
this
},
clone
:
function
(
a
,
b
){
return
a
=
null
==
a
?
!
1
:
a
,
b
=
null
==
b
?
a
:
b
,
this
.
map
(
function
(){
return
m
.
clone
(
this
,
a
,
b
)})},
html
:
function
(
a
){
return
V
(
this
,
function
(
a
){
var
b
=
this
[
0
]
||
{},
c
=
0
,
d
=
this
.
length
;
if
(
void
0
===
a
)
return
1
===
b
.
nodeType
?
b
.
innerHTML
.
replace
(
fb
,
""
):
void
0
;
if
(
!
(
"string"
!=
typeof
a
||
mb
.
test
(
a
)
||!
k
.
htmlSerialize
&&
gb
.
test
(
a
)
||!
k
.
leadingWhitespace
&&
hb
.
test
(
a
)
||
rb
[(
jb
.
exec
(
a
)
||
[
""
,
""
])[
1
].
toLowerCase
()])){
a
=
a
.
replace
(
ib
,
"<$1></$2>"
);
try
{
for
(;
d
>
c
;
c
++
)
b
=
this
[
c
]
||
{},
1
===
b
.
nodeType
&&
(
m
.
cleanData
(
ub
(
b
,
!
1
)),
b
.
innerHTML
=
a
);
b
=
0
}
catch
(
e
){}}
b
&&
this
.
empty
().
append
(
a
)},
null
,
a
,
arguments
.
length
)},
replaceWith
:
function
(){
var
a
=
arguments
[
0
];
return
this
.
domManip
(
arguments
,
function
(
b
){
a
=
this
.
parentNode
,
m
.
cleanData
(
ub
(
this
)),
a
&&
a
.
replaceChild
(
b
,
this
)}),
a
&&
(
a
.
length
||
a
.
nodeType
)?
this
:
this
.
remove
()},
detach
:
function
(
a
){
return
this
.
remove
(
a
,
!
0
)},
domManip
:
function
(
a
,
b
){
a
=
e
.
apply
([],
a
);
var
c
,
d
,
f
,
g
,
h
,
i
,
j
=
0
,
l
=
this
.
length
,
n
=
this
,
o
=
l
-
1
,
p
=
a
[
0
],
q
=
m
.
isFunction
(
p
);
if
(
q
||
l
>
1
&&
"string"
==
typeof
p
&&!
k
.
checkClone
&&
nb
.
test
(
p
))
return
this
.
each
(
function
(
c
){
var
d
=
n
.
eq
(
c
);
q
&&
(
a
[
0
]
=
p
.
call
(
this
,
c
,
d
.
html
())),
d
.
domManip
(
a
,
b
)});
if
(
l
&&
(
i
=
m
.
buildFragment
(
a
,
this
[
0
].
ownerDocument
,
!
1
,
this
),
c
=
i
.
firstChild
,
1
===
i
.
childNodes
.
length
&&
(
i
=
c
),
c
)){
for
(
g
=
m
.
map
(
ub
(
i
,
"script"
),
xb
),
f
=
g
.
length
;
l
>
j
;
j
++
)
d
=
i
,
j
!==
o
&&
(
d
=
m
.
clone
(
d
,
!
0
,
!
0
),
f
&&
m
.
merge
(
g
,
ub
(
d
,
"script"
))),
b
.
call
(
this
[
j
],
d
,
j
);
if
(
f
)
for
(
h
=
g
[
g
.
length
-
1
].
ownerDocument
,
m
.
map
(
g
,
yb
),
j
=
0
;
f
>
j
;
j
++
)
d
=
g
[
j
],
ob
.
test
(
d
.
type
||
""
)
&&!
m
.
_data
(
d
,
"globalEval"
)
&&
m
.
contains
(
h
,
d
)
&&
(
d
.
src
?
m
.
_evalUrl
&&
m
.
_evalUrl
(
d
.
src
):
m
.
globalEval
((
d
.
text
||
d
.
textContent
||
d
.
innerHTML
||
""
).
replace
(
qb
,
""
)));
i
=
c
=
null
}
return
this
}}),
m
.
each
({
appendTo
:
"append"
,
prependTo
:
"prepend"
,
insertBefore
:
"before"
,
insertAfter
:
"after"
,
replaceAll
:
"replaceWith"
},
function
(
a
,
b
){
m
.
fn
[
a
]
=
function
(
a
){
for
(
var
c
,
d
=
0
,
e
=
[],
g
=
m
(
a
),
h
=
g
.
length
-
1
;
h
>=
d
;
d
++
)
c
=
d
===
h
?
this
:
this
.
clone
(
!
0
),
m
(
g
[
d
])[
b
](
c
),
f
.
apply
(
e
,
c
.
get
());
return
this
.
pushStack
(
e
)}});
var
Cb
,
Db
=
{};
function
Eb
(
b
,
c
){
var
d
,
e
=
m
(
c
.
createElement
(
b
)).
appendTo
(
c
.
body
),
f
=
a
.
getDefaultComputedStyle
&&
(
d
=
a
.
getDefaultComputedStyle
(
e
[
0
]))?
d
.
display
:
m
.
css
(
e
[
0
],
"display"
);
return
e
.
detach
(),
f
}
function
Fb
(
a
){
var
b
=
y
,
c
=
Db
[
a
];
return
c
||
(
c
=
Eb
(
a
,
b
),
"none"
!==
c
&&
c
||
(
Cb
=
(
Cb
||
m
(
"<iframe frameborder='0' width='0' height='0'/>"
)).
appendTo
(
b
.
documentElement
),
b
=
(
Cb
[
0
].
contentWindow
||
Cb
[
0
].
contentDocument
).
document
,
b
.
write
(),
b
.
close
(),
c
=
Eb
(
a
,
b
),
Cb
.
detach
()),
Db
[
a
]
=
c
),
c
}
!
function
(){
var
a
;
k
.
shrinkWrapBlocks
=
function
(){
if
(
null
!=
a
)
return
a
;
a
=!
1
;
var
b
,
c
,
d
;
return
c
=
y
.
getElementsByTagName
(
"body"
)[
0
],
c
&&
c
.
style
?(
b
=
y
.
createElement
(
"div"
),
d
=
y
.
createElement
(
"div"
),
d
.
style
.
cssText
=
"position:absolute;border:0;width:0;height:0;top:0;left:-9999px"
,
c
.
appendChild
(
d
).
appendChild
(
b
),
typeof
b
.
style
.
zoom
!==
K
&&
(
b
.
style
.
cssText
=
"-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1"
,
b
.
appendChild
(
y
.
createElement
(
"div"
)).
style
.
width
=
"5px"
,
a
=
3
!==
b
.
offsetWidth
),
c
.
removeChild
(
d
),
a
):
void
0
}}();
var
Gb
=
/^margin/
,
Hb
=
new
RegExp
(
"^("
+
S
+
")(?!px)[a-z%]+$"
,
"i"
),
Ib
,
Jb
,
Kb
=
/^
(
top|right|bottom|left
)
$/
;
a
.
getComputedStyle
?(
Ib
=
function
(
b
){
return
b
.
ownerDocument
.
defaultView
.
opener
?
b
.
ownerDocument
.
defaultView
.
getComputedStyle
(
b
,
null
):
a
.
getComputedStyle
(
b
,
null
)},
Jb
=
function
(
a
,
b
,
c
){
var
d
,
e
,
f
,
g
,
h
=
a
.
style
;
return
c
=
c
||
Ib
(
a
),
g
=
c
?
c
.
getPropertyValue
(
b
)
||
c
[
b
]:
void
0
,
c
&&
(
""
!==
g
||
m
.
contains
(
a
.
ownerDocument
,
a
)
||
(
g
=
m
.
style
(
a
,
b
)),
Hb
.
test
(
g
)
&&
Gb
.
test
(
b
)
&&
(
d
=
h
.
width
,
e
=
h
.
minWidth
,
f
=
h
.
maxWidth
,
h
.
minWidth
=
h
.
maxWidth
=
h
.
width
=
g
,
g
=
c
.
width
,
h
.
width
=
d
,
h
.
minWidth
=
e
,
h
.
maxWidth
=
f
)),
void
0
===
g
?
g
:
g
+
""
}):
y
.
documentElement
.
currentStyle
&&
(
Ib
=
function
(
a
){
return
a
.
currentStyle
},
Jb
=
function
(
a
,
b
,
c
){
var
d
,
e
,
f
,
g
,
h
=
a
.
style
;
return
c
=
c
||
Ib
(
a
),
g
=
c
?
c
[
b
]:
void
0
,
null
==
g
&&
h
&&
h
[
b
]
&&
(
g
=
h
[
b
]),
Hb
.
test
(
g
)
&&!
Kb
.
test
(
b
)
&&
(
d
=
h
.
left
,
e
=
a
.
runtimeStyle
,
f
=
e
&&
e
.
left
,
f
&&
(
e
.
left
=
a
.
currentStyle
.
left
),
h
.
left
=
"fontSize"
===
b
?
"1em"
:
g
,
g
=
h
.
pixelLeft
+
"px"
,
h
.
left
=
d
,
f
&&
(
e
.
left
=
f
)),
void
0
===
g
?
g
:
g
+
""
||
"auto"
});
function
Lb
(
a
,
b
){
return
{
get
:
function
(){
var
c
=
a
();
if
(
null
!=
c
)
return
c
?
void
delete
this
.
get
:(
this
.
get
=
b
).
apply
(
this
,
arguments
)}}}
!
function
(){
var
b
,
c
,
d
,
e
,
f
,
g
,
h
;
if
(
b
=
y
.
createElement
(
"div"
),
b
.
innerHTML
=
" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>"
,
d
=
b
.
getElementsByTagName
(
"a"
)[
0
],
c
=
d
&&
d
.
style
){
c
.
cssText
=
"float:left;opacity:.5"
,
k
.
opacity
=
"0.5"
===
c
.
opacity
,
k
.
cssFloat
=!!
c
.
cssFloat
,
b
.
style
.
backgroundClip
=
"content-box"
,
b
.
cloneNode
(
!
0
).
style
.
backgroundClip
=
""
,
k
.
clearCloneStyle
=
"content-box"
===
b
.
style
.
backgroundClip
,
k
.
boxSizing
=
""
===
c
.
boxSizing
||
""
===
c
.
MozBoxSizing
||
""
===
c
.
WebkitBoxSizing
,
m
.
extend
(
k
,{
reliableHiddenOffsets
:
function
(){
return
null
==
g
&&
i
(),
g
},
boxSizingReliable
:
function
(){
return
null
==
f
&&
i
(),
f
},
pixelPosition
:
function
(){
return
null
==
e
&&
i
(),
e
},
reliableMarginRight
:
function
(){
return
null
==
h
&&
i
(),
h
}});
function
i
(){
var
b
,
c
,
d
,
i
;
c
=
y
.
getElementsByTagName
(
"body"
)[
0
],
c
&&
c
.
style
&&
(
b
=
y
.
createElement
(
"div"
),
d
=
y
.
createElement
(
"div"
),
d
.
style
.
cssText
=
"position:absolute;border:0;width:0;height:0;top:0;left:-9999px"
,
c
.
appendChild
(
d
).
appendChild
(
b
),
b
.
style
.
cssText
=
"-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute"
,
e
=
f
=!
1
,
h
=!
0
,
a
.
getComputedStyle
&&
(
e
=
"1%"
!==
(
a
.
getComputedStyle
(
b
,
null
)
||
{}).
top
,
f
=
"4px"
===
(
a
.
getComputedStyle
(
b
,
null
)
||
{
width
:
"4px"
}).
width
,
i
=
b
.
appendChild
(
y
.
createElement
(
"div"
)),
i
.
style
.
cssText
=
b
.
style
.
cssText
=
"-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0"
,
i
.
style
.
marginRight
=
i
.
style
.
width
=
"0"
,
b
.
style
.
width
=
"1px"
,
h
=!
parseFloat
((
a
.
getComputedStyle
(
i
,
null
)
||
{}).
marginRight
),
b
.
removeChild
(
i
)),
b
.
innerHTML
=
"<table><tr><td></td><td>t</td></tr></table>"
,
i
=
b
.
getElementsByTagName
(
"td"
),
i
[
0
].
style
.
cssText
=
"margin:0;border:0;padding:0;display:none"
,
g
=
0
===
i
[
0
].
offsetHeight
,
g
&&
(
i
[
0
].
style
.
display
=
""
,
i
[
1
].
style
.
display
=
"none"
,
g
=
0
===
i
[
0
].
offsetHeight
),
c
.
removeChild
(
d
))}}}(),
m
.
swap
=
function
(
a
,
b
,
c
,
d
){
var
e
,
f
,
g
=
{};
for
(
f
in
b
)
g
[
f
]
=
a
.
style
[
f
],
a
.
style
[
f
]
=
b
[
f
];
e
=
c
.
apply
(
a
,
d
||
[]);
for
(
f
in
b
)
a
.
style
[
f
]
=
g
[
f
];
return
e
};
var
Mb
=
/alpha
\([^
)
]
*
\)
/i
,
Nb
=
/opacity
\s
*=
\s
*
([^
)
]
*
)
/
,
Ob
=
/^
(
none|table
(?!
-c
[
ea
])
.+
)
/
,
Pb
=
new
RegExp
(
"^("
+
S
+
")(.*)$"
,
"i"
),
Qb
=
new
RegExp
(
"^([+-])=("
+
S
+
")"
,
"i"
),
Rb
=
{
position
:
"absolute"
,
visibility
:
"hidden"
,
display
:
"block"
},
Sb
=
{
letterSpacing
:
"0"
,
fontWeight
:
"400"
},
Tb
=
[
"Webkit"
,
"O"
,
"Moz"
,
"ms"
];
function
Ub
(
a
,
b
){
if
(
b
in
a
)
return
b
;
var
c
=
b
.
charAt
(
0
).
toUpperCase
()
+
b
.
slice
(
1
),
d
=
b
,
e
=
Tb
.
length
;
while
(
e
--
)
if
(
b
=
Tb
[
e
]
+
c
,
b
in
a
)
return
b
;
return
d
}
function
Vb
(
a
,
b
){
for
(
var
c
,
d
,
e
,
f
=
[],
g
=
0
,
h
=
a
.
length
;
h
>
g
;
g
++
)
d
=
a
[
g
],
d
.
style
&&
(
f
[
g
]
=
m
.
_data
(
d
,
"olddisplay"
),
c
=
d
.
style
.
display
,
b
?(
f
[
g
]
||
"none"
!==
c
||
(
d
.
style
.
display
=
""
),
""
===
d
.
style
.
display
&&
U
(
d
)
&&
(
f
[
g
]
=
m
.
_data
(
d
,
"olddisplay"
,
Fb
(
d
.
nodeName
)))):(
e
=
U
(
d
),(
c
&&
"none"
!==
c
||!
e
)
&&
m
.
_data
(
d
,
"olddisplay"
,
e
?
c
:
m
.
css
(
d
,
"display"
))));
for
(
g
=
0
;
h
>
g
;
g
++
)
d
=
a
[
g
],
d
.
style
&&
(
b
&&
"none"
!==
d
.
style
.
display
&&
""
!==
d
.
style
.
display
||
(
d
.
style
.
display
=
b
?
f
[
g
]
||
""
:
"none"
));
return
a
}
function
Wb
(
a
,
b
,
c
){
var
d
=
Pb
.
exec
(
b
);
return
d
?
Math
.
max
(
0
,
d
[
1
]
-
(
c
||
0
))
+
(
d
[
2
]
||
"px"
):
b
}
function
Xb
(
a
,
b
,
c
,
d
,
e
){
for
(
var
f
=
c
===
(
d
?
"border"
:
"content"
)?
4
:
"width"
===
b
?
1
:
0
,
g
=
0
;
4
>
f
;
f
+=
2
)
"margin"
===
c
&&
(
g
+=
m
.
css
(
a
,
c
+
T
[
f
],
!
0
,
e
)),
d
?(
"content"
===
c
&&
(
g
-=
m
.
css
(
a
,
"padding"
+
T
[
f
],
!
0
,
e
)),
"margin"
!==
c
&&
(
g
-=
m
.
css
(
a
,
"border"
+
T
[
f
]
+
"Width"
,
!
0
,
e
))):(
g
+=
m
.
css
(
a
,
"padding"
+
T
[
f
],
!
0
,
e
),
"padding"
!==
c
&&
(
g
+=
m
.
css
(
a
,
"border"
+
T
[
f
]
+
"Width"
,
!
0
,
e
)));
return
g
}
function
Yb
(
a
,
b
,
c
){
var
d
=!
0
,
e
=
"width"
===
b
?
a
.
offsetWidth
:
a
.
offsetHeight
,
f
=
Ib
(
a
),
g
=
k
.
boxSizing
&&
"border-box"
===
m
.
css
(
a
,
"boxSizing"
,
!
1
,
f
);
if
(
0
>=
e
||
null
==
e
){
if
(
e
=
Jb
(
a
,
b
,
f
),(
0
>
e
||
null
==
e
)
&&
(
e
=
a
.
style
[
b
]),
Hb
.
test
(
e
))
return
e
;
d
=
g
&&
(
k
.
boxSizingReliable
()
||
e
===
a
.
style
[
b
]),
e
=
parseFloat
(
e
)
||
0
}
return
e
+
Xb
(
a
,
b
,
c
||
(
g
?
"border"
:
"content"
),
d
,
f
)
+
"px"
}
m
.
extend
({
cssHooks
:{
opacity
:{
get
:
function
(
a
,
b
){
if
(
b
){
var
c
=
Jb
(
a
,
"opacity"
);
return
""
===
c
?
"1"
:
c
}}}},
cssNumber
:{
columnCount
:
!
0
,
fillOpacity
:
!
0
,
flexGrow
:
!
0
,
flexShrink
:
!
0
,
fontWeight
:
!
0
,
lineHeight
:
!
0
,
opacity
:
!
0
,
order
:
!
0
,
orphans
:
!
0
,
widows
:
!
0
,
zIndex
:
!
0
,
zoom
:
!
0
},
cssProps
:{
"float"
:
k
.
cssFloat
?
"cssFloat"
:
"styleFloat"
},
style
:
function
(
a
,
b
,
c
,
d
){
if
(
a
&&
3
!==
a
.
nodeType
&&
8
!==
a
.
nodeType
&&
a
.
style
){
var
e
,
f
,
g
,
h
=
m
.
camelCase
(
b
),
i
=
a
.
style
;
if
(
b
=
m
.
cssProps
[
h
]
||
(
m
.
cssProps
[
h
]
=
Ub
(
i
,
h
)),
g
=
m
.
cssHooks
[
b
]
||
m
.
cssHooks
[
h
],
void
0
===
c
)
return
g
&&
"get"
in
g
&&
void
0
!==
(
e
=
g
.
get
(
a
,
!
1
,
d
))?
e
:
i
[
b
];
if
(
f
=
typeof
c
,
"string"
===
f
&&
(
e
=
Qb
.
exec
(
c
))
&&
(
c
=
(
e
[
1
]
+
1
)
*
e
[
2
]
+
parseFloat
(
m
.
css
(
a
,
b
)),
f
=
"number"
),
null
!=
c
&&
c
===
c
&&
(
"number"
!==
f
||
m
.
cssNumber
[
h
]
||
(
c
+=
"px"
),
k
.
clearCloneStyle
||
""
!==
c
||
0
!==
b
.
indexOf
(
"background"
)
||
(
i
[
b
]
=
"inherit"
),
!
(
g
&&
"set"
in
g
&&
void
0
===
(
c
=
g
.
set
(
a
,
c
,
d
)))))
try
{
i
[
b
]
=
c
}
catch
(
j
){}}},
css
:
function
(
a
,
b
,
c
,
d
){
var
e
,
f
,
g
,
h
=
m
.
camelCase
(
b
);
return
b
=
m
.
cssProps
[
h
]
||
(
m
.
cssProps
[
h
]
=
Ub
(
a
.
style
,
h
)),
g
=
m
.
cssHooks
[
b
]
||
m
.
cssHooks
[
h
],
g
&&
"get"
in
g
&&
(
f
=
g
.
get
(
a
,
!
0
,
c
)),
void
0
===
f
&&
(
f
=
Jb
(
a
,
b
,
d
)),
"normal"
===
f
&&
b
in
Sb
&&
(
f
=
Sb
[
b
]),
""
===
c
||
c
?(
e
=
parseFloat
(
f
),
c
===!
0
||
m
.
isNumeric
(
e
)?
e
||
0
:
f
):
f
}}),
m
.
each
([
"height"
,
"width"
],
function
(
a
,
b
){
m
.
cssHooks
[
b
]
=
{
get
:
function
(
a
,
c
,
d
){
return
c
?
Ob
.
test
(
m
.
css
(
a
,
"display"
))
&&
0
===
a
.
offsetWidth
?
m
.
swap
(
a
,
Rb
,
function
(){
return
Yb
(
a
,
b
,
d
)}):
Yb
(
a
,
b
,
d
):
void
0
},
set
:
function
(
a
,
c
,
d
){
var
e
=
d
&&
Ib
(
a
);
return
Wb
(
a
,
c
,
d
?
Xb
(
a
,
b
,
d
,
k
.
boxSizing
&&
"border-box"
===
m
.
css
(
a
,
"boxSizing"
,
!
1
,
e
),
e
):
0
)}}}),
k
.
opacity
||
(
m
.
cssHooks
.
opacity
=
{
get
:
function
(
a
,
b
){
return
Nb
.
test
((
b
&&
a
.
currentStyle
?
a
.
currentStyle
.
filter
:
a
.
style
.
filter
)
||
""
)?.
01
*
parseFloat
(
RegExp
.
$1
)
+
""
:
b
?
"1"
:
""
},
set
:
function
(
a
,
b
){
var
c
=
a
.
style
,
d
=
a
.
currentStyle
,
e
=
m
.
isNumeric
(
b
)?
"alpha(opacity="
+
100
*
b
+
")"
:
""
,
f
=
d
&&
d
.
filter
||
c
.
filter
||
""
;
c
.
zoom
=
1
,(
b
>=
1
||
""
===
b
)
&&
""
===
m
.
trim
(
f
.
replace
(
Mb
,
""
))
&&
c
.
removeAttribute
&&
(
c
.
removeAttribute
(
"filter"
),
""
===
b
||
d
&&!
d
.
filter
)
||
(
c
.
filter
=
Mb
.
test
(
f
)?
f
.
replace
(
Mb
,
e
):
f
+
" "
+
e
)}}),
m
.
cssHooks
.
marginRight
=
Lb
(
k
.
reliableMarginRight
,
function
(
a
,
b
){
return
b
?
m
.
swap
(
a
,{
display
:
"inline-block"
},
Jb
,[
a
,
"marginRight"
]):
void
0
}),
m
.
each
({
margin
:
""
,
padding
:
""
,
border
:
"Width"
},
function
(
a
,
b
){
m
.
cssHooks
[
a
+
b
]
=
{
expand
:
function
(
c
){
for
(
var
d
=
0
,
e
=
{},
f
=
"string"
==
typeof
c
?
c
.
split
(
" "
):[
c
];
4
>
d
;
d
++
)
e
[
a
+
T
[
d
]
+
b
]
=
f
[
d
]
||
f
[
d
-
2
]
||
f
[
0
];
return
e
}},
Gb
.
test
(
a
)
||
(
m
.
cssHooks
[
a
+
b
].
set
=
Wb
)}),
m
.
fn
.
extend
({
css
:
function
(
a
,
b
){
return
V
(
this
,
function
(
a
,
b
,
c
){
var
d
,
e
,
f
=
{},
g
=
0
;
if
(
m
.
isArray
(
b
)){
for
(
d
=
Ib
(
a
),
e
=
b
.
length
;
e
>
g
;
g
++
)
f
[
b
[
g
]]
=
m
.
css
(
a
,
b
[
g
],
!
1
,
d
);
return
f
}
return
void
0
!==
c
?
m
.
style
(
a
,
b
,
c
):
m
.
css
(
a
,
b
)},
a
,
b
,
arguments
.
length
>
1
)},
show
:
function
(){
return
Vb
(
this
,
!
0
)},
hide
:
function
(){
return
Vb
(
this
)},
toggle
:
function
(
a
){
return
"boolean"
==
typeof
a
?
a
?
this
.
show
():
this
.
hide
():
this
.
each
(
function
(){
U
(
this
)?
m
(
this
).
show
():
m
(
this
).
hide
()})}});
function
Zb
(
a
,
b
,
c
,
d
,
e
){
return
new
Zb
.
prototype
.
init
(
a
,
b
,
c
,
d
,
e
)
return
!
0
}
function
Q
(
a
,
b
,
d
,
e
){
if
(
m
.
acceptData
(
a
)){
var
f
,
g
,
h
=
m
.
expando
,
i
=
a
.
nodeType
,
j
=
i
?
m
.
cache
:
a
,
k
=
i
?
a
[
h
]:
a
[
h
]
&&
h
;
if
(
k
&&
j
[
k
]
&&
(
e
||
j
[
k
].
data
)
||
void
0
!==
d
||
"string"
!=
typeof
b
)
return
k
||
(
k
=
i
?
a
[
h
]
=
c
.
pop
()
||
m
.
guid
++
:
h
),
j
[
k
]
||
(
j
[
k
]
=
i
?{}:{
toJSON
:
m
.
noop
}),(
"object"
==
typeof
b
||
"function"
==
typeof
b
)
&&
(
e
?
j
[
k
]
=
m
.
extend
(
j
[
k
],
b
):
j
[
k
].
data
=
m
.
extend
(
j
[
k
].
data
,
b
)),
g
=
j
[
k
],
e
||
(
g
.
data
||
(
g
.
data
=
{}),
g
=
g
.
data
),
void
0
!==
d
&&
(
g
[
m
.
camelCase
(
b
)]
=
d
),
"string"
==
typeof
b
?(
f
=
g
[
b
],
null
==
f
&&
(
f
=
g
[
m
.
camelCase
(
b
)])):
f
=
g
,
f
}}
function
R
(
a
,
b
,
c
){
if
(
m
.
acceptData
(
a
)){
var
d
,
e
,
f
=
a
.
nodeType
,
g
=
f
?
m
.
cache
:
a
,
h
=
f
?
a
[
m
.
expando
]:
m
.
expando
;
if
(
g
[
h
]){
if
(
b
&&
(
d
=
c
?
g
[
h
]:
g
[
h
].
data
)){
m
.
isArray
(
b
)?
b
=
b
.
concat
(
m
.
map
(
b
,
m
.
camelCase
)):
b
in
d
?
b
=
[
b
]:(
b
=
m
.
camelCase
(
b
),
b
=
b
in
d
?[
b
]:
b
.
split
(
" "
)),
e
=
b
.
length
;
while
(
e
--
)
delete
d
[
b
[
e
]];
if
(
c
?
!
P
(
d
):
!
m
.
isEmptyObject
(
d
))
return
}(
c
||
(
delete
g
[
h
].
data
,
P
(
g
[
h
])))
&&
(
f
?
m
.
cleanData
([
a
],
!
0
):
k
.
deleteExpando
||
g
!=
g
.
window
?
delete
g
[
h
]:
g
[
h
]
=
null
)}}}
m
.
extend
({
cache
:{},
noData
:{
"applet "
:
!
0
,
"embed "
:
!
0
,
"object "
:
"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
},
hasData
:
function
(
a
){
return
a
=
a
.
nodeType
?
m
.
cache
[
a
[
m
.
expando
]]:
a
[
m
.
expando
],
!!
a
&&!
P
(
a
)},
data
:
function
(
a
,
b
,
c
){
return
Q
(
a
,
b
,
c
)},
removeData
:
function
(
a
,
b
){
return
R
(
a
,
b
)},
_data
:
function
(
a
,
b
,
c
){
return
Q
(
a
,
b
,
c
,
!
0
)},
_removeData
:
function
(
a
,
b
){
return
R
(
a
,
b
,
!
0
)}}),
m
.
fn
.
extend
({
data
:
function
(
a
,
b
){
var
c
,
d
,
e
,
f
=
this
[
0
],
g
=
f
&&
f
.
attributes
;
if
(
void
0
===
a
){
if
(
this
.
length
&&
(
e
=
m
.
data
(
f
),
1
===
f
.
nodeType
&&!
m
.
_data
(
f
,
"parsedAttrs"
))){
c
=
g
.
length
;
while
(
c
--
)
g
[
c
]
&&
(
d
=
g
[
c
].
name
,
0
===
d
.
indexOf
(
"data-"
)
&&
(
d
=
m
.
camelCase
(
d
.
slice
(
5
)),
O
(
f
,
d
,
e
[
d
])));
m
.
_data
(
f
,
"parsedAttrs"
,
!
0
)}
return
e
}
return
"object"
==
typeof
a
?
this
.
each
(
function
(){
m
.
data
(
this
,
a
)}):
arguments
.
length
>
1
?
this
.
each
(
function
(){
m
.
data
(
this
,
a
,
b
)}):
f
?
O
(
f
,
a
,
m
.
data
(
f
,
a
)):
void
0
},
removeData
:
function
(
a
){
return
this
.
each
(
function
(){
m
.
removeData
(
this
,
a
)})}}),
m
.
extend
({
queue
:
function
(
a
,
b
,
c
){
var
d
;
return
a
?(
b
=
(
b
||
"fx"
)
+
"queue"
,
d
=
m
.
_data
(
a
,
b
),
c
&&
(
!
d
||
m
.
isArray
(
c
)?
d
=
m
.
_data
(
a
,
b
,
m
.
makeArray
(
c
)):
d
.
push
(
c
)),
d
||
[]):
void
0
},
dequeue
:
function
(
a
,
b
){
b
=
b
||
"fx"
;
var
c
=
m
.
queue
(
a
,
b
),
d
=
c
.
length
,
e
=
c
.
shift
(),
f
=
m
.
_queueHooks
(
a
,
b
),
g
=
function
(){
m
.
dequeue
(
a
,
b
)};
"inprogress"
===
e
&&
(
e
=
c
.
shift
(),
d
--
),
e
&&
(
"fx"
===
b
&&
c
.
unshift
(
"inprogress"
),
delete
f
.
stop
,
e
.
call
(
a
,
g
,
f
)),
!
d
&&
f
&&
f
.
empty
.
fire
()},
_queueHooks
:
function
(
a
,
b
){
var
c
=
b
+
"queueHooks"
;
return
m
.
_data
(
a
,
c
)
||
m
.
_data
(
a
,
c
,{
empty
:
m
.
Callbacks
(
"once memory"
).
add
(
function
(){
m
.
_removeData
(
a
,
b
+
"queue"
),
m
.
_removeData
(
a
,
c
)})})}}),
m
.
fn
.
extend
({
queue
:
function
(
a
,
b
){
var
c
=
2
;
return
"string"
!=
typeof
a
&&
(
b
=
a
,
a
=
"fx"
,
c
--
),
arguments
.
length
<
c
?
m
.
queue
(
this
[
0
],
a
):
void
0
===
b
?
this
:
this
.
each
(
function
(){
var
c
=
m
.
queue
(
this
,
a
,
b
);
m
.
_queueHooks
(
this
,
a
),
"fx"
===
a
&&
"inprogress"
!==
c
[
0
]
&&
m
.
dequeue
(
this
,
a
)})},
dequeue
:
function
(
a
){
return
this
.
each
(
function
(){
m
.
dequeue
(
this
,
a
)})},
clearQueue
:
function
(
a
){
return
this
.
queue
(
a
||
"fx"
,[])},
promise
:
function
(
a
,
b
){
var
c
,
d
=
1
,
e
=
m
.
Deferred
(),
f
=
this
,
g
=
this
.
length
,
h
=
function
(){
--
d
||
e
.
resolveWith
(
f
,[
f
])};
"string"
!=
typeof
a
&&
(
b
=
a
,
a
=
void
0
),
a
=
a
||
"fx"
;
while
(
g
--
)
c
=
m
.
_data
(
f
[
g
],
a
+
"queueHooks"
),
c
&&
c
.
empty
&&
(
d
++
,
c
.
empty
.
add
(
h
));
return
h
(),
e
.
promise
(
b
)}});
var
S
=
/
[
+-
]?(?:\d
*
\.
|
)\d
+
(?:[
eE
][
+-
]?\d
+|
)
/
.
source
,
T
=
[
"Top"
,
"Right"
,
"Bottom"
,
"Left"
],
U
=
function
(
a
,
b
){
return
a
=
b
||
a
,
"none"
===
m
.
css
(
a
,
"display"
)
||!
m
.
contains
(
a
.
ownerDocument
,
a
)},
V
=
m
.
access
=
function
(
a
,
b
,
c
,
d
,
e
,
f
,
g
){
var
h
=
0
,
i
=
a
.
length
,
j
=
null
==
c
;
if
(
"object"
===
m
.
type
(
c
)){
e
=!
0
;
for
(
h
in
c
)
m
.
access
(
a
,
b
,
h
,
c
[
h
],
!
0
,
f
,
g
)}
else
if
(
void
0
!==
d
&&
(
e
=!
0
,
m
.
isFunction
(
d
)
||
(
g
=!
0
),
j
&&
(
g
?(
b
.
call
(
a
,
d
),
b
=
null
):(
j
=
b
,
b
=
function
(
a
,
b
,
c
){
return
j
.
call
(
m
(
a
),
c
)})),
b
))
for
(;
i
>
h
;
h
++
)
b
(
a
[
h
],
c
,
g
?
d
:
d
.
call
(
a
[
h
],
h
,
b
(
a
[
h
],
c
)));
return
e
?
a
:
j
?
b
.
call
(
a
):
i
?
b
(
a
[
0
],
c
):
f
},
W
=
/^
(?:
checkbox|radio
)
$/i
;
!
function
(){
var
a
=
y
.
createElement
(
"input"
),
b
=
y
.
createElement
(
"div"
),
c
=
y
.
createDocumentFragment
();
if
(
b
.
innerHTML
=
" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>"
,
k
.
leadingWhitespace
=
3
===
b
.
firstChild
.
nodeType
,
k
.
tbody
=!
b
.
getElementsByTagName
(
"tbody"
).
length
,
k
.
htmlSerialize
=!!
b
.
getElementsByTagName
(
"link"
).
length
,
k
.
html5Clone
=
"<:nav></:nav>"
!==
y
.
createElement
(
"nav"
).
cloneNode
(
!
0
).
outerHTML
,
a
.
type
=
"checkbox"
,
a
.
checked
=!
0
,
c
.
appendChild
(
a
),
k
.
appendChecked
=
a
.
checked
,
b
.
innerHTML
=
"<textarea>x</textarea>"
,
k
.
noCloneChecked
=!!
b
.
cloneNode
(
!
0
).
lastChild
.
defaultValue
,
c
.
appendChild
(
b
),
b
.
innerHTML
=
"<input type='radio' checked='checked' name='t'/>"
,
k
.
checkClone
=
b
.
cloneNode
(
!
0
).
cloneNode
(
!
0
).
lastChild
.
checked
,
k
.
noCloneEvent
=!
0
,
b
.
attachEvent
&&
(
b
.
attachEvent
(
"onclick"
,
function
(){
k
.
noCloneEvent
=!
1
}),
b
.
cloneNode
(
!
0
).
click
()),
null
==
k
.
deleteExpando
){
k
.
deleteExpando
=!
0
;
try
{
delete
b
.
test
}
catch
(
d
){
k
.
deleteExpando
=!
1
}}}(),
function
(){
var
b
,
c
,
d
=
y
.
createElement
(
"div"
);
for
(
b
in
{
submit
:
!
0
,
change
:
!
0
,
focusin
:
!
0
})
c
=
"on"
+
b
,(
k
[
b
+
"Bubbles"
]
=
c
in
a
)
||
(
d
.
setAttribute
(
c
,
"t"
),
k
[
b
+
"Bubbles"
]
=
d
.
attributes
[
c
].
expando
===!
1
);
d
=
null
}();
var
X
=
/^
(?:
input|select|textarea
)
$/i
,
Y
=
/^key/
,
Z
=
/^
(?:
mouse|pointer|contextmenu
)
|click/
,
$
=
/^
(?:
focusinfocus|focusoutblur
)
$/
,
_
=
/^
([^
.
]
*
)(?:\.(
.+
)
|
)
$/
;
function
ab
(){
return
!
0
}
function
bb
(){
return
!
1
}
function
cb
(){
try
{
return
y
.
activeElement
}
catch
(
a
){}}
m
.
event
=
{
global
:{},
add
:
function
(
a
,
b
,
c
,
d
,
e
){
var
f
,
g
,
h
,
i
,
j
,
k
,
l
,
n
,
o
,
p
,
q
,
r
=
m
.
_data
(
a
);
if
(
r
){
c
.
handler
&&
(
i
=
c
,
c
=
i
.
handler
,
e
=
i
.
selector
),
c
.
guid
||
(
c
.
guid
=
m
.
guid
++
),(
g
=
r
.
events
)
||
(
g
=
r
.
events
=
{}),(
k
=
r
.
handle
)
||
(
k
=
r
.
handle
=
function
(
a
){
return
typeof
m
===
K
||
a
&&
m
.
event
.
triggered
===
a
.
type
?
void
0
:
m
.
event
.
dispatch
.
apply
(
k
.
elem
,
arguments
)},
k
.
elem
=
a
),
b
=
(
b
||
""
).
match
(
E
)
||
[
""
],
h
=
b
.
length
;
while
(
h
--
)
f
=
_
.
exec
(
b
[
h
])
||
[],
o
=
q
=
f
[
1
],
p
=
(
f
[
2
]
||
""
).
split
(
"."
).
sort
(),
o
&&
(
j
=
m
.
event
.
special
[
o
]
||
{},
o
=
(
e
?
j
.
delegateType
:
j
.
bindType
)
||
o
,
j
=
m
.
event
.
special
[
o
]
||
{},
l
=
m
.
extend
({
type
:
o
,
origType
:
q
,
data
:
d
,
handler
:
c
,
guid
:
c
.
guid
,
selector
:
e
,
needsContext
:
e
&&
m
.
expr
.
match
.
needsContext
.
test
(
e
),
namespace
:
p
.
join
(
"."
)},
i
),(
n
=
g
[
o
])
||
(
n
=
g
[
o
]
=
[],
n
.
delegateCount
=
0
,
j
.
setup
&&
j
.
setup
.
call
(
a
,
d
,
p
,
k
)
!==!
1
||
(
a
.
addEventListener
?
a
.
addEventListener
(
o
,
k
,
!
1
):
a
.
attachEvent
&&
a
.
attachEvent
(
"on"
+
o
,
k
))),
j
.
add
&&
(
j
.
add
.
call
(
a
,
l
),
l
.
handler
.
guid
||
(
l
.
handler
.
guid
=
c
.
guid
)),
e
?
n
.
splice
(
n
.
delegateCount
++
,
0
,
l
):
n
.
push
(
l
),
m
.
event
.
global
[
o
]
=!
0
);
a
=
null
}},
remove
:
function
(
a
,
b
,
c
,
d
,
e
){
var
f
,
g
,
h
,
i
,
j
,
k
,
l
,
n
,
o
,
p
,
q
,
r
=
m
.
hasData
(
a
)
&&
m
.
_data
(
a
);
if
(
r
&&
(
k
=
r
.
events
)){
b
=
(
b
||
""
).
match
(
E
)
||
[
""
],
j
=
b
.
length
;
while
(
j
--
)
if
(
h
=
_
.
exec
(
b
[
j
])
||
[],
o
=
q
=
h
[
1
],
p
=
(
h
[
2
]
||
""
).
split
(
"."
).
sort
(),
o
){
l
=
m
.
event
.
special
[
o
]
||
{},
o
=
(
d
?
l
.
delegateType
:
l
.
bindType
)
||
o
,
n
=
k
[
o
]
||
[],
h
=
h
[
2
]
&&
new
RegExp
(
"(^|
\\
.)"
+
p
.
join
(
"
\\
.(?:.*
\\
.|)"
)
+
"(
\\
.|$)"
),
i
=
f
=
n
.
length
;
while
(
f
--
)
g
=
n
[
f
],
!
e
&&
q
!==
g
.
origType
||
c
&&
c
.
guid
!==
g
.
guid
||
h
&&!
h
.
test
(
g
.
namespace
)
||
d
&&
d
!==
g
.
selector
&&
(
"**"
!==
d
||!
g
.
selector
)
||
(
n
.
splice
(
f
,
1
),
g
.
selector
&&
n
.
delegateCount
--
,
l
.
remove
&&
l
.
remove
.
call
(
a
,
g
));
i
&&!
n
.
length
&&
(
l
.
teardown
&&
l
.
teardown
.
call
(
a
,
p
,
r
.
handle
)
!==!
1
||
m
.
removeEvent
(
a
,
o
,
r
.
handle
),
delete
k
[
o
])}
else
for
(
o
in
k
)
m
.
event
.
remove
(
a
,
o
+
b
[
j
],
c
,
d
,
!
0
);
m
.
isEmptyObject
(
k
)
&&
(
delete
r
.
handle
,
m
.
_removeData
(
a
,
"events"
))}},
trigger
:
function
(
b
,
c
,
d
,
e
){
var
f
,
g
,
h
,
i
,
k
,
l
,
n
,
o
=
[
d
||
y
],
p
=
j
.
call
(
b
,
"type"
)?
b
.
type
:
b
,
q
=
j
.
call
(
b
,
"namespace"
)?
b
.
namespace
.
split
(
"."
):[];
if
(
h
=
l
=
d
=
d
||
y
,
3
!==
d
.
nodeType
&&
8
!==
d
.
nodeType
&&!
$
.
test
(
p
+
m
.
event
.
triggered
)
&&
(
p
.
indexOf
(
"."
)
>=
0
&&
(
q
=
p
.
split
(
"."
),
p
=
q
.
shift
(),
q
.
sort
()),
g
=
p
.
indexOf
(
":"
)
<
0
&&
"on"
+
p
,
b
=
b
[
m
.
expando
]?
b
:
new
m
.
Event
(
p
,
"object"
==
typeof
b
&&
b
),
b
.
isTrigger
=
e
?
2
:
3
,
b
.
namespace
=
q
.
join
(
"."
),
b
.
namespace_re
=
b
.
namespace
?
new
RegExp
(
"(^|
\\
.)"
+
q
.
join
(
"
\\
.(?:.*
\\
.|)"
)
+
"(
\\
.|$)"
):
null
,
b
.
result
=
void
0
,
b
.
target
||
(
b
.
target
=
d
),
c
=
null
==
c
?[
b
]:
m
.
makeArray
(
c
,[
b
]),
k
=
m
.
event
.
special
[
p
]
||
{},
e
||!
k
.
trigger
||
k
.
trigger
.
apply
(
d
,
c
)
!==!
1
)){
if
(
!
e
&&!
k
.
noBubble
&&!
m
.
isWindow
(
d
)){
for
(
i
=
k
.
delegateType
||
p
,
$
.
test
(
i
+
p
)
||
(
h
=
h
.
parentNode
);
h
;
h
=
h
.
parentNode
)
o
.
push
(
h
),
l
=
h
;
l
===
(
d
.
ownerDocument
||
y
)
&&
o
.
push
(
l
.
defaultView
||
l
.
parentWindow
||
a
)}
n
=
0
;
while
((
h
=
o
[
n
++
])
&&!
b
.
isPropagationStopped
())
b
.
type
=
n
>
1
?
i
:
k
.
bindType
||
p
,
f
=
(
m
.
_data
(
h
,
"events"
)
||
{})[
b
.
type
]
&&
m
.
_data
(
h
,
"handle"
),
f
&&
f
.
apply
(
h
,
c
),
f
=
g
&&
h
[
g
],
f
&&
f
.
apply
&&
m
.
acceptData
(
h
)
&&
(
b
.
result
=
f
.
apply
(
h
,
c
),
b
.
result
===!
1
&&
b
.
preventDefault
());
if
(
b
.
type
=
p
,
!
e
&&!
b
.
isDefaultPrevented
()
&&
(
!
k
.
_default
||
k
.
_default
.
apply
(
o
.
pop
(),
c
)
===!
1
)
&&
m
.
acceptData
(
d
)
&&
g
&&
d
[
p
]
&&!
m
.
isWindow
(
d
)){
l
=
d
[
g
],
l
&&
(
d
[
g
]
=
null
),
m
.
event
.
triggered
=
p
;
try
{
d
[
p
]()}
catch
(
r
){}
m
.
event
.
triggered
=
void
0
,
l
&&
(
d
[
g
]
=
l
)}
return
b
.
result
}},
dispatch
:
function
(
a
){
a
=
m
.
event
.
fix
(
a
);
var
b
,
c
,
e
,
f
,
g
,
h
=
[],
i
=
d
.
call
(
arguments
),
j
=
(
m
.
_data
(
this
,
"events"
)
||
{})[
a
.
type
]
||
[],
k
=
m
.
event
.
special
[
a
.
type
]
||
{};
if
(
i
[
0
]
=
a
,
a
.
delegateTarget
=
this
,
!
k
.
preDispatch
||
k
.
preDispatch
.
call
(
this
,
a
)
!==!
1
){
h
=
m
.
event
.
handlers
.
call
(
this
,
a
,
j
),
b
=
0
;
while
((
f
=
h
[
b
++
])
&&!
a
.
isPropagationStopped
()){
a
.
currentTarget
=
f
.
elem
,
g
=
0
;
while
((
e
=
f
.
handlers
[
g
++
])
&&!
a
.
isImmediatePropagationStopped
())(
!
a
.
namespace_re
||
a
.
namespace_re
.
test
(
e
.
namespace
))
&&
(
a
.
handleObj
=
e
,
a
.
data
=
e
.
data
,
c
=
((
m
.
event
.
special
[
e
.
origType
]
||
{}).
handle
||
e
.
handler
).
apply
(
f
.
elem
,
i
),
void
0
!==
c
&&
(
a
.
result
=
c
)
===!
1
&&
(
a
.
preventDefault
(),
a
.
stopPropagation
()))}
return
k
.
postDispatch
&&
k
.
postDispatch
.
call
(
this
,
a
),
a
.
result
}},
handlers
:
function
(
a
,
b
){
var
c
,
d
,
e
,
f
,
g
=
[],
h
=
b
.
delegateCount
,
i
=
a
.
target
;
if
(
h
&&
i
.
nodeType
&&
(
!
a
.
button
||
"click"
!==
a
.
type
))
for
(;
i
!=
this
;
i
=
i
.
parentNode
||
this
)
if
(
1
===
i
.
nodeType
&&
(
i
.
disabled
!==!
0
||
"click"
!==
a
.
type
)){
for
(
e
=
[],
f
=
0
;
h
>
f
;
f
++
)
d
=
b
[
f
],
c
=
d
.
selector
+
" "
,
void
0
===
e
[
c
]
&&
(
e
[
c
]
=
d
.
needsContext
?
m
(
c
,
this
).
index
(
i
)
>=
0
:
m
.
find
(
c
,
this
,
null
,[
i
]).
length
),
e
[
c
]
&&
e
.
push
(
d
);
e
.
length
&&
g
.
push
({
elem
:
i
,
handlers
:
e
})}
return
h
<
b
.
length
&&
g
.
push
({
elem
:
this
,
handlers
:
b
.
slice
(
h
)}),
g
},
fix
:
function
(
a
){
if
(
a
[
m
.
expando
])
return
a
;
var
b
,
c
,
d
,
e
=
a
.
type
,
f
=
a
,
g
=
this
.
fixHooks
[
e
];
g
||
(
this
.
fixHooks
[
e
]
=
g
=
Z
.
test
(
e
)?
this
.
mouseHooks
:
Y
.
test
(
e
)?
this
.
keyHooks
:{}),
d
=
g
.
props
?
this
.
props
.
concat
(
g
.
props
):
this
.
props
,
a
=
new
m
.
Event
(
f
),
b
=
d
.
length
;
while
(
b
--
)
c
=
d
[
b
],
a
[
c
]
=
f
[
c
];
return
a
.
target
||
(
a
.
target
=
f
.
srcElement
||
y
),
3
===
a
.
target
.
nodeType
&&
(
a
.
target
=
a
.
target
.
parentNode
),
a
.
metaKey
=!!
a
.
metaKey
,
g
.
filter
?
g
.
filter
(
a
,
f
):
a
},
props
:
"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which"
.
split
(
" "
),
fixHooks
:{},
keyHooks
:{
props
:
"char charCode key keyCode"
.
split
(
" "
),
filter
:
function
(
a
,
b
){
return
null
==
a
.
which
&&
(
a
.
which
=
null
!=
b
.
charCode
?
b
.
charCode
:
b
.
keyCode
),
a
}},
mouseHooks
:{
props
:
"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement"
.
split
(
" "
),
filter
:
function
(
a
,
b
){
var
c
,
d
,
e
,
f
=
b
.
button
,
g
=
b
.
fromElement
;
return
null
==
a
.
pageX
&&
null
!=
b
.
clientX
&&
(
d
=
a
.
target
.
ownerDocument
||
y
,
e
=
d
.
documentElement
,
c
=
d
.
body
,
a
.
pageX
=
b
.
clientX
+
(
e
&&
e
.
scrollLeft
||
c
&&
c
.
scrollLeft
||
0
)
-
(
e
&&
e
.
clientLeft
||
c
&&
c
.
clientLeft
||
0
),
a
.
pageY
=
b
.
clientY
+
(
e
&&
e
.
scrollTop
||
c
&&
c
.
scrollTop
||
0
)
-
(
e
&&
e
.
clientTop
||
c
&&
c
.
clientTop
||
0
)),
!
a
.
relatedTarget
&&
g
&&
(
a
.
relatedTarget
=
g
===
a
.
target
?
b
.
toElement
:
g
),
a
.
which
||
void
0
===
f
||
(
a
.
which
=
1
&
f
?
1
:
2
&
f
?
3
:
4
&
f
?
2
:
0
),
a
}},
special
:{
load
:{
noBubble
:
!
0
},
focus
:{
trigger
:
function
(){
if
(
this
!==
cb
()
&&
this
.
focus
)
try
{
return
this
.
focus
(),
!
1
}
catch
(
a
){}},
delegateType
:
"focusin"
},
blur
:{
trigger
:
function
(){
return
this
===
cb
()
&&
this
.
blur
?(
this
.
blur
(),
!
1
):
void
0
},
delegateType
:
"focusout"
},
click
:{
trigger
:
function
(){
return
m
.
nodeName
(
this
,
"input"
)
&&
"checkbox"
===
this
.
type
&&
this
.
click
?(
this
.
click
(),
!
1
):
void
0
},
_default
:
function
(
a
){
return
m
.
nodeName
(
a
.
target
,
"a"
)}},
beforeunload
:{
postDispatch
:
function
(
a
){
void
0
!==
a
.
result
&&
a
.
originalEvent
&&
(
a
.
originalEvent
.
returnValue
=
a
.
result
)}}},
simulate
:
function
(
a
,
b
,
c
,
d
){
var
e
=
m
.
extend
(
new
m
.
Event
,
c
,{
type
:
a
,
isSimulated
:
!
0
,
originalEvent
:{}});
d
?
m
.
event
.
trigger
(
e
,
null
,
b
):
m
.
event
.
dispatch
.
call
(
b
,
e
),
e
.
isDefaultPrevented
()
&&
c
.
preventDefault
()}},
m
.
removeEvent
=
y
.
removeEventListener
?
function
(
a
,
b
,
c
){
a
.
removeEventListener
&&
a
.
removeEventListener
(
b
,
c
,
!
1
)}:
function
(
a
,
b
,
c
){
var
d
=
"on"
+
b
;
a
.
detachEvent
&&
(
typeof
a
[
d
]
===
K
&&
(
a
[
d
]
=
null
),
a
.
detachEvent
(
d
,
c
))},
m
.
Event
=
function
(
a
,
b
){
return
this
instanceof
m
.
Event
?(
a
&&
a
.
type
?(
this
.
originalEvent
=
a
,
this
.
type
=
a
.
type
,
this
.
isDefaultPrevented
=
a
.
defaultPrevented
||
void
0
===
a
.
defaultPrevented
&&
a
.
returnValue
===!
1
?
ab
:
bb
):
this
.
type
=
a
,
b
&&
m
.
extend
(
this
,
b
),
this
.
timeStamp
=
a
&&
a
.
timeStamp
||
m
.
now
(),
void
(
this
[
m
.
expando
]
=!
0
)):
new
m
.
Event
(
a
,
b
)},
m
.
Event
.
prototype
=
{
isDefaultPrevented
:
bb
,
isPropagationStopped
:
bb
,
isImmediatePropagationStopped
:
bb
,
preventDefault
:
function
(){
var
a
=
this
.
originalEvent
;
this
.
isDefaultPrevented
=
ab
,
a
&&
(
a
.
preventDefault
?
a
.
preventDefault
():
a
.
returnValue
=!
1
)},
stopPropagation
:
function
(){
var
a
=
this
.
originalEvent
;
this
.
isPropagationStopped
=
ab
,
a
&&
(
a
.
stopPropagation
&&
a
.
stopPropagation
(),
a
.
cancelBubble
=!
0
)},
stopImmediatePropagation
:
function
(){
var
a
=
this
.
originalEvent
;
this
.
isImmediatePropagationStopped
=
ab
,
a
&&
a
.
stopImmediatePropagation
&&
a
.
stopImmediatePropagation
(),
this
.
stopPropagation
()}},
m
.
each
({
mouseenter
:
"mouseover"
,
mouseleave
:
"mouseout"
,
pointerenter
:
"pointerover"
,
pointerleave
:
"pointerout"
},
function
(
a
,
b
){
m
.
event
.
special
[
a
]
=
{
delegateType
:
b
,
bindType
:
b
,
handle
:
function
(
a
){
var
c
,
d
=
this
,
e
=
a
.
relatedTarget
,
f
=
a
.
handleObj
;
return
(
!
e
||
e
!==
d
&&!
m
.
contains
(
d
,
e
))
&&
(
a
.
type
=
f
.
origType
,
c
=
f
.
handler
.
apply
(
this
,
arguments
),
a
.
type
=
b
),
c
}}}),
k
.
submitBubbles
||
(
m
.
event
.
special
.
submit
=
{
setup
:
function
(){
return
m
.
nodeName
(
this
,
"form"
)?
!
1
:
void
m
.
event
.
add
(
this
,
"click._submit keypress._submit"
,
function
(
a
){
var
b
=
a
.
target
,
c
=
m
.
nodeName
(
b
,
"input"
)
||
m
.
nodeName
(
b
,
"button"
)?
b
.
form
:
void
0
;
c
&&!
m
.
_data
(
c
,
"submitBubbles"
)
&&
(
m
.
event
.
add
(
c
,
"submit._submit"
,
function
(
a
){
a
.
_submit_bubble
=!
0
}),
m
.
_data
(
c
,
"submitBubbles"
,
!
0
))})},
postDispatch
:
function
(
a
){
a
.
_submit_bubble
&&
(
delete
a
.
_submit_bubble
,
this
.
parentNode
&&!
a
.
isTrigger
&&
m
.
event
.
simulate
(
"submit"
,
this
.
parentNode
,
a
,
!
0
))},
teardown
:
function
(){
return
m
.
nodeName
(
this
,
"form"
)?
!
1
:
void
m
.
event
.
remove
(
this
,
"._submit"
)}}),
k
.
changeBubbles
||
(
m
.
event
.
special
.
change
=
{
setup
:
function
(){
return
X
.
test
(
this
.
nodeName
)?((
"checkbox"
===
this
.
type
||
"radio"
===
this
.
type
)
&&
(
m
.
event
.
add
(
this
,
"propertychange._change"
,
function
(
a
){
"checked"
===
a
.
originalEvent
.
propertyName
&&
(
this
.
_just_changed
=!
0
)}),
m
.
event
.
add
(
this
,
"click._change"
,
function
(
a
){
this
.
_just_changed
&&!
a
.
isTrigger
&&
(
this
.
_just_changed
=!
1
),
m
.
event
.
simulate
(
"change"
,
this
,
a
,
!
0
)})),
!
1
):
void
m
.
event
.
add
(
this
,
"beforeactivate._change"
,
function
(
a
){
var
b
=
a
.
target
;
X
.
test
(
b
.
nodeName
)
&&!
m
.
_data
(
b
,
"changeBubbles"
)
&&
(
m
.
event
.
add
(
b
,
"change._change"
,
function
(
a
){
!
this
.
parentNode
||
a
.
isSimulated
||
a
.
isTrigger
||
m
.
event
.
simulate
(
"change"
,
this
.
parentNode
,
a
,
!
0
)}),
m
.
_data
(
b
,
"changeBubbles"
,
!
0
))})},
handle
:
function
(
a
){
var
b
=
a
.
target
;
return
this
!==
b
||
a
.
isSimulated
||
a
.
isTrigger
||
"radio"
!==
b
.
type
&&
"checkbox"
!==
b
.
type
?
a
.
handleObj
.
handler
.
apply
(
this
,
arguments
):
void
0
},
teardown
:
function
(){
return
m
.
event
.
remove
(
this
,
"._change"
),
!
X
.
test
(
this
.
nodeName
)}}),
k
.
focusinBubbles
||
m
.
each
({
focus
:
"focusin"
,
blur
:
"focusout"
},
function
(
a
,
b
){
var
c
=
function
(
a
){
m
.
event
.
simulate
(
b
,
a
.
target
,
m
.
event
.
fix
(
a
),
!
0
)};
m
.
event
.
special
[
b
]
=
{
setup
:
function
(){
var
d
=
this
.
ownerDocument
||
this
,
e
=
m
.
_data
(
d
,
b
);
e
||
d
.
addEventListener
(
a
,
c
,
!
0
),
m
.
_data
(
d
,
b
,(
e
||
0
)
+
1
)},
teardown
:
function
(){
var
d
=
this
.
ownerDocument
||
this
,
e
=
m
.
_data
(
d
,
b
)
-
1
;
e
?
m
.
_data
(
d
,
b
,
e
):(
d
.
removeEventListener
(
a
,
c
,
!
0
),
m
.
_removeData
(
d
,
b
))}}}),
m
.
fn
.
extend
({
on
:
function
(
a
,
b
,
c
,
d
,
e
){
var
f
,
g
;
if
(
"object"
==
typeof
a
){
"string"
!=
typeof
b
&&
(
c
=
c
||
b
,
b
=
void
0
);
for
(
f
in
a
)
this
.
on
(
f
,
b
,
c
,
a
[
f
],
e
);
return
this
}
if
(
null
==
c
&&
null
==
d
?(
d
=
b
,
c
=
b
=
void
0
):
null
==
d
&&
(
"string"
==
typeof
b
?(
d
=
c
,
c
=
void
0
):(
d
=
c
,
c
=
b
,
b
=
void
0
)),
d
===!
1
)
d
=
bb
;
else
if
(
!
d
)
return
this
;
return
1
===
e
&&
(
g
=
d
,
d
=
function
(
a
){
return
m
().
off
(
a
),
g
.
apply
(
this
,
arguments
)},
d
.
guid
=
g
.
guid
||
(
g
.
guid
=
m
.
guid
++
)),
this
.
each
(
function
(){
m
.
event
.
add
(
this
,
a
,
d
,
c
,
b
)})},
one
:
function
(
a
,
b
,
c
,
d
){
return
this
.
on
(
a
,
b
,
c
,
d
,
1
)},
off
:
function
(
a
,
b
,
c
){
var
d
,
e
;
if
(
a
&&
a
.
preventDefault
&&
a
.
handleObj
)
return
d
=
a
.
handleObj
,
m
(
a
.
delegateTarget
).
off
(
d
.
namespace
?
d
.
origType
+
"."
+
d
.
namespace
:
d
.
origType
,
d
.
selector
,
d
.
handler
),
this
;
if
(
"object"
==
typeof
a
){
for
(
e
in
a
)
this
.
off
(
e
,
b
,
a
[
e
]);
return
this
}
return
(
b
===!
1
||
"function"
==
typeof
b
)
&&
(
c
=
b
,
b
=
void
0
),
c
===!
1
&&
(
c
=
bb
),
this
.
each
(
function
(){
m
.
event
.
remove
(
this
,
a
,
c
,
b
)})},
trigger
:
function
(
a
,
b
){
return
this
.
each
(
function
(){
m
.
event
.
trigger
(
a
,
b
,
this
)})},
triggerHandler
:
function
(
a
,
b
){
var
c
=
this
[
0
];
return
c
?
m
.
event
.
trigger
(
a
,
b
,
c
,
!
0
):
void
0
}});
function
db
(
a
){
var
b
=
eb
.
split
(
"|"
),
c
=
a
.
createDocumentFragment
();
if
(
c
.
createElement
)
while
(
b
.
length
)
c
.
createElement
(
b
.
pop
());
return
c
}
var
eb
=
"abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video"
,
fb
=
/ jQuery
\d
+="
(?:
null|
\d
+
)
"/g
,
gb
=
new
RegExp
(
"<(?:"
+
eb
+
")[
\\
s/>]"
,
"i"
),
hb
=
/^
\s
+/
,
ib
=
/<
(?!
area|br|col|embed|hr|img|input|link|meta|param
)(([\w
:
]
+
)[^
>
]
*
)\/
>/gi
,
jb
=
/<
([\w
:
]
+
)
/
,
kb
=
/<tbody/i
,
lb
=
/<|&#
?\w
+;/
,
mb
=
/<
(?:
script|style|link
)
/i
,
nb
=
/checked
\s
*
(?:[^
=
]
|=
\s
*.checked.
)
/i
,
ob
=
/^$|
\/(?:
java|ecma
)
script/i
,
pb
=
/^true
\/(
.*
)
/
,
qb
=
/^
\s
*<!
(?:\[
CDATA
\[
|--
)
|
(?:\]\]
|--
)
>
\s
*$/g
,
rb
=
{
option
:[
1
,
"<select multiple='multiple'>"
,
"</select>"
],
legend
:[
1
,
"<fieldset>"
,
"</fieldset>"
],
area
:[
1
,
"<map>"
,
"</map>"
],
param
:[
1
,
"<object>"
,
"</object>"
],
thead
:[
1
,
"<table>"
,
"</table>"
],
tr
:[
2
,
"<table><tbody>"
,
"</tbody></table>"
],
col
:[
2
,
"<table><tbody></tbody><colgroup>"
,
"</colgroup></table>"
],
td
:[
3
,
"<table><tbody><tr>"
,
"</tr></tbody></table>"
],
_default
:
k
.
htmlSerialize
?[
0
,
""
,
""
]:[
1
,
"X<div>"
,
"</div>"
]},
sb
=
db
(
y
),
tb
=
sb
.
appendChild
(
y
.
createElement
(
"div"
));
rb
.
optgroup
=
rb
.
option
,
rb
.
tbody
=
rb
.
tfoot
=
rb
.
colgroup
=
rb
.
caption
=
rb
.
thead
,
rb
.
th
=
rb
.
td
;
function
ub
(
a
,
b
){
var
c
,
d
,
e
=
0
,
f
=
typeof
a
.
getElementsByTagName
!==
K
?
a
.
getElementsByTagName
(
b
||
"*"
):
typeof
a
.
querySelectorAll
!==
K
?
a
.
querySelectorAll
(
b
||
"*"
):
void
0
;
if
(
!
f
)
for
(
f
=
[],
c
=
a
.
childNodes
||
a
;
null
!=
(
d
=
c
[
e
]);
e
++
)
!
b
||
m
.
nodeName
(
d
,
b
)?
f
.
push
(
d
):
m
.
merge
(
f
,
ub
(
d
,
b
));
return
void
0
===
b
||
b
&&
m
.
nodeName
(
a
,
b
)?
m
.
merge
([
a
],
f
):
f
}
function
vb
(
a
){
W
.
test
(
a
.
type
)
&&
(
a
.
defaultChecked
=
a
.
checked
)}
function
wb
(
a
,
b
){
return
m
.
nodeName
(
a
,
"table"
)
&&
m
.
nodeName
(
11
!==
b
.
nodeType
?
b
:
b
.
firstChild
,
"tr"
)?
a
.
getElementsByTagName
(
"tbody"
)[
0
]
||
a
.
appendChild
(
a
.
ownerDocument
.
createElement
(
"tbody"
)):
a
}
function
xb
(
a
){
return
a
.
type
=
(
null
!==
m
.
find
.
attr
(
a
,
"type"
))
+
"/"
+
a
.
type
,
a
}
function
yb
(
a
){
var
b
=
pb
.
exec
(
a
.
type
);
return
b
?
a
.
type
=
b
[
1
]:
a
.
removeAttribute
(
"type"
),
a
}
function
zb
(
a
,
b
){
for
(
var
c
,
d
=
0
;
null
!=
(
c
=
a
[
d
]);
d
++
)
m
.
_data
(
c
,
"globalEval"
,
!
b
||
m
.
_data
(
b
[
d
],
"globalEval"
))}
function
Ab
(
a
,
b
){
if
(
1
===
b
.
nodeType
&&
m
.
hasData
(
a
)){
var
c
,
d
,
e
,
f
=
m
.
_data
(
a
),
g
=
m
.
_data
(
b
,
f
),
h
=
f
.
events
;
if
(
h
){
delete
g
.
handle
,
g
.
events
=
{};
for
(
c
in
h
)
for
(
d
=
0
,
e
=
h
[
c
].
length
;
e
>
d
;
d
++
)
m
.
event
.
add
(
b
,
c
,
h
[
c
][
d
])}
g
.
data
&&
(
g
.
data
=
m
.
extend
({},
g
.
data
))}}
function
Bb
(
a
,
b
){
var
c
,
d
,
e
;
if
(
1
===
b
.
nodeType
){
if
(
c
=
b
.
nodeName
.
toLowerCase
(),
!
k
.
noCloneEvent
&&
b
[
m
.
expando
]){
e
=
m
.
_data
(
b
);
for
(
d
in
e
.
events
)
m
.
removeEvent
(
b
,
d
,
e
.
handle
);
b
.
removeAttribute
(
m
.
expando
)}
"script"
===
c
&&
b
.
text
!==
a
.
text
?(
xb
(
b
).
text
=
a
.
text
,
yb
(
b
)):
"object"
===
c
?(
b
.
parentNode
&&
(
b
.
outerHTML
=
a
.
outerHTML
),
k
.
html5Clone
&&
a
.
innerHTML
&&!
m
.
trim
(
b
.
innerHTML
)
&&
(
b
.
innerHTML
=
a
.
innerHTML
)):
"input"
===
c
&&
W
.
test
(
a
.
type
)?(
b
.
defaultChecked
=
b
.
checked
=
a
.
checked
,
b
.
value
!==
a
.
value
&&
(
b
.
value
=
a
.
value
)):
"option"
===
c
?
b
.
defaultSelected
=
b
.
selected
=
a
.
defaultSelected
:(
"input"
===
c
||
"textarea"
===
c
)
&&
(
b
.
defaultValue
=
a
.
defaultValue
)}}
m
.
extend
({
clone
:
function
(
a
,
b
,
c
){
var
d
,
e
,
f
,
g
,
h
,
i
=
m
.
contains
(
a
.
ownerDocument
,
a
);
if
(
k
.
html5Clone
||
m
.
isXMLDoc
(
a
)
||!
gb
.
test
(
"<"
+
a
.
nodeName
+
">"
)?
f
=
a
.
cloneNode
(
!
0
):(
tb
.
innerHTML
=
a
.
outerHTML
,
tb
.
removeChild
(
f
=
tb
.
firstChild
)),
!
(
k
.
noCloneEvent
&&
k
.
noCloneChecked
||
1
!==
a
.
nodeType
&&
11
!==
a
.
nodeType
||
m
.
isXMLDoc
(
a
)))
for
(
d
=
ub
(
f
),
h
=
ub
(
a
),
g
=
0
;
null
!=
(
e
=
h
[
g
]);
++
g
)
d
[
g
]
&&
Bb
(
e
,
d
[
g
]);
if
(
b
)
if
(
c
)
for
(
h
=
h
||
ub
(
a
),
d
=
d
||
ub
(
f
),
g
=
0
;
null
!=
(
e
=
h
[
g
]);
g
++
)
Ab
(
e
,
d
[
g
]);
else
Ab
(
a
,
f
);
return
d
=
ub
(
f
,
"script"
),
d
.
length
>
0
&&
zb
(
d
,
!
i
&&
ub
(
a
,
"script"
)),
d
=
h
=
e
=
null
,
f
},
buildFragment
:
function
(
a
,
b
,
c
,
d
){
for
(
var
e
,
f
,
g
,
h
,
i
,
j
,
l
,
n
=
a
.
length
,
o
=
db
(
b
),
p
=
[],
q
=
0
;
n
>
q
;
q
++
)
if
(
f
=
a
[
q
],
f
||
0
===
f
)
if
(
"object"
===
m
.
type
(
f
))
m
.
merge
(
p
,
f
.
nodeType
?[
f
]:
f
);
else
if
(
lb
.
test
(
f
)){
h
=
h
||
o
.
appendChild
(
b
.
createElement
(
"div"
)),
i
=
(
jb
.
exec
(
f
)
||
[
""
,
""
])[
1
].
toLowerCase
(),
l
=
rb
[
i
]
||
rb
.
_default
,
h
.
innerHTML
=
l
[
1
]
+
f
.
replace
(
ib
,
"<$1></$2>"
)
+
l
[
2
],
e
=
l
[
0
];
while
(
e
--
)
h
=
h
.
lastChild
;
if
(
!
k
.
leadingWhitespace
&&
hb
.
test
(
f
)
&&
p
.
push
(
b
.
createTextNode
(
hb
.
exec
(
f
)[
0
])),
!
k
.
tbody
){
f
=
"table"
!==
i
||
kb
.
test
(
f
)?
"<table>"
!==
l
[
1
]
||
kb
.
test
(
f
)?
0
:
h
:
h
.
firstChild
,
e
=
f
&&
f
.
childNodes
.
length
;
while
(
e
--
)
m
.
nodeName
(
j
=
f
.
childNodes
[
e
],
"tbody"
)
&&!
j
.
childNodes
.
length
&&
f
.
removeChild
(
j
)}
m
.
merge
(
p
,
h
.
childNodes
),
h
.
textContent
=
""
;
while
(
h
.
firstChild
)
h
.
removeChild
(
h
.
firstChild
);
h
=
o
.
lastChild
}
else
p
.
push
(
b
.
createTextNode
(
f
));
h
&&
o
.
removeChild
(
h
),
k
.
appendChecked
||
m
.
grep
(
ub
(
p
,
"input"
),
vb
),
q
=
0
;
while
(
f
=
p
[
q
++
])
if
((
!
d
||-
1
===
m
.
inArray
(
f
,
d
))
&&
(
g
=
m
.
contains
(
f
.
ownerDocument
,
f
),
h
=
ub
(
o
.
appendChild
(
f
),
"script"
),
g
&&
zb
(
h
),
c
)){
e
=
0
;
while
(
f
=
h
[
e
++
])
ob
.
test
(
f
.
type
||
""
)
&&
c
.
push
(
f
)}
return
h
=
null
,
o
},
cleanData
:
function
(
a
,
b
){
for
(
var
d
,
e
,
f
,
g
,
h
=
0
,
i
=
m
.
expando
,
j
=
m
.
cache
,
l
=
k
.
deleteExpando
,
n
=
m
.
event
.
special
;
null
!=
(
d
=
a
[
h
]);
h
++
)
if
((
b
||
m
.
acceptData
(
d
))
&&
(
f
=
d
[
i
],
g
=
f
&&
j
[
f
])){
if
(
g
.
events
)
for
(
e
in
g
.
events
)
n
[
e
]?
m
.
event
.
remove
(
d
,
e
):
m
.
removeEvent
(
d
,
e
,
g
.
handle
);
j
[
f
]
&&
(
delete
j
[
f
],
l
?
delete
d
[
i
]:
typeof
d
.
removeAttribute
!==
K
?
d
.
removeAttribute
(
i
):
d
[
i
]
=
null
,
c
.
push
(
f
))}}}),
m
.
fn
.
extend
({
text
:
function
(
a
){
return
V
(
this
,
function
(
a
){
return
void
0
===
a
?
m
.
text
(
this
):
this
.
empty
().
append
((
this
[
0
]
&&
this
[
0
].
ownerDocument
||
y
).
createTextNode
(
a
))},
null
,
a
,
arguments
.
length
)},
append
:
function
(){
return
this
.
domManip
(
arguments
,
function
(
a
){
if
(
1
===
this
.
nodeType
||
11
===
this
.
nodeType
||
9
===
this
.
nodeType
){
var
b
=
wb
(
this
,
a
);
b
.
appendChild
(
a
)}})},
prepend
:
function
(){
return
this
.
domManip
(
arguments
,
function
(
a
){
if
(
1
===
this
.
nodeType
||
11
===
this
.
nodeType
||
9
===
this
.
nodeType
){
var
b
=
wb
(
this
,
a
);
b
.
insertBefore
(
a
,
b
.
firstChild
)}})},
before
:
function
(){
return
this
.
domManip
(
arguments
,
function
(
a
){
this
.
parentNode
&&
this
.
parentNode
.
insertBefore
(
a
,
this
)})},
after
:
function
(){
return
this
.
domManip
(
arguments
,
function
(
a
){
this
.
parentNode
&&
this
.
parentNode
.
insertBefore
(
a
,
this
.
nextSibling
)})},
remove
:
function
(
a
,
b
){
for
(
var
c
,
d
=
a
?
m
.
filter
(
a
,
this
):
this
,
e
=
0
;
null
!=
(
c
=
d
[
e
]);
e
++
)
b
||
1
!==
c
.
nodeType
||
m
.
cleanData
(
ub
(
c
)),
c
.
parentNode
&&
(
b
&&
m
.
contains
(
c
.
ownerDocument
,
c
)
&&
zb
(
ub
(
c
,
"script"
)),
c
.
parentNode
.
removeChild
(
c
));
return
this
},
empty
:
function
(){
for
(
var
a
,
b
=
0
;
null
!=
(
a
=
this
[
b
]);
b
++
){
1
===
a
.
nodeType
&&
m
.
cleanData
(
ub
(
a
,
!
1
));
while
(
a
.
firstChild
)
a
.
removeChild
(
a
.
firstChild
);
a
.
options
&&
m
.
nodeName
(
a
,
"select"
)
&&
(
a
.
options
.
length
=
0
)}
return
this
},
clone
:
function
(
a
,
b
){
return
a
=
null
==
a
?
!
1
:
a
,
b
=
null
==
b
?
a
:
b
,
this
.
map
(
function
(){
return
m
.
clone
(
this
,
a
,
b
)})},
html
:
function
(
a
){
return
V
(
this
,
function
(
a
){
var
b
=
this
[
0
]
||
{},
c
=
0
,
d
=
this
.
length
;
if
(
void
0
===
a
)
return
1
===
b
.
nodeType
?
b
.
innerHTML
.
replace
(
fb
,
""
):
void
0
;
if
(
!
(
"string"
!=
typeof
a
||
mb
.
test
(
a
)
||!
k
.
htmlSerialize
&&
gb
.
test
(
a
)
||!
k
.
leadingWhitespace
&&
hb
.
test
(
a
)
||
rb
[(
jb
.
exec
(
a
)
||
[
""
,
""
])[
1
].
toLowerCase
()])){
a
=
a
.
replace
(
ib
,
"<$1></$2>"
);
try
{
for
(;
d
>
c
;
c
++
)
b
=
this
[
c
]
||
{},
1
===
b
.
nodeType
&&
(
m
.
cleanData
(
ub
(
b
,
!
1
)),
b
.
innerHTML
=
a
);
b
=
0
}
catch
(
e
){}}
b
&&
this
.
empty
().
append
(
a
)},
null
,
a
,
arguments
.
length
)},
replaceWith
:
function
(){
var
a
=
arguments
[
0
];
return
this
.
domManip
(
arguments
,
function
(
b
){
a
=
this
.
parentNode
,
m
.
cleanData
(
ub
(
this
)),
a
&&
a
.
replaceChild
(
b
,
this
)}),
a
&&
(
a
.
length
||
a
.
nodeType
)?
this
:
this
.
remove
()},
detach
:
function
(
a
){
return
this
.
remove
(
a
,
!
0
)},
domManip
:
function
(
a
,
b
){
a
=
e
.
apply
([],
a
);
var
c
,
d
,
f
,
g
,
h
,
i
,
j
=
0
,
l
=
this
.
length
,
n
=
this
,
o
=
l
-
1
,
p
=
a
[
0
],
q
=
m
.
isFunction
(
p
);
if
(
q
||
l
>
1
&&
"string"
==
typeof
p
&&!
k
.
checkClone
&&
nb
.
test
(
p
))
return
this
.
each
(
function
(
c
){
var
d
=
n
.
eq
(
c
);
q
&&
(
a
[
0
]
=
p
.
call
(
this
,
c
,
d
.
html
())),
d
.
domManip
(
a
,
b
)});
if
(
l
&&
(
i
=
m
.
buildFragment
(
a
,
this
[
0
].
ownerDocument
,
!
1
,
this
),
c
=
i
.
firstChild
,
1
===
i
.
childNodes
.
length
&&
(
i
=
c
),
c
)){
for
(
g
=
m
.
map
(
ub
(
i
,
"script"
),
xb
),
f
=
g
.
length
;
l
>
j
;
j
++
)
d
=
i
,
j
!==
o
&&
(
d
=
m
.
clone
(
d
,
!
0
,
!
0
),
f
&&
m
.
merge
(
g
,
ub
(
d
,
"script"
))),
b
.
call
(
this
[
j
],
d
,
j
);
if
(
f
)
for
(
h
=
g
[
g
.
length
-
1
].
ownerDocument
,
m
.
map
(
g
,
yb
),
j
=
0
;
f
>
j
;
j
++
)
d
=
g
[
j
],
ob
.
test
(
d
.
type
||
""
)
&&!
m
.
_data
(
d
,
"globalEval"
)
&&
m
.
contains
(
h
,
d
)
&&
(
d
.
src
?
m
.
_evalUrl
&&
m
.
_evalUrl
(
d
.
src
):
m
.
globalEval
((
d
.
text
||
d
.
textContent
||
d
.
innerHTML
||
""
).
replace
(
qb
,
""
)));
i
=
c
=
null
}
return
this
}}),
m
.
each
({
appendTo
:
"append"
,
prependTo
:
"prepend"
,
insertBefore
:
"before"
,
insertAfter
:
"after"
,
replaceAll
:
"replaceWith"
},
function
(
a
,
b
){
m
.
fn
[
a
]
=
function
(
a
){
for
(
var
c
,
d
=
0
,
e
=
[],
g
=
m
(
a
),
h
=
g
.
length
-
1
;
h
>=
d
;
d
++
)
c
=
d
===
h
?
this
:
this
.
clone
(
!
0
),
m
(
g
[
d
])[
b
](
c
),
f
.
apply
(
e
,
c
.
get
());
return
this
.
pushStack
(
e
)}});
var
Cb
,
Db
=
{};
function
Eb
(
b
,
c
){
var
d
,
e
=
m
(
c
.
createElement
(
b
)).
appendTo
(
c
.
body
),
f
=
a
.
getDefaultComputedStyle
&&
(
d
=
a
.
getDefaultComputedStyle
(
e
[
0
]))?
d
.
display
:
m
.
css
(
e
[
0
],
"display"
);
return
e
.
detach
(),
f
}
function
Fb
(
a
){
var
b
=
y
,
c
=
Db
[
a
];
return
c
||
(
c
=
Eb
(
a
,
b
),
"none"
!==
c
&&
c
||
(
Cb
=
(
Cb
||
m
(
"<iframe frameborder='0' width='0' height='0'/>"
)).
appendTo
(
b
.
documentElement
),
b
=
(
Cb
[
0
].
contentWindow
||
Cb
[
0
].
contentDocument
).
document
,
b
.
write
(),
b
.
close
(),
c
=
Eb
(
a
,
b
),
Cb
.
detach
()),
Db
[
a
]
=
c
),
c
}
!
function
(){
var
a
;
k
.
shrinkWrapBlocks
=
function
(){
if
(
null
!=
a
)
return
a
;
a
=!
1
;
var
b
,
c
,
d
;
return
c
=
y
.
getElementsByTagName
(
"body"
)[
0
],
c
&&
c
.
style
?(
b
=
y
.
createElement
(
"div"
),
d
=
y
.
createElement
(
"div"
),
d
.
style
.
cssText
=
"position:absolute;border:0;width:0;height:0;top:0;left:-9999px"
,
c
.
appendChild
(
d
).
appendChild
(
b
),
typeof
b
.
style
.
zoom
!==
K
&&
(
b
.
style
.
cssText
=
"-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1"
,
b
.
appendChild
(
y
.
createElement
(
"div"
)).
style
.
width
=
"5px"
,
a
=
3
!==
b
.
offsetWidth
),
c
.
removeChild
(
d
),
a
):
void
0
}}();
var
Gb
=
/^margin/
,
Hb
=
new
RegExp
(
"^("
+
S
+
")(?!px)[a-z%]+$"
,
"i"
),
Ib
,
Jb
,
Kb
=
/^
(
top|right|bottom|left
)
$/
;
a
.
getComputedStyle
?(
Ib
=
function
(
b
){
return
b
.
ownerDocument
.
defaultView
.
opener
?
b
.
ownerDocument
.
defaultView
.
getComputedStyle
(
b
,
null
):
a
.
getComputedStyle
(
b
,
null
)},
Jb
=
function
(
a
,
b
,
c
){
var
d
,
e
,
f
,
g
,
h
=
a
.
style
;
return
c
=
c
||
Ib
(
a
),
g
=
c
?
c
.
getPropertyValue
(
b
)
||
c
[
b
]:
void
0
,
c
&&
(
""
!==
g
||
m
.
contains
(
a
.
ownerDocument
,
a
)
||
(
g
=
m
.
style
(
a
,
b
)),
Hb
.
test
(
g
)
&&
Gb
.
test
(
b
)
&&
(
d
=
h
.
width
,
e
=
h
.
minWidth
,
f
=
h
.
maxWidth
,
h
.
minWidth
=
h
.
maxWidth
=
h
.
width
=
g
,
g
=
c
.
width
,
h
.
width
=
d
,
h
.
minWidth
=
e
,
h
.
maxWidth
=
f
)),
void
0
===
g
?
g
:
g
+
""
}):
y
.
documentElement
.
currentStyle
&&
(
Ib
=
function
(
a
){
return
a
.
currentStyle
},
Jb
=
function
(
a
,
b
,
c
){
var
d
,
e
,
f
,
g
,
h
=
a
.
style
;
return
c
=
c
||
Ib
(
a
),
g
=
c
?
c
[
b
]:
void
0
,
null
==
g
&&
h
&&
h
[
b
]
&&
(
g
=
h
[
b
]),
Hb
.
test
(
g
)
&&!
Kb
.
test
(
b
)
&&
(
d
=
h
.
left
,
e
=
a
.
runtimeStyle
,
f
=
e
&&
e
.
left
,
f
&&
(
e
.
left
=
a
.
currentStyle
.
left
),
h
.
left
=
"fontSize"
===
b
?
"1em"
:
g
,
g
=
h
.
pixelLeft
+
"px"
,
h
.
left
=
d
,
f
&&
(
e
.
left
=
f
)),
void
0
===
g
?
g
:
g
+
""
||
"auto"
});
function
Lb
(
a
,
b
){
return
{
get
:
function
(){
var
c
=
a
();
if
(
null
!=
c
)
return
c
?
void
delete
this
.
get
:(
this
.
get
=
b
).
apply
(
this
,
arguments
)}}}
!
function
(){
var
b
,
c
,
d
,
e
,
f
,
g
,
h
;
if
(
b
=
y
.
createElement
(
"div"
),
b
.
innerHTML
=
" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>"
,
d
=
b
.
getElementsByTagName
(
"a"
)[
0
],
c
=
d
&&
d
.
style
){
c
.
cssText
=
"float:left;opacity:.5"
,
k
.
opacity
=
"0.5"
===
c
.
opacity
,
k
.
cssFloat
=!!
c
.
cssFloat
,
b
.
style
.
backgroundClip
=
"content-box"
,
b
.
cloneNode
(
!
0
).
style
.
backgroundClip
=
""
,
k
.
clearCloneStyle
=
"content-box"
===
b
.
style
.
backgroundClip
,
k
.
boxSizing
=
""
===
c
.
boxSizing
||
""
===
c
.
MozBoxSizing
||
""
===
c
.
WebkitBoxSizing
,
m
.
extend
(
k
,{
reliableHiddenOffsets
:
function
(){
return
null
==
g
&&
i
(),
g
},
boxSizingReliable
:
function
(){
return
null
==
f
&&
i
(),
f
},
pixelPosition
:
function
(){
return
null
==
e
&&
i
(),
e
},
reliableMarginRight
:
function
(){
return
null
==
h
&&
i
(),
h
}});
function
i
(){
var
b
,
c
,
d
,
i
;
c
=
y
.
getElementsByTagName
(
"body"
)[
0
],
c
&&
c
.
style
&&
(
b
=
y
.
createElement
(
"div"
),
d
=
y
.
createElement
(
"div"
),
d
.
style
.
cssText
=
"position:absolute;border:0;width:0;height:0;top:0;left:-9999px"
,
c
.
appendChild
(
d
).
appendChild
(
b
),
b
.
style
.
cssText
=
"-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute"
,
e
=
f
=!
1
,
h
=!
0
,
a
.
getComputedStyle
&&
(
e
=
"1%"
!==
(
a
.
getComputedStyle
(
b
,
null
)
||
{}).
top
,
f
=
"4px"
===
(
a
.
getComputedStyle
(
b
,
null
)
||
{
width
:
"4px"
}).
width
,
i
=
b
.
appendChild
(
y
.
createElement
(
"div"
)),
i
.
style
.
cssText
=
b
.
style
.
cssText
=
"-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0"
,
i
.
style
.
marginRight
=
i
.
style
.
width
=
"0"
,
b
.
style
.
width
=
"1px"
,
h
=!
parseFloat
((
a
.
getComputedStyle
(
i
,
null
)
||
{}).
marginRight
),
b
.
removeChild
(
i
)),
b
.
innerHTML
=
"<table><tr><td></td><td>t</td></tr></table>"
,
i
=
b
.
getElementsByTagName
(
"td"
),
i
[
0
].
style
.
cssText
=
"margin:0;border:0;padding:0;display:none"
,
g
=
0
===
i
[
0
].
offsetHeight
,
g
&&
(
i
[
0
].
style
.
display
=
""
,
i
[
1
].
style
.
display
=
"none"
,
g
=
0
===
i
[
0
].
offsetHeight
),
c
.
removeChild
(
d
))}}}(),
m
.
swap
=
function
(
a
,
b
,
c
,
d
){
var
e
,
f
,
g
=
{};
for
(
f
in
b
)
g
[
f
]
=
a
.
style
[
f
],
a
.
style
[
f
]
=
b
[
f
];
e
=
c
.
apply
(
a
,
d
||
[]);
for
(
f
in
b
)
a
.
style
[
f
]
=
g
[
f
];
return
e
};
var
Mb
=
/alpha
\([^
)
]
*
\)
/i
,
Nb
=
/opacity
\s
*=
\s
*
([^
)
]
*
)
/
,
Ob
=
/^
(
none|table
(?!
-c
[
ea
])
.+
)
/
,
Pb
=
new
RegExp
(
"^("
+
S
+
")(.*)$"
,
"i"
),
Qb
=
new
RegExp
(
"^([+-])=("
+
S
+
")"
,
"i"
),
Rb
=
{
position
:
"absolute"
,
visibility
:
"hidden"
,
display
:
"block"
},
Sb
=
{
letterSpacing
:
"0"
,
fontWeight
:
"400"
},
Tb
=
[
"Webkit"
,
"O"
,
"Moz"
,
"ms"
];
function
Ub
(
a
,
b
){
if
(
b
in
a
)
return
b
;
var
c
=
b
.
charAt
(
0
).
toUpperCase
()
+
b
.
slice
(
1
),
d
=
b
,
e
=
Tb
.
length
;
while
(
e
--
)
if
(
b
=
Tb
[
e
]
+
c
,
b
in
a
)
return
b
;
return
d
}
function
Vb
(
a
,
b
){
for
(
var
c
,
d
,
e
,
f
=
[],
g
=
0
,
h
=
a
.
length
;
h
>
g
;
g
++
)
d
=
a
[
g
],
d
.
style
&&
(
f
[
g
]
=
m
.
_data
(
d
,
"olddisplay"
),
c
=
d
.
style
.
display
,
b
?(
f
[
g
]
||
"none"
!==
c
||
(
d
.
style
.
display
=
""
),
""
===
d
.
style
.
display
&&
U
(
d
)
&&
(
f
[
g
]
=
m
.
_data
(
d
,
"olddisplay"
,
Fb
(
d
.
nodeName
)))):(
e
=
U
(
d
),(
c
&&
"none"
!==
c
||!
e
)
&&
m
.
_data
(
d
,
"olddisplay"
,
e
?
c
:
m
.
css
(
d
,
"display"
))));
for
(
g
=
0
;
h
>
g
;
g
++
)
d
=
a
[
g
],
d
.
style
&&
(
b
&&
"none"
!==
d
.
style
.
display
&&
""
!==
d
.
style
.
display
||
(
d
.
style
.
display
=
b
?
f
[
g
]
||
""
:
"none"
));
return
a
}
function
Wb
(
a
,
b
,
c
){
var
d
=
Pb
.
exec
(
b
);
return
d
?
Math
.
max
(
0
,
d
[
1
]
-
(
c
||
0
))
+
(
d
[
2
]
||
"px"
):
b
}
function
Xb
(
a
,
b
,
c
,
d
,
e
){
for
(
var
f
=
c
===
(
d
?
"border"
:
"content"
)?
4
:
"width"
===
b
?
1
:
0
,
g
=
0
;
4
>
f
;
f
+=
2
)
"margin"
===
c
&&
(
g
+=
m
.
css
(
a
,
c
+
T
[
f
],
!
0
,
e
)),
d
?(
"content"
===
c
&&
(
g
-=
m
.
css
(
a
,
"padding"
+
T
[
f
],
!
0
,
e
)),
"margin"
!==
c
&&
(
g
-=
m
.
css
(
a
,
"border"
+
T
[
f
]
+
"Width"
,
!
0
,
e
))):(
g
+=
m
.
css
(
a
,
"padding"
+
T
[
f
],
!
0
,
e
),
"padding"
!==
c
&&
(
g
+=
m
.
css
(
a
,
"border"
+
T
[
f
]
+
"Width"
,
!
0
,
e
)));
return
g
}
function
Yb
(
a
,
b
,
c
){
var
d
=!
0
,
e
=
"width"
===
b
?
a
.
offsetWidth
:
a
.
offsetHeight
,
f
=
Ib
(
a
),
g
=
k
.
boxSizing
&&
"border-box"
===
m
.
css
(
a
,
"boxSizing"
,
!
1
,
f
);
if
(
0
>=
e
||
null
==
e
){
if
(
e
=
Jb
(
a
,
b
,
f
),(
0
>
e
||
null
==
e
)
&&
(
e
=
a
.
style
[
b
]),
Hb
.
test
(
e
))
return
e
;
d
=
g
&&
(
k
.
boxSizingReliable
()
||
e
===
a
.
style
[
b
]),
e
=
parseFloat
(
e
)
||
0
}
return
e
+
Xb
(
a
,
b
,
c
||
(
g
?
"border"
:
"content"
),
d
,
f
)
+
"px"
}
m
.
extend
({
cssHooks
:{
opacity
:{
get
:
function
(
a
,
b
){
if
(
b
){
var
c
=
Jb
(
a
,
"opacity"
);
return
""
===
c
?
"1"
:
c
}}}},
cssNumber
:{
columnCount
:
!
0
,
fillOpacity
:
!
0
,
flexGrow
:
!
0
,
flexShrink
:
!
0
,
fontWeight
:
!
0
,
lineHeight
:
!
0
,
opacity
:
!
0
,
order
:
!
0
,
orphans
:
!
0
,
widows
:
!
0
,
zIndex
:
!
0
,
zoom
:
!
0
},
cssProps
:{
"float"
:
k
.
cssFloat
?
"cssFloat"
:
"styleFloat"
},
style
:
function
(
a
,
b
,
c
,
d
){
if
(
a
&&
3
!==
a
.
nodeType
&&
8
!==
a
.
nodeType
&&
a
.
style
){
var
e
,
f
,
g
,
h
=
m
.
camelCase
(
b
),
i
=
a
.
style
;
if
(
b
=
m
.
cssProps
[
h
]
||
(
m
.
cssProps
[
h
]
=
Ub
(
i
,
h
)),
g
=
m
.
cssHooks
[
b
]
||
m
.
cssHooks
[
h
],
void
0
===
c
)
return
g
&&
"get"
in
g
&&
void
0
!==
(
e
=
g
.
get
(
a
,
!
1
,
d
))?
e
:
i
[
b
];
if
(
f
=
typeof
c
,
"string"
===
f
&&
(
e
=
Qb
.
exec
(
c
))
&&
(
c
=
(
e
[
1
]
+
1
)
*
e
[
2
]
+
parseFloat
(
m
.
css
(
a
,
b
)),
f
=
"number"
),
null
!=
c
&&
c
===
c
&&
(
"number"
!==
f
||
m
.
cssNumber
[
h
]
||
(
c
+=
"px"
),
k
.
clearCloneStyle
||
""
!==
c
||
0
!==
b
.
indexOf
(
"background"
)
||
(
i
[
b
]
=
"inherit"
),
!
(
g
&&
"set"
in
g
&&
void
0
===
(
c
=
g
.
set
(
a
,
c
,
d
)))))
try
{
i
[
b
]
=
c
}
catch
(
j
){}}},
css
:
function
(
a
,
b
,
c
,
d
){
var
e
,
f
,
g
,
h
=
m
.
camelCase
(
b
);
return
b
=
m
.
cssProps
[
h
]
||
(
m
.
cssProps
[
h
]
=
Ub
(
a
.
style
,
h
)),
g
=
m
.
cssHooks
[
b
]
||
m
.
cssHooks
[
h
],
g
&&
"get"
in
g
&&
(
f
=
g
.
get
(
a
,
!
0
,
c
)),
void
0
===
f
&&
(
f
=
Jb
(
a
,
b
,
d
)),
"normal"
===
f
&&
b
in
Sb
&&
(
f
=
Sb
[
b
]),
""
===
c
||
c
?(
e
=
parseFloat
(
f
),
c
===!
0
||
m
.
isNumeric
(
e
)?
e
||
0
:
f
):
f
}}),
m
.
each
([
"height"
,
"width"
],
function
(
a
,
b
){
m
.
cssHooks
[
b
]
=
{
get
:
function
(
a
,
c
,
d
){
return
c
?
Ob
.
test
(
m
.
css
(
a
,
"display"
))
&&
0
===
a
.
offsetWidth
?
m
.
swap
(
a
,
Rb
,
function
(){
return
Yb
(
a
,
b
,
d
)}):
Yb
(
a
,
b
,
d
):
void
0
},
set
:
function
(
a
,
c
,
d
){
var
e
=
d
&&
Ib
(
a
);
return
Wb
(
a
,
c
,
d
?
Xb
(
a
,
b
,
d
,
k
.
boxSizing
&&
"border-box"
===
m
.
css
(
a
,
"boxSizing"
,
!
1
,
e
),
e
):
0
)}}}),
k
.
opacity
||
(
m
.
cssHooks
.
opacity
=
{
get
:
function
(
a
,
b
){
return
Nb
.
test
((
b
&&
a
.
currentStyle
?
a
.
currentStyle
.
filter
:
a
.
style
.
filter
)
||
""
)?.
01
*
parseFloat
(
RegExp
.
$1
)
+
""
:
b
?
"1"
:
""
},
set
:
function
(
a
,
b
){
var
c
=
a
.
style
,
d
=
a
.
currentStyle
,
e
=
m
.
isNumeric
(
b
)?
"alpha(opacity="
+
100
*
b
+
")"
:
""
,
f
=
d
&&
d
.
filter
||
c
.
filter
||
""
;
c
.
zoom
=
1
,(
b
>=
1
||
""
===
b
)
&&
""
===
m
.
trim
(
f
.
replace
(
Mb
,
""
))
&&
c
.
removeAttribute
&&
(
c
.
removeAttribute
(
"filter"
),
""
===
b
||
d
&&!
d
.
filter
)
||
(
c
.
filter
=
Mb
.
test
(
f
)?
f
.
replace
(
Mb
,
e
):
f
+
" "
+
e
)}}),
m
.
cssHooks
.
marginRight
=
Lb
(
k
.
reliableMarginRight
,
function
(
a
,
b
){
return
b
?
m
.
swap
(
a
,{
display
:
"inline-block"
},
Jb
,[
a
,
"marginRight"
]):
void
0
}),
m
.
each
({
margin
:
""
,
padding
:
""
,
border
:
"Width"
},
function
(
a
,
b
){
m
.
cssHooks
[
a
+
b
]
=
{
expand
:
function
(
c
){
for
(
var
d
=
0
,
e
=
{},
f
=
"string"
==
typeof
c
?
c
.
split
(
" "
):[
c
];
4
>
d
;
d
++
)
e
[
a
+
T
[
d
]
+
b
]
=
f
[
d
]
||
f
[
d
-
2
]
||
f
[
0
];
return
e
}},
Gb
.
test
(
a
)
||
(
m
.
cssHooks
[
a
+
b
].
set
=
Wb
)}),
m
.
fn
.
extend
({
css
:
function
(
a
,
b
){
return
V
(
this
,
function
(
a
,
b
,
c
){
var
d
,
e
,
f
=
{},
g
=
0
;
if
(
m
.
isArray
(
b
)){
for
(
d
=
Ib
(
a
),
e
=
b
.
length
;
e
>
g
;
g
++
)
f
[
b
[
g
]]
=
m
.
css
(
a
,
b
[
g
],
!
1
,
d
);
return
f
}
return
void
0
!==
c
?
m
.
style
(
a
,
b
,
c
):
m
.
css
(
a
,
b
)},
a
,
b
,
arguments
.
length
>
1
)},
show
:
function
(){
return
Vb
(
this
,
!
0
)},
hide
:
function
(){
return
Vb
(
this
)},
toggle
:
function
(
a
){
return
"boolean"
==
typeof
a
?
a
?
this
.
show
():
this
.
hide
():
this
.
each
(
function
(){
U
(
this
)?
m
(
this
).
show
():
m
(
this
).
hide
()})}});
function
Zb
(
a
,
b
,
c
,
d
,
e
){
return
new
Zb
.
prototype
.
init
(
a
,
b
,
c
,
d
,
e
)
...
...
dashboard/v3/lib/npm.js
View file @
811058e1
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.
// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.
require
(
'../../js/transition.js'
)
require
(
'../../js/transition.js'
)
require
(
'../../js/alert.js'
)
require
(
'../../js/alert.js'
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment