diff --git a/404.html b/404.html
new file mode 100644
index 00000000..f86e7e06
--- /dev/null
+++ b/404.html
@@ -0,0 +1,232 @@
+
页面没有找到 | 邓先生的博客
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/placeholder b/CNAME
similarity index 100%
rename from placeholder
rename to CNAME
diff --git a/about/index.html b/about/index.html
new file mode 100644
index 00000000..7673b298
--- /dev/null
+++ b/about/index.html
@@ -0,0 +1,279 @@
+关于 | 邓先生的博客
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+坐标在浙,是来搬砖的
+
+闲时更新下博客,水一下
+
+愿望–自驾游
+
+
+
E-Mail:toneydeng@qq.com
+
足迹:
+
\ No newline at end of file
diff --git a/app/css/animate.compat.css b/app/css/animate.compat.css
new file mode 100644
index 00000000..ebe8d556
--- /dev/null
+++ b/app/css/animate.compat.css
@@ -0,0 +1,4385 @@
+@charset "UTF-8";
+
+/*!
+ * animate.css - https://animate.style/
+ * Version - 4.1.0
+ * Licensed under the MIT license - http://opensource.org/licenses/MIT
+ *
+ * Copyright (c) 2020 Animate.css
+ */
+:root {
+ --animate-duration: 1s;
+ --animate-delay: 1s;
+ --animate-repeat: 1
+}
+
+.animated {
+ -webkit-animation-duration: 1s;
+ animation-duration: 1s;
+ -webkit-animation-duration: var(--animate-duration);
+ animation-duration: var(--animate-duration);
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both
+}
+
+.animated.infinite {
+ -webkit-animation-iteration-count: infinite;
+ animation-iteration-count: infinite
+}
+
+.animated.repeat-1 {
+ -webkit-animation-iteration-count: 1;
+ animation-iteration-count: 1;
+ -webkit-animation-iteration-count: var(--animate-repeat);
+ animation-iteration-count: var(--animate-repeat)
+}
+
+.animated.repeat-2 {
+ -webkit-animation-iteration-count: 2;
+ animation-iteration-count: 2;
+ -webkit-animation-iteration-count: calc(var(--animate-repeat)*2);
+ animation-iteration-count: calc(var(--animate-repeat)*2)
+}
+
+.animated.repeat-3 {
+ -webkit-animation-iteration-count: 3;
+ animation-iteration-count: 3;
+ -webkit-animation-iteration-count: calc(var(--animate-repeat)*3);
+ animation-iteration-count: calc(var(--animate-repeat)*3)
+}
+
+.animated.delay-1s {
+ -webkit-animation-delay: 1s;
+ animation-delay: 1s;
+ -webkit-animation-delay: var(--animate-delay);
+ animation-delay: var(--animate-delay)
+}
+
+.animated.delay-2s {
+ -webkit-animation-delay: 2s;
+ animation-delay: 2s;
+ -webkit-animation-delay: calc(var(--animate-delay)*2);
+ animation-delay: calc(var(--animate-delay)*2)
+}
+
+.animated.delay-3s {
+ -webkit-animation-delay: 3s;
+ animation-delay: 3s;
+ -webkit-animation-delay: calc(var(--animate-delay)*3);
+ animation-delay: calc(var(--animate-delay)*3)
+}
+
+.animated.delay-4s {
+ -webkit-animation-delay: 4s;
+ animation-delay: 4s;
+ -webkit-animation-delay: calc(var(--animate-delay)*4);
+ animation-delay: calc(var(--animate-delay)*4)
+}
+
+.animated.delay-5s {
+ -webkit-animation-delay: 5s;
+ animation-delay: 5s;
+ -webkit-animation-delay: calc(var(--animate-delay)*5);
+ animation-delay: calc(var(--animate-delay)*5)
+}
+
+.animated.faster {
+ -webkit-animation-duration: .5s;
+ animation-duration: .5s;
+ -webkit-animation-duration: calc(var(--animate-duration)/2);
+ animation-duration: calc(var(--animate-duration)/2)
+}
+
+.animated.fast {
+ -webkit-animation-duration: .8s;
+ animation-duration: .8s;
+ -webkit-animation-duration: calc(var(--animate-duration)*0.8);
+ animation-duration: calc(var(--animate-duration)*0.8)
+}
+
+.animated.slow {
+ -webkit-animation-duration: 2s;
+ animation-duration: 2s;
+ -webkit-animation-duration: calc(var(--animate-duration)*2);
+ animation-duration: calc(var(--animate-duration)*2)
+}
+
+.animated.slower {
+ -webkit-animation-duration: 3s;
+ animation-duration: 3s;
+ -webkit-animation-duration: calc(var(--animate-duration)*3);
+ animation-duration: calc(var(--animate-duration)*3)
+}
+
+@media (prefers-reduced-motion:reduce),
+print {
+ .animated {
+ -webkit-animation-duration: 1ms !important;
+ animation-duration: 1ms !important;
+ -webkit-transition-duration: 1ms !important;
+ transition-duration: 1ms !important;
+ -webkit-animation-iteration-count: 1 !important;
+ animation-iteration-count: 1 !important
+ }
+
+ .animated[class*=Out] {
+ opacity: 0
+ }
+}
+
+@-webkit-keyframes bounce {
+
+ 0%,
+ 20%,
+ 53%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
+ animation-timing-function: cubic-bezier(.215, .61, .355, 1);
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+
+ 40%,
+ 43% {
+ -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);
+ animation-timing-function: cubic-bezier(.755, .05, .855, .06);
+ -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
+ transform: translate3d(0, -30px, 0) scaleY(1.1)
+ }
+
+ 70% {
+ -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);
+ animation-timing-function: cubic-bezier(.755, .05, .855, .06);
+ -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
+ transform: translate3d(0, -15px, 0) scaleY(1.05)
+ }
+
+ 80% {
+ -webkit-transition-timing-function: cubic-bezier(.215, .61, .355, 1);
+ transition-timing-function: cubic-bezier(.215, .61, .355, 1);
+ -webkit-transform: translateZ(0) scaleY(.95);
+ transform: translateZ(0) scaleY(.95)
+ }
+
+ 90% {
+ -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
+ transform: translate3d(0, -4px, 0) scaleY(1.02)
+ }
+}
+
+@keyframes bounce {
+
+ 0%,
+ 20%,
+ 53%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
+ animation-timing-function: cubic-bezier(.215, .61, .355, 1);
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+
+ 40%,
+ 43% {
+ -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);
+ animation-timing-function: cubic-bezier(.755, .05, .855, .06);
+ -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
+ transform: translate3d(0, -30px, 0) scaleY(1.1)
+ }
+
+ 70% {
+ -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);
+ animation-timing-function: cubic-bezier(.755, .05, .855, .06);
+ -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
+ transform: translate3d(0, -15px, 0) scaleY(1.05)
+ }
+
+ 80% {
+ -webkit-transition-timing-function: cubic-bezier(.215, .61, .355, 1);
+ transition-timing-function: cubic-bezier(.215, .61, .355, 1);
+ -webkit-transform: translateZ(0) scaleY(.95);
+ transform: translateZ(0) scaleY(.95)
+ }
+
+ 90% {
+ -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
+ transform: translate3d(0, -4px, 0) scaleY(1.02)
+ }
+}
+
+.bounce {
+ -webkit-animation-name: bounce;
+ animation-name: bounce;
+ -webkit-transform-origin: center bottom;
+ transform-origin: center bottom
+}
+
+@-webkit-keyframes flash {
+
+ 0%,
+ 50%,
+ to {
+ opacity: 1
+ }
+
+ 25%,
+ 75% {
+ opacity: 0
+ }
+}
+
+@keyframes flash {
+
+ 0%,
+ 50%,
+ to {
+ opacity: 1
+ }
+
+ 25%,
+ 75% {
+ opacity: 0
+ }
+}
+
+.flash {
+ -webkit-animation-name: flash;
+ animation-name: flash
+}
+
+@-webkit-keyframes pulse {
+ 0% {
+ -webkit-transform: scaleX(1);
+ transform: scaleX(1)
+ }
+
+ 50% {
+ -webkit-transform: scale3d(1.05, 1.05, 1.05);
+ transform: scale3d(1.05, 1.05, 1.05)
+ }
+
+ to {
+ -webkit-transform: scaleX(1);
+ transform: scaleX(1)
+ }
+}
+
+@keyframes pulse {
+ 0% {
+ -webkit-transform: scaleX(1);
+ transform: scaleX(1)
+ }
+
+ 50% {
+ -webkit-transform: scale3d(1.05, 1.05, 1.05);
+ transform: scale3d(1.05, 1.05, 1.05)
+ }
+
+ to {
+ -webkit-transform: scaleX(1);
+ transform: scaleX(1)
+ }
+}
+
+.pulse {
+ -webkit-animation-name: pulse;
+ animation-name: pulse;
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out
+}
+
+@-webkit-keyframes rubberBand {
+ 0% {
+ -webkit-transform: scaleX(1);
+ transform: scaleX(1)
+ }
+
+ 30% {
+ -webkit-transform: scale3d(1.25, .75, 1);
+ transform: scale3d(1.25, .75, 1)
+ }
+
+ 40% {
+ -webkit-transform: scale3d(.75, 1.25, 1);
+ transform: scale3d(.75, 1.25, 1)
+ }
+
+ 50% {
+ -webkit-transform: scale3d(1.15, .85, 1);
+ transform: scale3d(1.15, .85, 1)
+ }
+
+ 65% {
+ -webkit-transform: scale3d(.95, 1.05, 1);
+ transform: scale3d(.95, 1.05, 1)
+ }
+
+ 75% {
+ -webkit-transform: scale3d(1.05, .95, 1);
+ transform: scale3d(1.05, .95, 1)
+ }
+
+ to {
+ -webkit-transform: scaleX(1);
+ transform: scaleX(1)
+ }
+}
+
+@keyframes rubberBand {
+ 0% {
+ -webkit-transform: scaleX(1);
+ transform: scaleX(1)
+ }
+
+ 30% {
+ -webkit-transform: scale3d(1.25, .75, 1);
+ transform: scale3d(1.25, .75, 1)
+ }
+
+ 40% {
+ -webkit-transform: scale3d(.75, 1.25, 1);
+ transform: scale3d(.75, 1.25, 1)
+ }
+
+ 50% {
+ -webkit-transform: scale3d(1.15, .85, 1);
+ transform: scale3d(1.15, .85, 1)
+ }
+
+ 65% {
+ -webkit-transform: scale3d(.95, 1.05, 1);
+ transform: scale3d(.95, 1.05, 1)
+ }
+
+ 75% {
+ -webkit-transform: scale3d(1.05, .95, 1);
+ transform: scale3d(1.05, .95, 1)
+ }
+
+ to {
+ -webkit-transform: scaleX(1);
+ transform: scaleX(1)
+ }
+}
+
+.rubberBand {
+ -webkit-animation-name: rubberBand;
+ animation-name: rubberBand
+}
+
+@-webkit-keyframes shakeX {
+
+ 0%,
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+
+ 10%,
+ 30%,
+ 50%,
+ 70%,
+ 90% {
+ -webkit-transform: translate3d(-10px, 0, 0);
+ transform: translate3d(-10px, 0, 0)
+ }
+
+ 20%,
+ 40%,
+ 60%,
+ 80% {
+ -webkit-transform: translate3d(10px, 0, 0);
+ transform: translate3d(10px, 0, 0)
+ }
+}
+
+@keyframes shakeX {
+
+ 0%,
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+
+ 10%,
+ 30%,
+ 50%,
+ 70%,
+ 90% {
+ -webkit-transform: translate3d(-10px, 0, 0);
+ transform: translate3d(-10px, 0, 0)
+ }
+
+ 20%,
+ 40%,
+ 60%,
+ 80% {
+ -webkit-transform: translate3d(10px, 0, 0);
+ transform: translate3d(10px, 0, 0)
+ }
+}
+
+.shakeX {
+ -webkit-animation-name: shakeX;
+ animation-name: shakeX
+}
+
+@-webkit-keyframes shakeY {
+
+ 0%,
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+
+ 10%,
+ 30%,
+ 50%,
+ 70%,
+ 90% {
+ -webkit-transform: translate3d(0, -10px, 0);
+ transform: translate3d(0, -10px, 0)
+ }
+
+ 20%,
+ 40%,
+ 60%,
+ 80% {
+ -webkit-transform: translate3d(0, 10px, 0);
+ transform: translate3d(0, 10px, 0)
+ }
+}
+
+@keyframes shakeY {
+
+ 0%,
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+
+ 10%,
+ 30%,
+ 50%,
+ 70%,
+ 90% {
+ -webkit-transform: translate3d(0, -10px, 0);
+ transform: translate3d(0, -10px, 0)
+ }
+
+ 20%,
+ 40%,
+ 60%,
+ 80% {
+ -webkit-transform: translate3d(0, 10px, 0);
+ transform: translate3d(0, 10px, 0)
+ }
+}
+
+.shakeY {
+ -webkit-animation-name: shakeY;
+ animation-name: shakeY
+}
+
+@-webkit-keyframes headShake {
+ 0% {
+ -webkit-transform: translateX(0);
+ transform: translateX(0)
+ }
+
+ 6.5% {
+ -webkit-transform: translateX(-6px) rotateY(-9deg);
+ transform: translateX(-6px) rotateY(-9deg)
+ }
+
+ 18.5% {
+ -webkit-transform: translateX(5px) rotateY(7deg);
+ transform: translateX(5px) rotateY(7deg)
+ }
+
+ 31.5% {
+ -webkit-transform: translateX(-3px) rotateY(-5deg);
+ transform: translateX(-3px) rotateY(-5deg)
+ }
+
+ 43.5% {
+ -webkit-transform: translateX(2px) rotateY(3deg);
+ transform: translateX(2px) rotateY(3deg)
+ }
+
+ 50% {
+ -webkit-transform: translateX(0);
+ transform: translateX(0)
+ }
+}
+
+@keyframes headShake {
+ 0% {
+ -webkit-transform: translateX(0);
+ transform: translateX(0)
+ }
+
+ 6.5% {
+ -webkit-transform: translateX(-6px) rotateY(-9deg);
+ transform: translateX(-6px) rotateY(-9deg)
+ }
+
+ 18.5% {
+ -webkit-transform: translateX(5px) rotateY(7deg);
+ transform: translateX(5px) rotateY(7deg)
+ }
+
+ 31.5% {
+ -webkit-transform: translateX(-3px) rotateY(-5deg);
+ transform: translateX(-3px) rotateY(-5deg)
+ }
+
+ 43.5% {
+ -webkit-transform: translateX(2px) rotateY(3deg);
+ transform: translateX(2px) rotateY(3deg)
+ }
+
+ 50% {
+ -webkit-transform: translateX(0);
+ transform: translateX(0)
+ }
+}
+
+.headShake {
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+ -webkit-animation-name: headShake;
+ animation-name: headShake
+}
+
+@-webkit-keyframes swing {
+ 20% {
+ -webkit-transform: rotate(15deg);
+ transform: rotate(15deg)
+ }
+
+ 40% {
+ -webkit-transform: rotate(-10deg);
+ transform: rotate(-10deg)
+ }
+
+ 60% {
+ -webkit-transform: rotate(5deg);
+ transform: rotate(5deg)
+ }
+
+ 80% {
+ -webkit-transform: rotate(-5deg);
+ transform: rotate(-5deg)
+ }
+
+ to {
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg)
+ }
+}
+
+@keyframes swing {
+ 20% {
+ -webkit-transform: rotate(15deg);
+ transform: rotate(15deg)
+ }
+
+ 40% {
+ -webkit-transform: rotate(-10deg);
+ transform: rotate(-10deg)
+ }
+
+ 60% {
+ -webkit-transform: rotate(5deg);
+ transform: rotate(5deg)
+ }
+
+ 80% {
+ -webkit-transform: rotate(-5deg);
+ transform: rotate(-5deg)
+ }
+
+ to {
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg)
+ }
+}
+
+.swing {
+ -webkit-transform-origin: top center;
+ transform-origin: top center;
+ -webkit-animation-name: swing;
+ animation-name: swing
+}
+
+@-webkit-keyframes tada {
+ 0% {
+ -webkit-transform: scaleX(1);
+ transform: scaleX(1)
+ }
+
+ 10%,
+ 20% {
+ -webkit-transform: scale3d(.9, .9, .9) rotate(-3deg);
+ transform: scale3d(.9, .9, .9) rotate(-3deg)
+ }
+
+ 30%,
+ 50%,
+ 70%,
+ 90% {
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate(3deg);
+ transform: scale3d(1.1, 1.1, 1.1) rotate(3deg)
+ }
+
+ 40%,
+ 60%,
+ 80% {
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg);
+ transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg)
+ }
+
+ to {
+ -webkit-transform: scaleX(1);
+ transform: scaleX(1)
+ }
+}
+
+@keyframes tada {
+ 0% {
+ -webkit-transform: scaleX(1);
+ transform: scaleX(1)
+ }
+
+ 10%,
+ 20% {
+ -webkit-transform: scale3d(.9, .9, .9) rotate(-3deg);
+ transform: scale3d(.9, .9, .9) rotate(-3deg)
+ }
+
+ 30%,
+ 50%,
+ 70%,
+ 90% {
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate(3deg);
+ transform: scale3d(1.1, 1.1, 1.1) rotate(3deg)
+ }
+
+ 40%,
+ 60%,
+ 80% {
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg);
+ transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg)
+ }
+
+ to {
+ -webkit-transform: scaleX(1);
+ transform: scaleX(1)
+ }
+}
+
+.tada {
+ -webkit-animation-name: tada;
+ animation-name: tada
+}
+
+@-webkit-keyframes wobble {
+ 0% {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+
+ 15% {
+ -webkit-transform: translate3d(-25%, 0, 0) rotate(-5deg);
+ transform: translate3d(-25%, 0, 0) rotate(-5deg)
+ }
+
+ 30% {
+ -webkit-transform: translate3d(20%, 0, 0) rotate(3deg);
+ transform: translate3d(20%, 0, 0) rotate(3deg)
+ }
+
+ 45% {
+ -webkit-transform: translate3d(-15%, 0, 0) rotate(-3deg);
+ transform: translate3d(-15%, 0, 0) rotate(-3deg)
+ }
+
+ 60% {
+ -webkit-transform: translate3d(10%, 0, 0) rotate(2deg);
+ transform: translate3d(10%, 0, 0) rotate(2deg)
+ }
+
+ 75% {
+ -webkit-transform: translate3d(-5%, 0, 0) rotate(-1deg);
+ transform: translate3d(-5%, 0, 0) rotate(-1deg)
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+@keyframes wobble {
+ 0% {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+
+ 15% {
+ -webkit-transform: translate3d(-25%, 0, 0) rotate(-5deg);
+ transform: translate3d(-25%, 0, 0) rotate(-5deg)
+ }
+
+ 30% {
+ -webkit-transform: translate3d(20%, 0, 0) rotate(3deg);
+ transform: translate3d(20%, 0, 0) rotate(3deg)
+ }
+
+ 45% {
+ -webkit-transform: translate3d(-15%, 0, 0) rotate(-3deg);
+ transform: translate3d(-15%, 0, 0) rotate(-3deg)
+ }
+
+ 60% {
+ -webkit-transform: translate3d(10%, 0, 0) rotate(2deg);
+ transform: translate3d(10%, 0, 0) rotate(2deg)
+ }
+
+ 75% {
+ -webkit-transform: translate3d(-5%, 0, 0) rotate(-1deg);
+ transform: translate3d(-5%, 0, 0) rotate(-1deg)
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+.wobble {
+ -webkit-animation-name: wobble;
+ animation-name: wobble
+}
+
+@-webkit-keyframes jello {
+
+ 0%,
+ 11.1%,
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+
+ 22.2% {
+ -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
+ transform: skewX(-12.5deg) skewY(-12.5deg)
+ }
+
+ 33.3% {
+ -webkit-transform: skewX(6.25deg) skewY(6.25deg);
+ transform: skewX(6.25deg) skewY(6.25deg)
+ }
+
+ 44.4% {
+ -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
+ transform: skewX(-3.125deg) skewY(-3.125deg)
+ }
+
+ 55.5% {
+ -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
+ transform: skewX(1.5625deg) skewY(1.5625deg)
+ }
+
+ 66.6% {
+ -webkit-transform: skewX(-.78125deg) skewY(-.78125deg);
+ transform: skewX(-.78125deg) skewY(-.78125deg)
+ }
+
+ 77.7% {
+ -webkit-transform: skewX(.390625deg) skewY(.390625deg);
+ transform: skewX(.390625deg) skewY(.390625deg)
+ }
+
+ 88.8% {
+ -webkit-transform: skewX(-.1953125deg) skewY(-.1953125deg);
+ transform: skewX(-.1953125deg) skewY(-.1953125deg)
+ }
+}
+
+@keyframes jello {
+
+ 0%,
+ 11.1%,
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+
+ 22.2% {
+ -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
+ transform: skewX(-12.5deg) skewY(-12.5deg)
+ }
+
+ 33.3% {
+ -webkit-transform: skewX(6.25deg) skewY(6.25deg);
+ transform: skewX(6.25deg) skewY(6.25deg)
+ }
+
+ 44.4% {
+ -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
+ transform: skewX(-3.125deg) skewY(-3.125deg)
+ }
+
+ 55.5% {
+ -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
+ transform: skewX(1.5625deg) skewY(1.5625deg)
+ }
+
+ 66.6% {
+ -webkit-transform: skewX(-.78125deg) skewY(-.78125deg);
+ transform: skewX(-.78125deg) skewY(-.78125deg)
+ }
+
+ 77.7% {
+ -webkit-transform: skewX(.390625deg) skewY(.390625deg);
+ transform: skewX(.390625deg) skewY(.390625deg)
+ }
+
+ 88.8% {
+ -webkit-transform: skewX(-.1953125deg) skewY(-.1953125deg);
+ transform: skewX(-.1953125deg) skewY(-.1953125deg)
+ }
+}
+
+.jello {
+ -webkit-animation-name: jello;
+ animation-name: jello;
+ -webkit-transform-origin: center;
+ transform-origin: center
+}
+
+@-webkit-keyframes heartBeat {
+ 0% {
+ -webkit-transform: scale(1);
+ transform: scale(1)
+ }
+
+ 14% {
+ -webkit-transform: scale(1.3);
+ transform: scale(1.3)
+ }
+
+ 28% {
+ -webkit-transform: scale(1);
+ transform: scale(1)
+ }
+
+ 42% {
+ -webkit-transform: scale(1.3);
+ transform: scale(1.3)
+ }
+
+ 70% {
+ -webkit-transform: scale(1);
+ transform: scale(1)
+ }
+}
+
+@keyframes heartBeat {
+ 0% {
+ -webkit-transform: scale(1);
+ transform: scale(1)
+ }
+
+ 14% {
+ -webkit-transform: scale(1.3);
+ transform: scale(1.3)
+ }
+
+ 28% {
+ -webkit-transform: scale(1);
+ transform: scale(1)
+ }
+
+ 42% {
+ -webkit-transform: scale(1.3);
+ transform: scale(1.3)
+ }
+
+ 70% {
+ -webkit-transform: scale(1);
+ transform: scale(1)
+ }
+}
+
+.heartBeat {
+ -webkit-animation-name: heartBeat;
+ animation-name: heartBeat;
+ -webkit-animation-duration: 1.3s;
+ animation-duration: 1.3s;
+ -webkit-animation-duration: calc(var(--animate-duration)*1.3);
+ animation-duration: calc(var(--animate-duration)*1.3);
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out
+}
+
+@-webkit-keyframes backInDown {
+ 0% {
+ -webkit-transform: translateY(-1200px) scale(.7);
+ transform: translateY(-1200px) scale(.7);
+ opacity: .7
+ }
+
+ 80% {
+ -webkit-transform: translateY(0) scale(.7);
+ transform: translateY(0) scale(.7);
+ opacity: .7
+ }
+
+ to {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 1
+ }
+}
+
+@keyframes backInDown {
+ 0% {
+ -webkit-transform: translateY(-1200px) scale(.7);
+ transform: translateY(-1200px) scale(.7);
+ opacity: .7
+ }
+
+ 80% {
+ -webkit-transform: translateY(0) scale(.7);
+ transform: translateY(0) scale(.7);
+ opacity: .7
+ }
+
+ to {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 1
+ }
+}
+
+.backInDown {
+ -webkit-animation-name: backInDown;
+ animation-name: backInDown
+}
+
+@-webkit-keyframes backInLeft {
+ 0% {
+ -webkit-transform: translateX(-2000px) scale(.7);
+ transform: translateX(-2000px) scale(.7);
+ opacity: .7
+ }
+
+ 80% {
+ -webkit-transform: translateX(0) scale(.7);
+ transform: translateX(0) scale(.7);
+ opacity: .7
+ }
+
+ to {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 1
+ }
+}
+
+@keyframes backInLeft {
+ 0% {
+ -webkit-transform: translateX(-2000px) scale(.7);
+ transform: translateX(-2000px) scale(.7);
+ opacity: .7
+ }
+
+ 80% {
+ -webkit-transform: translateX(0) scale(.7);
+ transform: translateX(0) scale(.7);
+ opacity: .7
+ }
+
+ to {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 1
+ }
+}
+
+.backInLeft {
+ -webkit-animation-name: backInLeft;
+ animation-name: backInLeft
+}
+
+@-webkit-keyframes backInRight {
+ 0% {
+ -webkit-transform: translateX(2000px) scale(.7);
+ transform: translateX(2000px) scale(.7);
+ opacity: .7
+ }
+
+ 80% {
+ -webkit-transform: translateX(0) scale(.7);
+ transform: translateX(0) scale(.7);
+ opacity: .7
+ }
+
+ to {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 1
+ }
+}
+
+@keyframes backInRight {
+ 0% {
+ -webkit-transform: translateX(2000px) scale(.7);
+ transform: translateX(2000px) scale(.7);
+ opacity: .7
+ }
+
+ 80% {
+ -webkit-transform: translateX(0) scale(.7);
+ transform: translateX(0) scale(.7);
+ opacity: .7
+ }
+
+ to {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 1
+ }
+}
+
+.backInRight {
+ -webkit-animation-name: backInRight;
+ animation-name: backInRight
+}
+
+@-webkit-keyframes backInUp {
+ 0% {
+ -webkit-transform: translateY(1200px) scale(.7);
+ transform: translateY(1200px) scale(.7);
+ opacity: .7
+ }
+
+ 80% {
+ -webkit-transform: translateY(0) scale(.7);
+ transform: translateY(0) scale(.7);
+ opacity: .7
+ }
+
+ to {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 1
+ }
+}
+
+@keyframes backInUp {
+ 0% {
+ -webkit-transform: translateY(1200px) scale(.7);
+ transform: translateY(1200px) scale(.7);
+ opacity: .7
+ }
+
+ 80% {
+ -webkit-transform: translateY(0) scale(.7);
+ transform: translateY(0) scale(.7);
+ opacity: .7
+ }
+
+ to {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 1
+ }
+}
+
+.backInUp {
+ -webkit-animation-name: backInUp;
+ animation-name: backInUp
+}
+
+@-webkit-keyframes backOutDown {
+ 0% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 1
+ }
+
+ 20% {
+ -webkit-transform: translateY(0) scale(.7);
+ transform: translateY(0) scale(.7);
+ opacity: .7
+ }
+
+ to {
+ -webkit-transform: translateY(700px) scale(.7);
+ transform: translateY(700px) scale(.7);
+ opacity: .7
+ }
+}
+
+@keyframes backOutDown {
+ 0% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 1
+ }
+
+ 20% {
+ -webkit-transform: translateY(0) scale(.7);
+ transform: translateY(0) scale(.7);
+ opacity: .7
+ }
+
+ to {
+ -webkit-transform: translateY(700px) scale(.7);
+ transform: translateY(700px) scale(.7);
+ opacity: .7
+ }
+}
+
+.backOutDown {
+ -webkit-animation-name: backOutDown;
+ animation-name: backOutDown
+}
+
+@-webkit-keyframes backOutLeft {
+ 0% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 1
+ }
+
+ 20% {
+ -webkit-transform: translateX(0) scale(.7);
+ transform: translateX(0) scale(.7);
+ opacity: .7
+ }
+
+ to {
+ -webkit-transform: translateX(-2000px) scale(.7);
+ transform: translateX(-2000px) scale(.7);
+ opacity: .7
+ }
+}
+
+@keyframes backOutLeft {
+ 0% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 1
+ }
+
+ 20% {
+ -webkit-transform: translateX(0) scale(.7);
+ transform: translateX(0) scale(.7);
+ opacity: .7
+ }
+
+ to {
+ -webkit-transform: translateX(-2000px) scale(.7);
+ transform: translateX(-2000px) scale(.7);
+ opacity: .7
+ }
+}
+
+.backOutLeft {
+ -webkit-animation-name: backOutLeft;
+ animation-name: backOutLeft
+}
+
+@-webkit-keyframes backOutRight {
+ 0% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 1
+ }
+
+ 20% {
+ -webkit-transform: translateX(0) scale(.7);
+ transform: translateX(0) scale(.7);
+ opacity: .7
+ }
+
+ to {
+ -webkit-transform: translateX(2000px) scale(.7);
+ transform: translateX(2000px) scale(.7);
+ opacity: .7
+ }
+}
+
+@keyframes backOutRight {
+ 0% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 1
+ }
+
+ 20% {
+ -webkit-transform: translateX(0) scale(.7);
+ transform: translateX(0) scale(.7);
+ opacity: .7
+ }
+
+ to {
+ -webkit-transform: translateX(2000px) scale(.7);
+ transform: translateX(2000px) scale(.7);
+ opacity: .7
+ }
+}
+
+.backOutRight {
+ -webkit-animation-name: backOutRight;
+ animation-name: backOutRight
+}
+
+@-webkit-keyframes backOutUp {
+ 0% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 1
+ }
+
+ 20% {
+ -webkit-transform: translateY(0) scale(.7);
+ transform: translateY(0) scale(.7);
+ opacity: .7
+ }
+
+ to {
+ -webkit-transform: translateY(-700px) scale(.7);
+ transform: translateY(-700px) scale(.7);
+ opacity: .7
+ }
+}
+
+@keyframes backOutUp {
+ 0% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 1
+ }
+
+ 20% {
+ -webkit-transform: translateY(0) scale(.7);
+ transform: translateY(0) scale(.7);
+ opacity: .7
+ }
+
+ to {
+ -webkit-transform: translateY(-700px) scale(.7);
+ transform: translateY(-700px) scale(.7);
+ opacity: .7
+ }
+}
+
+.backOutUp {
+ -webkit-animation-name: backOutUp;
+ animation-name: backOutUp
+}
+
+@-webkit-keyframes bounceIn {
+
+ 0%,
+ 20%,
+ 40%,
+ 60%,
+ 80%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
+ animation-timing-function: cubic-bezier(.215, .61, .355, 1)
+ }
+
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale3d(.3, .3, .3);
+ transform: scale3d(.3, .3, .3)
+ }
+
+ 20% {
+ -webkit-transform: scale3d(1.1, 1.1, 1.1);
+ transform: scale3d(1.1, 1.1, 1.1)
+ }
+
+ 40% {
+ -webkit-transform: scale3d(.9, .9, .9);
+ transform: scale3d(.9, .9, .9)
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(1.03, 1.03, 1.03);
+ transform: scale3d(1.03, 1.03, 1.03)
+ }
+
+ 80% {
+ -webkit-transform: scale3d(.97, .97, .97);
+ transform: scale3d(.97, .97, .97)
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: scaleX(1);
+ transform: scaleX(1)
+ }
+}
+
+@keyframes bounceIn {
+
+ 0%,
+ 20%,
+ 40%,
+ 60%,
+ 80%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
+ animation-timing-function: cubic-bezier(.215, .61, .355, 1)
+ }
+
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale3d(.3, .3, .3);
+ transform: scale3d(.3, .3, .3)
+ }
+
+ 20% {
+ -webkit-transform: scale3d(1.1, 1.1, 1.1);
+ transform: scale3d(1.1, 1.1, 1.1)
+ }
+
+ 40% {
+ -webkit-transform: scale3d(.9, .9, .9);
+ transform: scale3d(.9, .9, .9)
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(1.03, 1.03, 1.03);
+ transform: scale3d(1.03, 1.03, 1.03)
+ }
+
+ 80% {
+ -webkit-transform: scale3d(.97, .97, .97);
+ transform: scale3d(.97, .97, .97)
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: scaleX(1);
+ transform: scaleX(1)
+ }
+}
+
+.bounceIn {
+ -webkit-animation-duration: .75s;
+ animation-duration: .75s;
+ -webkit-animation-duration: calc(var(--animate-duration)*0.75);
+ animation-duration: calc(var(--animate-duration)*0.75);
+ -webkit-animation-name: bounceIn;
+ animation-name: bounceIn
+}
+
+@-webkit-keyframes bounceInDown {
+
+ 0%,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
+ animation-timing-function: cubic-bezier(.215, .61, .355, 1)
+ }
+
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);
+ transform: translate3d(0, -3000px, 0) scaleY(3)
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 25px, 0) scaleY(.9);
+ transform: translate3d(0, 25px, 0) scaleY(.9)
+ }
+
+ 75% {
+ -webkit-transform: translate3d(0, -10px, 0) scaleY(.95);
+ transform: translate3d(0, -10px, 0) scaleY(.95)
+ }
+
+ 90% {
+ -webkit-transform: translate3d(0, 5px, 0) scaleY(.985);
+ transform: translate3d(0, 5px, 0) scaleY(.985)
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+@keyframes bounceInDown {
+
+ 0%,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
+ animation-timing-function: cubic-bezier(.215, .61, .355, 1)
+ }
+
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);
+ transform: translate3d(0, -3000px, 0) scaleY(3)
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 25px, 0) scaleY(.9);
+ transform: translate3d(0, 25px, 0) scaleY(.9)
+ }
+
+ 75% {
+ -webkit-transform: translate3d(0, -10px, 0) scaleY(.95);
+ transform: translate3d(0, -10px, 0) scaleY(.95)
+ }
+
+ 90% {
+ -webkit-transform: translate3d(0, 5px, 0) scaleY(.985);
+ transform: translate3d(0, 5px, 0) scaleY(.985)
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+.bounceInDown {
+ -webkit-animation-name: bounceInDown;
+ animation-name: bounceInDown
+}
+
+@-webkit-keyframes bounceInLeft {
+
+ 0%,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
+ animation-timing-function: cubic-bezier(.215, .61, .355, 1)
+ }
+
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
+ transform: translate3d(-3000px, 0, 0) scaleX(3)
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
+ transform: translate3d(25px, 0, 0) scaleX(1)
+ }
+
+ 75% {
+ -webkit-transform: translate3d(-10px, 0, 0) scaleX(.98);
+ transform: translate3d(-10px, 0, 0) scaleX(.98)
+ }
+
+ 90% {
+ -webkit-transform: translate3d(5px, 0, 0) scaleX(.995);
+ transform: translate3d(5px, 0, 0) scaleX(.995)
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+@keyframes bounceInLeft {
+
+ 0%,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
+ animation-timing-function: cubic-bezier(.215, .61, .355, 1)
+ }
+
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
+ transform: translate3d(-3000px, 0, 0) scaleX(3)
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
+ transform: translate3d(25px, 0, 0) scaleX(1)
+ }
+
+ 75% {
+ -webkit-transform: translate3d(-10px, 0, 0) scaleX(.98);
+ transform: translate3d(-10px, 0, 0) scaleX(.98)
+ }
+
+ 90% {
+ -webkit-transform: translate3d(5px, 0, 0) scaleX(.995);
+ transform: translate3d(5px, 0, 0) scaleX(.995)
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+.bounceInLeft {
+ -webkit-animation-name: bounceInLeft;
+ animation-name: bounceInLeft
+}
+
+@-webkit-keyframes bounceInRight {
+
+ 0%,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
+ animation-timing-function: cubic-bezier(.215, .61, .355, 1)
+ }
+
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);
+ transform: translate3d(3000px, 0, 0) scaleX(3)
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
+ transform: translate3d(-25px, 0, 0) scaleX(1)
+ }
+
+ 75% {
+ -webkit-transform: translate3d(10px, 0, 0) scaleX(.98);
+ transform: translate3d(10px, 0, 0) scaleX(.98)
+ }
+
+ 90% {
+ -webkit-transform: translate3d(-5px, 0, 0) scaleX(.995);
+ transform: translate3d(-5px, 0, 0) scaleX(.995)
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+@keyframes bounceInRight {
+
+ 0%,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
+ animation-timing-function: cubic-bezier(.215, .61, .355, 1)
+ }
+
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);
+ transform: translate3d(3000px, 0, 0) scaleX(3)
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
+ transform: translate3d(-25px, 0, 0) scaleX(1)
+ }
+
+ 75% {
+ -webkit-transform: translate3d(10px, 0, 0) scaleX(.98);
+ transform: translate3d(10px, 0, 0) scaleX(.98)
+ }
+
+ 90% {
+ -webkit-transform: translate3d(-5px, 0, 0) scaleX(.995);
+ transform: translate3d(-5px, 0, 0) scaleX(.995)
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+.bounceInRight {
+ -webkit-animation-name: bounceInRight;
+ animation-name: bounceInRight
+}
+
+@-webkit-keyframes bounceInUp {
+
+ 0%,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
+ animation-timing-function: cubic-bezier(.215, .61, .355, 1)
+ }
+
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);
+ transform: translate3d(0, 3000px, 0) scaleY(5)
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, -20px, 0) scaleY(.9);
+ transform: translate3d(0, -20px, 0) scaleY(.9)
+ }
+
+ 75% {
+ -webkit-transform: translate3d(0, 10px, 0) scaleY(.95);
+ transform: translate3d(0, 10px, 0) scaleY(.95)
+ }
+
+ 90% {
+ -webkit-transform: translate3d(0, -5px, 0) scaleY(.985);
+ transform: translate3d(0, -5px, 0) scaleY(.985)
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+@keyframes bounceInUp {
+
+ 0%,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
+ animation-timing-function: cubic-bezier(.215, .61, .355, 1)
+ }
+
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);
+ transform: translate3d(0, 3000px, 0) scaleY(5)
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, -20px, 0) scaleY(.9);
+ transform: translate3d(0, -20px, 0) scaleY(.9)
+ }
+
+ 75% {
+ -webkit-transform: translate3d(0, 10px, 0) scaleY(.95);
+ transform: translate3d(0, 10px, 0) scaleY(.95)
+ }
+
+ 90% {
+ -webkit-transform: translate3d(0, -5px, 0) scaleY(.985);
+ transform: translate3d(0, -5px, 0) scaleY(.985)
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+.bounceInUp {
+ -webkit-animation-name: bounceInUp;
+ animation-name: bounceInUp
+}
+
+@-webkit-keyframes bounceOut {
+ 20% {
+ -webkit-transform: scale3d(.9, .9, .9);
+ transform: scale3d(.9, .9, .9)
+ }
+
+ 50%,
+ 55% {
+ opacity: 1;
+ -webkit-transform: scale3d(1.1, 1.1, 1.1);
+ transform: scale3d(1.1, 1.1, 1.1)
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: scale3d(.3, .3, .3);
+ transform: scale3d(.3, .3, .3)
+ }
+}
+
+@keyframes bounceOut {
+ 20% {
+ -webkit-transform: scale3d(.9, .9, .9);
+ transform: scale3d(.9, .9, .9)
+ }
+
+ 50%,
+ 55% {
+ opacity: 1;
+ -webkit-transform: scale3d(1.1, 1.1, 1.1);
+ transform: scale3d(1.1, 1.1, 1.1)
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: scale3d(.3, .3, .3);
+ transform: scale3d(.3, .3, .3)
+ }
+}
+
+.bounceOut {
+ -webkit-animation-duration: .75s;
+ animation-duration: .75s;
+ -webkit-animation-duration: calc(var(--animate-duration)*0.75);
+ animation-duration: calc(var(--animate-duration)*0.75);
+ -webkit-animation-name: bounceOut;
+ animation-name: bounceOut
+}
+
+@-webkit-keyframes bounceOutDown {
+ 20% {
+ -webkit-transform: translate3d(0, 10px, 0) scaleY(.985);
+ transform: translate3d(0, 10px, 0) scaleY(.985)
+ }
+
+ 40%,
+ 45% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, -20px, 0) scaleY(.9);
+ transform: translate3d(0, -20px, 0) scaleY(.9)
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
+ transform: translate3d(0, 2000px, 0) scaleY(3)
+ }
+}
+
+@keyframes bounceOutDown {
+ 20% {
+ -webkit-transform: translate3d(0, 10px, 0) scaleY(.985);
+ transform: translate3d(0, 10px, 0) scaleY(.985)
+ }
+
+ 40%,
+ 45% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, -20px, 0) scaleY(.9);
+ transform: translate3d(0, -20px, 0) scaleY(.9)
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
+ transform: translate3d(0, 2000px, 0) scaleY(3)
+ }
+}
+
+.bounceOutDown {
+ -webkit-animation-name: bounceOutDown;
+ animation-name: bounceOutDown
+}
+
+@-webkit-keyframes bounceOutLeft {
+ 20% {
+ opacity: 1;
+ -webkit-transform: translate3d(20px, 0, 0) scaleX(.9);
+ transform: translate3d(20px, 0, 0) scaleX(.9)
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
+ transform: translate3d(-2000px, 0, 0) scaleX(2)
+ }
+}
+
+@keyframes bounceOutLeft {
+ 20% {
+ opacity: 1;
+ -webkit-transform: translate3d(20px, 0, 0) scaleX(.9);
+ transform: translate3d(20px, 0, 0) scaleX(.9)
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
+ transform: translate3d(-2000px, 0, 0) scaleX(2)
+ }
+}
+
+.bounceOutLeft {
+ -webkit-animation-name: bounceOutLeft;
+ animation-name: bounceOutLeft
+}
+
+@-webkit-keyframes bounceOutRight {
+ 20% {
+ opacity: 1;
+ -webkit-transform: translate3d(-20px, 0, 0) scaleX(.9);
+ transform: translate3d(-20px, 0, 0) scaleX(.9)
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);
+ transform: translate3d(2000px, 0, 0) scaleX(2)
+ }
+}
+
+@keyframes bounceOutRight {
+ 20% {
+ opacity: 1;
+ -webkit-transform: translate3d(-20px, 0, 0) scaleX(.9);
+ transform: translate3d(-20px, 0, 0) scaleX(.9)
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);
+ transform: translate3d(2000px, 0, 0) scaleX(2)
+ }
+}
+
+.bounceOutRight {
+ -webkit-animation-name: bounceOutRight;
+ animation-name: bounceOutRight
+}
+
+@-webkit-keyframes bounceOutUp {
+ 20% {
+ -webkit-transform: translate3d(0, -10px, 0) scaleY(.985);
+ transform: translate3d(0, -10px, 0) scaleY(.985)
+ }
+
+ 40%,
+ 45% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 20px, 0) scaleY(.9);
+ transform: translate3d(0, 20px, 0) scaleY(.9)
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
+ transform: translate3d(0, -2000px, 0) scaleY(3)
+ }
+}
+
+@keyframes bounceOutUp {
+ 20% {
+ -webkit-transform: translate3d(0, -10px, 0) scaleY(.985);
+ transform: translate3d(0, -10px, 0) scaleY(.985)
+ }
+
+ 40%,
+ 45% {
+ opacity: 1;
+ -webkit-transform: translate3d(0, 20px, 0) scaleY(.9);
+ transform: translate3d(0, 20px, 0) scaleY(.9)
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
+ transform: translate3d(0, -2000px, 0) scaleY(3)
+ }
+}
+
+.bounceOutUp {
+ -webkit-animation-name: bounceOutUp;
+ animation-name: bounceOutUp
+}
+
+@-webkit-keyframes fadeIn {
+ 0% {
+ opacity: 0
+ }
+
+ to {
+ opacity: 1
+ }
+}
+
+@keyframes fadeIn {
+ 0% {
+ opacity: 0
+ }
+
+ to {
+ opacity: 1
+ }
+}
+
+.fadeIn {
+ -webkit-animation-name: fadeIn;
+ animation-name: fadeIn
+}
+
+@-webkit-keyframes fadeInDown {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -100%, 0);
+ transform: translate3d(0, -100%, 0)
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+@keyframes fadeInDown {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -100%, 0);
+ transform: translate3d(0, -100%, 0)
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+.fadeInDown {
+ -webkit-animation-name: fadeInDown;
+ animation-name: fadeInDown
+}
+
+@-webkit-keyframes fadeInDownBig {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -2000px, 0);
+ transform: translate3d(0, -2000px, 0)
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+@keyframes fadeInDownBig {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -2000px, 0);
+ transform: translate3d(0, -2000px, 0)
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+.fadeInDownBig {
+ -webkit-animation-name: fadeInDownBig;
+ animation-name: fadeInDownBig
+}
+
+@-webkit-keyframes fadeInLeft {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0)
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+@keyframes fadeInLeft {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0)
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+.fadeInLeft {
+ -webkit-animation-name: fadeInLeft;
+ animation-name: fadeInLeft
+}
+
+@-webkit-keyframes fadeInLeftBig {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(-2000px, 0, 0);
+ transform: translate3d(-2000px, 0, 0)
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+@keyframes fadeInLeftBig {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(-2000px, 0, 0);
+ transform: translate3d(-2000px, 0, 0)
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+.fadeInLeftBig {
+ -webkit-animation-name: fadeInLeftBig;
+ animation-name: fadeInLeftBig
+}
+
+@-webkit-keyframes fadeInRight {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0)
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+@keyframes fadeInRight {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0)
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+.fadeInRight {
+ -webkit-animation-name: fadeInRight;
+ animation-name: fadeInRight
+}
+
+@-webkit-keyframes fadeInRightBig {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(2000px, 0, 0);
+ transform: translate3d(2000px, 0, 0)
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+@keyframes fadeInRightBig {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(2000px, 0, 0);
+ transform: translate3d(2000px, 0, 0)
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+.fadeInRightBig {
+ -webkit-animation-name: fadeInRightBig;
+ animation-name: fadeInRightBig
+}
+
+@-webkit-keyframes fadeInUp {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0)
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+@keyframes fadeInUp {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0)
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+.fadeInUp {
+ -webkit-animation-name: fadeInUp;
+ animation-name: fadeInUp
+}
+
+@-webkit-keyframes fadeInUpBig {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 2000px, 0);
+ transform: translate3d(0, 2000px, 0)
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+@keyframes fadeInUpBig {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 2000px, 0);
+ transform: translate3d(0, 2000px, 0)
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+.fadeInUpBig {
+ -webkit-animation-name: fadeInUpBig;
+ animation-name: fadeInUpBig
+}
+
+@-webkit-keyframes fadeInTopLeft {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, -100%, 0);
+ transform: translate3d(-100%, -100%, 0)
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+@keyframes fadeInTopLeft {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, -100%, 0);
+ transform: translate3d(-100%, -100%, 0)
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+.fadeInTopLeft {
+ -webkit-animation-name: fadeInTopLeft;
+ animation-name: fadeInTopLeft
+}
+
+@-webkit-keyframes fadeInTopRight {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, -100%, 0);
+ transform: translate3d(100%, -100%, 0)
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+@keyframes fadeInTopRight {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, -100%, 0);
+ transform: translate3d(100%, -100%, 0)
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+.fadeInTopRight {
+ -webkit-animation-name: fadeInTopRight;
+ animation-name: fadeInTopRight
+}
+
+@-webkit-keyframes fadeInBottomLeft {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, 100%, 0);
+ transform: translate3d(-100%, 100%, 0)
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+@keyframes fadeInBottomLeft {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, 100%, 0);
+ transform: translate3d(-100%, 100%, 0)
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+.fadeInBottomLeft {
+ -webkit-animation-name: fadeInBottomLeft;
+ animation-name: fadeInBottomLeft
+}
+
+@-webkit-keyframes fadeInBottomRight {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 100%, 0);
+ transform: translate3d(100%, 100%, 0)
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+@keyframes fadeInBottomRight {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 100%, 0);
+ transform: translate3d(100%, 100%, 0)
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+.fadeInBottomRight {
+ -webkit-animation-name: fadeInBottomRight;
+ animation-name: fadeInBottomRight
+}
+
+@-webkit-keyframes fadeOut {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ opacity: 0
+ }
+}
+
+@keyframes fadeOut {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ opacity: 0
+ }
+}
+
+.fadeOut {
+ -webkit-animation-name: fadeOut;
+ animation-name: fadeOut
+}
+
+@-webkit-keyframes fadeOutDown {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0)
+ }
+}
+
+@keyframes fadeOutDown {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0)
+ }
+}
+
+.fadeOutDown {
+ -webkit-animation-name: fadeOutDown;
+ animation-name: fadeOutDown
+}
+
+@-webkit-keyframes fadeOutDownBig {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 2000px, 0);
+ transform: translate3d(0, 2000px, 0)
+ }
+}
+
+@keyframes fadeOutDownBig {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, 2000px, 0);
+ transform: translate3d(0, 2000px, 0)
+ }
+}
+
+.fadeOutDownBig {
+ -webkit-animation-name: fadeOutDownBig;
+ animation-name: fadeOutDownBig
+}
+
+@-webkit-keyframes fadeOutLeft {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0)
+ }
+}
+
+@keyframes fadeOutLeft {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0)
+ }
+}
+
+.fadeOutLeft {
+ -webkit-animation-name: fadeOutLeft;
+ animation-name: fadeOutLeft
+}
+
+@-webkit-keyframes fadeOutLeftBig {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(-2000px, 0, 0);
+ transform: translate3d(-2000px, 0, 0)
+ }
+}
+
+@keyframes fadeOutLeftBig {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(-2000px, 0, 0);
+ transform: translate3d(-2000px, 0, 0)
+ }
+}
+
+.fadeOutLeftBig {
+ -webkit-animation-name: fadeOutLeftBig;
+ animation-name: fadeOutLeftBig
+}
+
+@-webkit-keyframes fadeOutRight {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0)
+ }
+}
+
+@keyframes fadeOutRight {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0)
+ }
+}
+
+.fadeOutRight {
+ -webkit-animation-name: fadeOutRight;
+ animation-name: fadeOutRight
+}
+
+@-webkit-keyframes fadeOutRightBig {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(2000px, 0, 0);
+ transform: translate3d(2000px, 0, 0)
+ }
+}
+
+@keyframes fadeOutRightBig {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(2000px, 0, 0);
+ transform: translate3d(2000px, 0, 0)
+ }
+}
+
+.fadeOutRightBig {
+ -webkit-animation-name: fadeOutRightBig;
+ animation-name: fadeOutRightBig
+}
+
+@-webkit-keyframes fadeOutUp {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -100%, 0);
+ transform: translate3d(0, -100%, 0)
+ }
+}
+
+@keyframes fadeOutUp {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -100%, 0);
+ transform: translate3d(0, -100%, 0)
+ }
+}
+
+.fadeOutUp {
+ -webkit-animation-name: fadeOutUp;
+ animation-name: fadeOutUp
+}
+
+@-webkit-keyframes fadeOutUpBig {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -2000px, 0);
+ transform: translate3d(0, -2000px, 0)
+ }
+}
+
+@keyframes fadeOutUpBig {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(0, -2000px, 0);
+ transform: translate3d(0, -2000px, 0)
+ }
+}
+
+.fadeOutUpBig {
+ -webkit-animation-name: fadeOutUpBig;
+ animation-name: fadeOutUpBig
+}
+
+@-webkit-keyframes fadeOutTopLeft {
+ 0% {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, -100%, 0);
+ transform: translate3d(-100%, -100%, 0)
+ }
+}
+
+@keyframes fadeOutTopLeft {
+ 0% {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, -100%, 0);
+ transform: translate3d(-100%, -100%, 0)
+ }
+}
+
+.fadeOutTopLeft {
+ -webkit-animation-name: fadeOutTopLeft;
+ animation-name: fadeOutTopLeft
+}
+
+@-webkit-keyframes fadeOutTopRight {
+ 0% {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, -100%, 0);
+ transform: translate3d(100%, -100%, 0)
+ }
+}
+
+@keyframes fadeOutTopRight {
+ 0% {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, -100%, 0);
+ transform: translate3d(100%, -100%, 0)
+ }
+}
+
+.fadeOutTopRight {
+ -webkit-animation-name: fadeOutTopRight;
+ animation-name: fadeOutTopRight
+}
+
+@-webkit-keyframes fadeOutBottomRight {
+ 0% {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 100%, 0);
+ transform: translate3d(100%, 100%, 0)
+ }
+}
+
+@keyframes fadeOutBottomRight {
+ 0% {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 100%, 0);
+ transform: translate3d(100%, 100%, 0)
+ }
+}
+
+.fadeOutBottomRight {
+ -webkit-animation-name: fadeOutBottomRight;
+ animation-name: fadeOutBottomRight
+}
+
+@-webkit-keyframes fadeOutBottomLeft {
+ 0% {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, 100%, 0);
+ transform: translate3d(-100%, 100%, 0)
+ }
+}
+
+@keyframes fadeOutBottomLeft {
+ 0% {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, 100%, 0);
+ transform: translate3d(-100%, 100%, 0)
+ }
+}
+
+.fadeOutBottomLeft {
+ -webkit-animation-name: fadeOutBottomLeft;
+ animation-name: fadeOutBottomLeft
+}
+
+@-webkit-keyframes flip {
+ 0% {
+ -webkit-transform: perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);
+ transform: perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out
+ }
+
+ 40% {
+ -webkit-transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);
+ transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out
+ }
+
+ 50% {
+ -webkit-transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);
+ transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in
+ }
+
+ 80% {
+ -webkit-transform: perspective(400px) scale3d(.95, .95, .95) translateZ(0) rotateY(0deg);
+ transform: perspective(400px) scale3d(.95, .95, .95) translateZ(0) rotateY(0deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in
+ }
+
+ to {
+ -webkit-transform: perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);
+ transform: perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in
+ }
+}
+
+@keyframes flip {
+ 0% {
+ -webkit-transform: perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);
+ transform: perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out
+ }
+
+ 40% {
+ -webkit-transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);
+ transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out
+ }
+
+ 50% {
+ -webkit-transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);
+ transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in
+ }
+
+ 80% {
+ -webkit-transform: perspective(400px) scale3d(.95, .95, .95) translateZ(0) rotateY(0deg);
+ transform: perspective(400px) scale3d(.95, .95, .95) translateZ(0) rotateY(0deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in
+ }
+
+ to {
+ -webkit-transform: perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);
+ transform: perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in
+ }
+}
+
+.animated.flip {
+ -webkit-backface-visibility: visible;
+ backface-visibility: visible;
+ -webkit-animation-name: flip;
+ animation-name: flip
+}
+
+@-webkit-keyframes flipInX {
+ 0% {
+ -webkit-transform: perspective(400px) rotateX(90deg);
+ transform: perspective(400px) rotateX(90deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ opacity: 0
+ }
+
+ 40% {
+ -webkit-transform: perspective(400px) rotateX(-20deg);
+ transform: perspective(400px) rotateX(-20deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in
+ }
+
+ 60% {
+ -webkit-transform: perspective(400px) rotateX(10deg);
+ transform: perspective(400px) rotateX(10deg);
+ opacity: 1
+ }
+
+ 80% {
+ -webkit-transform: perspective(400px) rotateX(-5deg);
+ transform: perspective(400px) rotateX(-5deg)
+ }
+
+ to {
+ -webkit-transform: perspective(400px);
+ transform: perspective(400px)
+ }
+}
+
+@keyframes flipInX {
+ 0% {
+ -webkit-transform: perspective(400px) rotateX(90deg);
+ transform: perspective(400px) rotateX(90deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ opacity: 0
+ }
+
+ 40% {
+ -webkit-transform: perspective(400px) rotateX(-20deg);
+ transform: perspective(400px) rotateX(-20deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in
+ }
+
+ 60% {
+ -webkit-transform: perspective(400px) rotateX(10deg);
+ transform: perspective(400px) rotateX(10deg);
+ opacity: 1
+ }
+
+ 80% {
+ -webkit-transform: perspective(400px) rotateX(-5deg);
+ transform: perspective(400px) rotateX(-5deg)
+ }
+
+ to {
+ -webkit-transform: perspective(400px);
+ transform: perspective(400px)
+ }
+}
+
+.flipInX {
+ -webkit-backface-visibility: visible !important;
+ backface-visibility: visible !important;
+ -webkit-animation-name: flipInX;
+ animation-name: flipInX
+}
+
+@-webkit-keyframes flipInY {
+ 0% {
+ -webkit-transform: perspective(400px) rotateY(90deg);
+ transform: perspective(400px) rotateY(90deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ opacity: 0
+ }
+
+ 40% {
+ -webkit-transform: perspective(400px) rotateY(-20deg);
+ transform: perspective(400px) rotateY(-20deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in
+ }
+
+ 60% {
+ -webkit-transform: perspective(400px) rotateY(10deg);
+ transform: perspective(400px) rotateY(10deg);
+ opacity: 1
+ }
+
+ 80% {
+ -webkit-transform: perspective(400px) rotateY(-5deg);
+ transform: perspective(400px) rotateY(-5deg)
+ }
+
+ to {
+ -webkit-transform: perspective(400px);
+ transform: perspective(400px)
+ }
+}
+
+@keyframes flipInY {
+ 0% {
+ -webkit-transform: perspective(400px) rotateY(90deg);
+ transform: perspective(400px) rotateY(90deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ opacity: 0
+ }
+
+ 40% {
+ -webkit-transform: perspective(400px) rotateY(-20deg);
+ transform: perspective(400px) rotateY(-20deg);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in
+ }
+
+ 60% {
+ -webkit-transform: perspective(400px) rotateY(10deg);
+ transform: perspective(400px) rotateY(10deg);
+ opacity: 1
+ }
+
+ 80% {
+ -webkit-transform: perspective(400px) rotateY(-5deg);
+ transform: perspective(400px) rotateY(-5deg)
+ }
+
+ to {
+ -webkit-transform: perspective(400px);
+ transform: perspective(400px)
+ }
+}
+
+.flipInY {
+ -webkit-backface-visibility: visible !important;
+ backface-visibility: visible !important;
+ -webkit-animation-name: flipInY;
+ animation-name: flipInY
+}
+
+@-webkit-keyframes flipOutX {
+ 0% {
+ -webkit-transform: perspective(400px);
+ transform: perspective(400px)
+ }
+
+ 30% {
+ -webkit-transform: perspective(400px) rotateX(-20deg);
+ transform: perspective(400px) rotateX(-20deg);
+ opacity: 1
+ }
+
+ to {
+ -webkit-transform: perspective(400px) rotateX(90deg);
+ transform: perspective(400px) rotateX(90deg);
+ opacity: 0
+ }
+}
+
+@keyframes flipOutX {
+ 0% {
+ -webkit-transform: perspective(400px);
+ transform: perspective(400px)
+ }
+
+ 30% {
+ -webkit-transform: perspective(400px) rotateX(-20deg);
+ transform: perspective(400px) rotateX(-20deg);
+ opacity: 1
+ }
+
+ to {
+ -webkit-transform: perspective(400px) rotateX(90deg);
+ transform: perspective(400px) rotateX(90deg);
+ opacity: 0
+ }
+}
+
+.flipOutX {
+ -webkit-animation-duration: .75s;
+ animation-duration: .75s;
+ -webkit-animation-duration: calc(var(--animate-duration)*0.75);
+ animation-duration: calc(var(--animate-duration)*0.75);
+ -webkit-animation-name: flipOutX;
+ animation-name: flipOutX;
+ -webkit-backface-visibility: visible !important;
+ backface-visibility: visible !important
+}
+
+@-webkit-keyframes flipOutY {
+ 0% {
+ -webkit-transform: perspective(400px);
+ transform: perspective(400px)
+ }
+
+ 30% {
+ -webkit-transform: perspective(400px) rotateY(-15deg);
+ transform: perspective(400px) rotateY(-15deg);
+ opacity: 1
+ }
+
+ to {
+ -webkit-transform: perspective(400px) rotateY(90deg);
+ transform: perspective(400px) rotateY(90deg);
+ opacity: 0
+ }
+}
+
+@keyframes flipOutY {
+ 0% {
+ -webkit-transform: perspective(400px);
+ transform: perspective(400px)
+ }
+
+ 30% {
+ -webkit-transform: perspective(400px) rotateY(-15deg);
+ transform: perspective(400px) rotateY(-15deg);
+ opacity: 1
+ }
+
+ to {
+ -webkit-transform: perspective(400px) rotateY(90deg);
+ transform: perspective(400px) rotateY(90deg);
+ opacity: 0
+ }
+}
+
+.flipOutY {
+ -webkit-animation-duration: .75s;
+ animation-duration: .75s;
+ -webkit-animation-duration: calc(var(--animate-duration)*0.75);
+ animation-duration: calc(var(--animate-duration)*0.75);
+ -webkit-backface-visibility: visible !important;
+ backface-visibility: visible !important;
+ -webkit-animation-name: flipOutY;
+ animation-name: flipOutY
+}
+
+@-webkit-keyframes lightSpeedInRight {
+ 0% {
+ -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
+ transform: translate3d(100%, 0, 0) skewX(-30deg);
+ opacity: 0
+ }
+
+ 60% {
+ -webkit-transform: skewX(20deg);
+ transform: skewX(20deg);
+ opacity: 1
+ }
+
+ 80% {
+ -webkit-transform: skewX(-5deg);
+ transform: skewX(-5deg)
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+@keyframes lightSpeedInRight {
+ 0% {
+ -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
+ transform: translate3d(100%, 0, 0) skewX(-30deg);
+ opacity: 0
+ }
+
+ 60% {
+ -webkit-transform: skewX(20deg);
+ transform: skewX(20deg);
+ opacity: 1
+ }
+
+ 80% {
+ -webkit-transform: skewX(-5deg);
+ transform: skewX(-5deg)
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+.lightSpeedInRight {
+ -webkit-animation-name: lightSpeedInRight;
+ animation-name: lightSpeedInRight;
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out
+}
+
+@-webkit-keyframes lightSpeedInLeft {
+ 0% {
+ -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);
+ transform: translate3d(-100%, 0, 0) skewX(30deg);
+ opacity: 0
+ }
+
+ 60% {
+ -webkit-transform: skewX(-20deg);
+ transform: skewX(-20deg);
+ opacity: 1
+ }
+
+ 80% {
+ -webkit-transform: skewX(5deg);
+ transform: skewX(5deg)
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+@keyframes lightSpeedInLeft {
+ 0% {
+ -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);
+ transform: translate3d(-100%, 0, 0) skewX(30deg);
+ opacity: 0
+ }
+
+ 60% {
+ -webkit-transform: skewX(-20deg);
+ transform: skewX(-20deg);
+ opacity: 1
+ }
+
+ 80% {
+ -webkit-transform: skewX(5deg);
+ transform: skewX(5deg)
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+.lightSpeedInLeft {
+ -webkit-animation-name: lightSpeedInLeft;
+ animation-name: lightSpeedInLeft;
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out
+}
+
+@-webkit-keyframes lightSpeedOutRight {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
+ transform: translate3d(100%, 0, 0) skewX(30deg);
+ opacity: 0
+ }
+}
+
+@keyframes lightSpeedOutRight {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
+ transform: translate3d(100%, 0, 0) skewX(30deg);
+ opacity: 0
+ }
+}
+
+.lightSpeedOutRight {
+ -webkit-animation-name: lightSpeedOutRight;
+ animation-name: lightSpeedOutRight;
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in
+}
+
+@-webkit-keyframes lightSpeedOutLeft {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
+ transform: translate3d(-100%, 0, 0) skewX(-30deg);
+ opacity: 0
+ }
+}
+
+@keyframes lightSpeedOutLeft {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
+ transform: translate3d(-100%, 0, 0) skewX(-30deg);
+ opacity: 0
+ }
+}
+
+.lightSpeedOutLeft {
+ -webkit-animation-name: lightSpeedOutLeft;
+ animation-name: lightSpeedOutLeft;
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in
+}
+
+@-webkit-keyframes rotateIn {
+ 0% {
+ -webkit-transform: rotate(-200deg);
+ transform: rotate(-200deg);
+ opacity: 0
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0);
+ opacity: 1
+ }
+}
+
+@keyframes rotateIn {
+ 0% {
+ -webkit-transform: rotate(-200deg);
+ transform: rotate(-200deg);
+ opacity: 0
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0);
+ opacity: 1
+ }
+}
+
+.rotateIn {
+ -webkit-animation-name: rotateIn;
+ animation-name: rotateIn;
+ -webkit-transform-origin: center;
+ transform-origin: center
+}
+
+@-webkit-keyframes rotateInDownLeft {
+ 0% {
+ -webkit-transform: rotate(-45deg);
+ transform: rotate(-45deg);
+ opacity: 0
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0);
+ opacity: 1
+ }
+}
+
+@keyframes rotateInDownLeft {
+ 0% {
+ -webkit-transform: rotate(-45deg);
+ transform: rotate(-45deg);
+ opacity: 0
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0);
+ opacity: 1
+ }
+}
+
+.rotateInDownLeft {
+ -webkit-animation-name: rotateInDownLeft;
+ animation-name: rotateInDownLeft;
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom
+}
+
+@-webkit-keyframes rotateInDownRight {
+ 0% {
+ -webkit-transform: rotate(45deg);
+ transform: rotate(45deg);
+ opacity: 0
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0);
+ opacity: 1
+ }
+}
+
+@keyframes rotateInDownRight {
+ 0% {
+ -webkit-transform: rotate(45deg);
+ transform: rotate(45deg);
+ opacity: 0
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0);
+ opacity: 1
+ }
+}
+
+.rotateInDownRight {
+ -webkit-animation-name: rotateInDownRight;
+ animation-name: rotateInDownRight;
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom
+}
+
+@-webkit-keyframes rotateInUpLeft {
+ 0% {
+ -webkit-transform: rotate(45deg);
+ transform: rotate(45deg);
+ opacity: 0
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0);
+ opacity: 1
+ }
+}
+
+@keyframes rotateInUpLeft {
+ 0% {
+ -webkit-transform: rotate(45deg);
+ transform: rotate(45deg);
+ opacity: 0
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0);
+ opacity: 1
+ }
+}
+
+.rotateInUpLeft {
+ -webkit-animation-name: rotateInUpLeft;
+ animation-name: rotateInUpLeft;
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom
+}
+
+@-webkit-keyframes rotateInUpRight {
+ 0% {
+ -webkit-transform: rotate(-90deg);
+ transform: rotate(-90deg);
+ opacity: 0
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0);
+ opacity: 1
+ }
+}
+
+@keyframes rotateInUpRight {
+ 0% {
+ -webkit-transform: rotate(-90deg);
+ transform: rotate(-90deg);
+ opacity: 0
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0);
+ opacity: 1
+ }
+}
+
+.rotateInUpRight {
+ -webkit-animation-name: rotateInUpRight;
+ animation-name: rotateInUpRight;
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom
+}
+
+@-webkit-keyframes rotateOut {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ -webkit-transform: rotate(200deg);
+ transform: rotate(200deg);
+ opacity: 0
+ }
+}
+
+@keyframes rotateOut {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ -webkit-transform: rotate(200deg);
+ transform: rotate(200deg);
+ opacity: 0
+ }
+}
+
+.rotateOut {
+ -webkit-animation-name: rotateOut;
+ animation-name: rotateOut;
+ -webkit-transform-origin: center;
+ transform-origin: center
+}
+
+@-webkit-keyframes rotateOutDownLeft {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ -webkit-transform: rotate(45deg);
+ transform: rotate(45deg);
+ opacity: 0
+ }
+}
+
+@keyframes rotateOutDownLeft {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ -webkit-transform: rotate(45deg);
+ transform: rotate(45deg);
+ opacity: 0
+ }
+}
+
+.rotateOutDownLeft {
+ -webkit-animation-name: rotateOutDownLeft;
+ animation-name: rotateOutDownLeft;
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom
+}
+
+@-webkit-keyframes rotateOutDownRight {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ -webkit-transform: rotate(-45deg);
+ transform: rotate(-45deg);
+ opacity: 0
+ }
+}
+
+@keyframes rotateOutDownRight {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ -webkit-transform: rotate(-45deg);
+ transform: rotate(-45deg);
+ opacity: 0
+ }
+}
+
+.rotateOutDownRight {
+ -webkit-animation-name: rotateOutDownRight;
+ animation-name: rotateOutDownRight;
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom
+}
+
+@-webkit-keyframes rotateOutUpLeft {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ -webkit-transform: rotate(-45deg);
+ transform: rotate(-45deg);
+ opacity: 0
+ }
+}
+
+@keyframes rotateOutUpLeft {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ -webkit-transform: rotate(-45deg);
+ transform: rotate(-45deg);
+ opacity: 0
+ }
+}
+
+.rotateOutUpLeft {
+ -webkit-animation-name: rotateOutUpLeft;
+ animation-name: rotateOutUpLeft;
+ -webkit-transform-origin: left bottom;
+ transform-origin: left bottom
+}
+
+@-webkit-keyframes rotateOutUpRight {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ -webkit-transform: rotate(90deg);
+ transform: rotate(90deg);
+ opacity: 0
+ }
+}
+
+@keyframes rotateOutUpRight {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ -webkit-transform: rotate(90deg);
+ transform: rotate(90deg);
+ opacity: 0
+ }
+}
+
+.rotateOutUpRight {
+ -webkit-animation-name: rotateOutUpRight;
+ animation-name: rotateOutUpRight;
+ -webkit-transform-origin: right bottom;
+ transform-origin: right bottom
+}
+
+@-webkit-keyframes hinge {
+ 0% {
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out
+ }
+
+ 20%,
+ 60% {
+ -webkit-transform: rotate(80deg);
+ transform: rotate(80deg);
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out
+ }
+
+ 40%,
+ 80% {
+ -webkit-transform: rotate(60deg);
+ transform: rotate(60deg);
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+ opacity: 1
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 700px, 0);
+ transform: translate3d(0, 700px, 0);
+ opacity: 0
+ }
+}
+
+@keyframes hinge {
+ 0% {
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out
+ }
+
+ 20%,
+ 60% {
+ -webkit-transform: rotate(80deg);
+ transform: rotate(80deg);
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out
+ }
+
+ 40%,
+ 80% {
+ -webkit-transform: rotate(60deg);
+ transform: rotate(60deg);
+ -webkit-animation-timing-function: ease-in-out;
+ animation-timing-function: ease-in-out;
+ opacity: 1
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 700px, 0);
+ transform: translate3d(0, 700px, 0);
+ opacity: 0
+ }
+}
+
+.hinge {
+ -webkit-animation-duration: 2s;
+ animation-duration: 2s;
+ -webkit-animation-duration: calc(var(--animate-duration)*2);
+ animation-duration: calc(var(--animate-duration)*2);
+ -webkit-animation-name: hinge;
+ animation-name: hinge;
+ -webkit-transform-origin: top left;
+ transform-origin: top left
+}
+
+@-webkit-keyframes jackInTheBox {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale(.1) rotate(30deg);
+ transform: scale(.1) rotate(30deg);
+ -webkit-transform-origin: center bottom;
+ transform-origin: center bottom
+ }
+
+ 50% {
+ -webkit-transform: rotate(-10deg);
+ transform: rotate(-10deg)
+ }
+
+ 70% {
+ -webkit-transform: rotate(3deg);
+ transform: rotate(3deg)
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: scale(1);
+ transform: scale(1)
+ }
+}
+
+@keyframes jackInTheBox {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale(.1) rotate(30deg);
+ transform: scale(.1) rotate(30deg);
+ -webkit-transform-origin: center bottom;
+ transform-origin: center bottom
+ }
+
+ 50% {
+ -webkit-transform: rotate(-10deg);
+ transform: rotate(-10deg)
+ }
+
+ 70% {
+ -webkit-transform: rotate(3deg);
+ transform: rotate(3deg)
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: scale(1);
+ transform: scale(1)
+ }
+}
+
+.jackInTheBox {
+ -webkit-animation-name: jackInTheBox;
+ animation-name: jackInTheBox
+}
+
+@-webkit-keyframes rollIn {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, 0, 0) rotate(-120deg);
+ transform: translate3d(-100%, 0, 0) rotate(-120deg)
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+@keyframes rollIn {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translate3d(-100%, 0, 0) rotate(-120deg);
+ transform: translate3d(-100%, 0, 0) rotate(-120deg)
+ }
+
+ to {
+ opacity: 1;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+.rollIn {
+ -webkit-animation-name: rollIn;
+ animation-name: rollIn
+}
+
+@-webkit-keyframes rollOut {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 0, 0) rotate(120deg);
+ transform: translate3d(100%, 0, 0) rotate(120deg)
+ }
+}
+
+@keyframes rollOut {
+ 0% {
+ opacity: 1
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: translate3d(100%, 0, 0) rotate(120deg);
+ transform: translate3d(100%, 0, 0) rotate(120deg)
+ }
+}
+
+.rollOut {
+ -webkit-animation-name: rollOut;
+ animation-name: rollOut
+}
+
+@-webkit-keyframes zoomIn {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale3d(.3, .3, .3);
+ transform: scale3d(.3, .3, .3)
+ }
+
+ 50% {
+ opacity: 1
+ }
+}
+
+@keyframes zoomIn {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale3d(.3, .3, .3);
+ transform: scale3d(.3, .3, .3)
+ }
+
+ 50% {
+ opacity: 1
+ }
+}
+
+.zoomIn {
+ -webkit-animation-name: zoomIn;
+ animation-name: zoomIn
+}
+
+@-webkit-keyframes zoomInDown {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
+ transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
+ -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
+ animation-timing-function: cubic-bezier(.55, .055, .675, .19)
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
+ transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
+ animation-timing-function: cubic-bezier(.175, .885, .32, 1)
+ }
+}
+
+@keyframes zoomInDown {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
+ transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
+ -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
+ animation-timing-function: cubic-bezier(.55, .055, .675, .19)
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
+ transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
+ animation-timing-function: cubic-bezier(.175, .885, .32, 1)
+ }
+}
+
+.zoomInDown {
+ -webkit-animation-name: zoomInDown;
+ animation-name: zoomInDown
+}
+
+@-webkit-keyframes zoomInLeft {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
+ transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
+ animation-timing-function: cubic-bezier(.55, .055, .675, .19)
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
+ transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
+ animation-timing-function: cubic-bezier(.175, .885, .32, 1)
+ }
+}
+
+@keyframes zoomInLeft {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
+ transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
+ animation-timing-function: cubic-bezier(.55, .055, .675, .19)
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
+ transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
+ animation-timing-function: cubic-bezier(.175, .885, .32, 1)
+ }
+}
+
+.zoomInLeft {
+ -webkit-animation-name: zoomInLeft;
+ animation-name: zoomInLeft
+}
+
+@-webkit-keyframes zoomInRight {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
+ transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
+ animation-timing-function: cubic-bezier(.55, .055, .675, .19)
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
+ transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
+ animation-timing-function: cubic-bezier(.175, .885, .32, 1)
+ }
+}
+
+@keyframes zoomInRight {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
+ transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
+ animation-timing-function: cubic-bezier(.55, .055, .675, .19)
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
+ transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
+ -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
+ animation-timing-function: cubic-bezier(.175, .885, .32, 1)
+ }
+}
+
+.zoomInRight {
+ -webkit-animation-name: zoomInRight;
+ animation-name: zoomInRight
+}
+
+@-webkit-keyframes zoomInUp {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
+ transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
+ -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
+ animation-timing-function: cubic-bezier(.55, .055, .675, .19)
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
+ transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
+ animation-timing-function: cubic-bezier(.175, .885, .32, 1)
+ }
+}
+
+@keyframes zoomInUp {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
+ transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
+ -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
+ animation-timing-function: cubic-bezier(.55, .055, .675, .19)
+ }
+
+ 60% {
+ opacity: 1;
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
+ transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
+ animation-timing-function: cubic-bezier(.175, .885, .32, 1)
+ }
+}
+
+.zoomInUp {
+ -webkit-animation-name: zoomInUp;
+ animation-name: zoomInUp
+}
+
+@-webkit-keyframes zoomOut {
+ 0% {
+ opacity: 1
+ }
+
+ 50% {
+ opacity: 0;
+ -webkit-transform: scale3d(.3, .3, .3);
+ transform: scale3d(.3, .3, .3)
+ }
+
+ to {
+ opacity: 0
+ }
+}
+
+@keyframes zoomOut {
+ 0% {
+ opacity: 1
+ }
+
+ 50% {
+ opacity: 0;
+ -webkit-transform: scale3d(.3, .3, .3);
+ transform: scale3d(.3, .3, .3)
+ }
+
+ to {
+ opacity: 0
+ }
+}
+
+.zoomOut {
+ -webkit-animation-name: zoomOut;
+ animation-name: zoomOut
+}
+
+@-webkit-keyframes zoomOutDown {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
+ transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
+ animation-timing-function: cubic-bezier(.55, .055, .675, .19)
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
+ transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
+ -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
+ animation-timing-function: cubic-bezier(.175, .885, .32, 1)
+ }
+}
+
+@keyframes zoomOutDown {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
+ transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
+ animation-timing-function: cubic-bezier(.55, .055, .675, .19)
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
+ transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
+ -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
+ animation-timing-function: cubic-bezier(.175, .885, .32, 1)
+ }
+}
+
+.zoomOutDown {
+ -webkit-animation-name: zoomOutDown;
+ animation-name: zoomOutDown;
+ -webkit-transform-origin: center bottom;
+ transform-origin: center bottom
+}
+
+@-webkit-keyframes zoomOutLeft {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
+ transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0)
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
+ transform: scale(.1) translate3d(-2000px, 0, 0)
+ }
+}
+
+@keyframes zoomOutLeft {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
+ transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0)
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
+ transform: scale(.1) translate3d(-2000px, 0, 0)
+ }
+}
+
+.zoomOutLeft {
+ -webkit-animation-name: zoomOutLeft;
+ animation-name: zoomOutLeft;
+ -webkit-transform-origin: left center;
+ transform-origin: left center
+}
+
+@-webkit-keyframes zoomOutRight {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
+ transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0)
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: scale(.1) translate3d(2000px, 0, 0);
+ transform: scale(.1) translate3d(2000px, 0, 0)
+ }
+}
+
+@keyframes zoomOutRight {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
+ transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0)
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: scale(.1) translate3d(2000px, 0, 0);
+ transform: scale(.1) translate3d(2000px, 0, 0)
+ }
+}
+
+.zoomOutRight {
+ -webkit-animation-name: zoomOutRight;
+ animation-name: zoomOutRight;
+ -webkit-transform-origin: right center;
+ transform-origin: right center
+}
+
+@-webkit-keyframes zoomOutUp {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
+ transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
+ animation-timing-function: cubic-bezier(.55, .055, .675, .19)
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
+ transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
+ -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
+ animation-timing-function: cubic-bezier(.175, .885, .32, 1)
+ }
+}
+
+@keyframes zoomOutUp {
+ 40% {
+ opacity: 1;
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
+ transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
+ -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
+ animation-timing-function: cubic-bezier(.55, .055, .675, .19)
+ }
+
+ to {
+ opacity: 0;
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
+ transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
+ -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
+ animation-timing-function: cubic-bezier(.175, .885, .32, 1)
+ }
+}
+
+.zoomOutUp {
+ -webkit-animation-name: zoomOutUp;
+ animation-name: zoomOutUp;
+ -webkit-transform-origin: center bottom;
+ transform-origin: center bottom
+}
+
+@-webkit-keyframes slideInDown {
+ 0% {
+ -webkit-transform: translate3d(0, -100%, 0);
+ transform: translate3d(0, -100%, 0);
+ visibility: visible
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+@keyframes slideInDown {
+ 0% {
+ -webkit-transform: translate3d(0, -100%, 0);
+ transform: translate3d(0, -100%, 0);
+ visibility: visible
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+.slideInDown {
+ -webkit-animation-name: slideInDown;
+ animation-name: slideInDown
+}
+
+@-webkit-keyframes slideInLeft {
+ 0% {
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+ visibility: visible
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+@keyframes slideInLeft {
+ 0% {
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+ visibility: visible
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+.slideInLeft {
+ -webkit-animation-name: slideInLeft;
+ animation-name: slideInLeft
+}
+
+@-webkit-keyframes slideInRight {
+ 0% {
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+ visibility: visible
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+@keyframes slideInRight {
+ 0% {
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+ visibility: visible
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+.slideInRight {
+ -webkit-animation-name: slideInRight;
+ animation-name: slideInRight
+}
+
+@-webkit-keyframes slideInUp {
+ 0% {
+ -webkit-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0);
+ visibility: visible
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+@keyframes slideInUp {
+ 0% {
+ -webkit-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0);
+ visibility: visible
+ }
+
+ to {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+}
+
+.slideInUp {
+ -webkit-animation-name: slideInUp;
+ animation-name: slideInUp
+}
+
+@-webkit-keyframes slideOutDown {
+ 0% {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+
+ to {
+ visibility: hidden;
+ -webkit-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0)
+ }
+}
+
+@keyframes slideOutDown {
+ 0% {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+
+ to {
+ visibility: hidden;
+ -webkit-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0)
+ }
+}
+
+.slideOutDown {
+ -webkit-animation-name: slideOutDown;
+ animation-name: slideOutDown
+}
+
+@-webkit-keyframes slideOutLeft {
+ 0% {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+
+ to {
+ visibility: hidden;
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0)
+ }
+}
+
+@keyframes slideOutLeft {
+ 0% {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+
+ to {
+ visibility: hidden;
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0)
+ }
+}
+
+.slideOutLeft {
+ -webkit-animation-name: slideOutLeft;
+ animation-name: slideOutLeft
+}
+
+@-webkit-keyframes slideOutRight {
+ 0% {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+
+ to {
+ visibility: hidden;
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0)
+ }
+}
+
+@keyframes slideOutRight {
+ 0% {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+
+ to {
+ visibility: hidden;
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0)
+ }
+}
+
+.slideOutRight {
+ -webkit-animation-name: slideOutRight;
+ animation-name: slideOutRight
+}
+
+@-webkit-keyframes slideOutUp {
+ 0% {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+
+ to {
+ visibility: hidden;
+ -webkit-transform: translate3d(0, -100%, 0);
+ transform: translate3d(0, -100%, 0)
+ }
+}
+
+@keyframes slideOutUp {
+ 0% {
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0)
+ }
+
+ to {
+ visibility: hidden;
+ -webkit-transform: translate3d(0, -100%, 0);
+ transform: translate3d(0, -100%, 0)
+ }
+}
+
+.slideOutUp {
+ -webkit-animation-name: slideOutUp;
+ animation-name: slideOutUp
+}
diff --git a/app/css/index.css b/app/css/index.css
new file mode 100644
index 00000000..6d1eaa8e
--- /dev/null
+++ b/app/css/index.css
@@ -0,0 +1,309 @@
+* {
+ margin: 0;
+ padding: 0;
+ }
+
+ HTML,
+ body,
+ div,
+ h1,
+ h2,
+ h3,
+ h4,
+ h5,
+ h6,
+ ul,
+ ol,
+ dl,
+ li,
+ dt,
+ dd,
+ p,
+ blockquote,
+ pre,
+ form,
+ fieldset,
+ table,
+ th,
+ td {
+ border: none;
+ font-family: "微软雅黑", "黑体", "宋体";
+ font-size: 14px;
+ margin: 0px;
+ padding: 0px;
+ }
+
+ html,
+ body {
+ height: 100%;
+ width: 100%;
+ }
+
+ address,
+ caption,
+ cite,
+ code,
+ dfn,
+ em,
+ strong,
+ th,
+ var {
+ font-style: normal;
+ font-weight: normal;
+ }
+
+ a {
+ text-decoration: none;
+ }
+
+ a:link {
+ color: #fff;
+ }
+
+ a:visited {
+ color: #fff;
+ }
+
+ a:hover {
+ color: #fff;
+ }
+
+ a:active {
+ color: #fff;
+ }
+
+ input::-ms-clear {
+ display: none;
+ }
+
+ input::-ms-reveal {
+ display: none;
+ }
+
+ input {
+ -webkit-appearance: none;
+ margin: 0;
+ outline: none;
+ padding: 0;
+ }
+
+ input::-webkit-input-placeholder {
+ color: #ccc;
+ }
+
+ input::-ms-input-placeholder {
+ color: #ccc;
+ }
+
+ input::-moz-placeholder {
+ color: #ccc;
+ }
+
+ input[type=submit],
+ input[type=button] {
+ cursor: pointer;
+ }
+
+ button[disabled],
+ input[disabled] {
+ cursor: default;
+ }
+
+ img {
+ border: none;
+ }
+
+ ul,
+ ol,
+ li {
+ list-style-type: none;
+ }
+
+ /*公共方法*/
+ .clear {
+ clear: both;
+ }
+
+ .clearleft {
+ clear: left;
+ }
+
+ .clearright {
+ clear: right;
+ }
+
+ .floatleft {
+ float: left;
+ }
+
+ .floatright {
+ float: right;
+ }
+
+ .cursor {
+ cursor: pointer;
+ }
+
+ /*背景及色值表*/
+ .bg000 {
+ background: #000;
+ }
+
+ .color000 {
+ color: #000;
+ }
+body {
+ background-image: linear-gradient(to left, rgba(255, 0, 149, 0.2), rgba(0, 247, 255, 0.2)), url(#);
+ /*background: #81a779;*/
+ background-repeat: no-repeat;
+ background-attachment: fixed;
+ background-size: cover;
+ }
+
+
+
+
+ .left_pc {
+ width: 50%;
+ display: flex;
+ margin-right: 2%;
+ justify-content: flex-end;
+ }
+
+ .right_pc {
+ width: 50%;
+ margin-left: 2%;
+ }
+
+ #boox_pc {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+
+ .left_pc img {
+ width: 380px;
+ }
+
+ .right_logo_pc {
+ margin-bottom: 25px;
+ display: flex;
+ align-items: center;
+ }
+
+ .right_logo_pc img {
+ width: 130px;
+ border-radius: 12px;
+ margin-right: 25px;
+ }
+
+ .right_title_pc {
+ font-size: 45px;
+ color: #333333;
+ font-weight: bold;
+ margin-bottom: 10px;
+ }
+
+ .right_span_pc {
+ font-size: 19px;
+ color: #666;
+ }
+
+ .right_text_pc {
+ width: 50%;
+ color: #666;
+ line-height: 35px;
+ font-size: 19px;
+ }
+
+ .right_banb_pc {
+ color: #999;
+ font-size: 15px;
+ margin-top: 18px;
+ }
+
+ .right_ewm_pc {
+ margin-top: 25px;
+ display: flex;
+ align-items: center;
+ }
+
+ .right_ewm_pc img {
+ width: 120px;
+ margin-right: 30px;
+ }
+
+ .right_xiazai_pc {
+ padding: 10px 40px;
+ color: white;
+ font-size: 18px;
+ border-radius: 50px;
+ background-color: #ff7900;
+ -webkit-box-shadow: 2px 4px 7px 0 rgba(255, 121, 0, .4);
+ box-shadow: 2px 4px 7px 0 rgba(255, 121, 0, .4);
+ }
+
+
+
+
+
+
+ #boox_web {
+ width: 100%;
+ height: 100%;
+ position: fixed;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ }
+
+ .logo_web {
+ width: 100%;
+ text-align: center;
+ }
+
+ .logo_web img {
+ width: 70px;
+ height: 70px;
+ border-radius: 10px;
+ }
+
+ .logo_web p {
+ font-size: 19px;
+ color: #333333;
+ font-weight: bold;
+ margin-top: 10px
+ }
+
+ .xiazai_web {
+ width: 55%;
+ text-align: center;
+ border-radius: 50px;
+ color: #FFFFFF;
+ background: #FF7900;
+ font-size: 16px;
+ margin: 20px auto;
+ padding: 8px 0px;
+ }
+
+ #banben_web {
+ color: #999;
+ width: 100%;
+ font-size: 14px;
+ text-align: center;
+ }
+
+ #banben_web p {
+ margin: 6px 0px;
+ }
+
+ .fixed_web {
+ position: fixed;
+ bottom: 35px;
+ color: #999;
+ width: 100%;
+ font-size: 14px;
+ text-align: center;
+ }
\ No newline at end of file
diff --git a/app/gengxin.txt b/app/gengxin.txt
new file mode 100644
index 00000000..a3f96e6c
--- /dev/null
+++ b/app/gengxin.txt
@@ -0,0 +1,7 @@
+【版本名】3.0【版本名】
+【版本】20230215【版本】
+【内容】
+1.去除失效页面
+2.部分优化,更新链接地址
+【内容】
+【链接】https://qinzhi.cc/app/1.apk【链接】
\ No newline at end of file
diff --git a/app/img/1.png b/app/img/1.png
new file mode 100644
index 00000000..73b19dc6
Binary files /dev/null and b/app/img/1.png differ
diff --git a/app/img/2.png b/app/img/2.png
new file mode 100644
index 00000000..1a13899f
Binary files /dev/null and b/app/img/2.png differ
diff --git a/app/img/3.png b/app/img/3.png
new file mode 100644
index 00000000..49299dbf
Binary files /dev/null and b/app/img/3.png differ
diff --git a/app/img/4.png b/app/img/4.png
new file mode 100644
index 00000000..b2f7bab5
Binary files /dev/null and b/app/img/4.png differ
diff --git a/app/img/ewm.jpg b/app/img/ewm.jpg
new file mode 100644
index 00000000..2fd351f4
Binary files /dev/null and b/app/img/ewm.jpg differ
diff --git a/app/img/jt.jpg b/app/img/jt.jpg
new file mode 100644
index 00000000..b92093f0
Binary files /dev/null and b/app/img/jt.jpg differ
diff --git a/app/img/logo.png b/app/img/logo.png
new file mode 100644
index 00000000..1879d5da
Binary files /dev/null and b/app/img/logo.png differ
diff --git a/app/index.html b/app/index.html
new file mode 100644
index 00000000..58dc57bf
--- /dev/null
+++ b/app/index.html
@@ -0,0 +1,53 @@
+
+
+
+
+
+ 邓先生的博客 | APP下载
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/js/jquery.min.js b/app/js/jquery.min.js
new file mode 100644
index 00000000..b19a2d2c
--- /dev/null
+++ b/app/js/jquery.min.js
@@ -0,0 +1,3349 @@
+/*! jQuery v2.2.1 | (c) jQuery Foundation | 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 = a.document,
+ e = c.slice,
+ f = c.concat,
+ g = c.push,
+ h = c.indexOf,
+ i = {},
+ j = i.toString,
+ k = i.hasOwnProperty,
+ l = {},
+ m = "2.2.1",
+ n = function(a, b) {
+ return new n.fn.init(a, b)
+ },
+ o = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
+ p = /^-ms-/,
+ q = /-([\da-z])/gi,
+ r = function(a, b) {
+ return b.toUpperCase()
+ };
+ n.fn = n.prototype = {
+ jquery: m,
+ constructor: n,
+ selector: "",
+ length: 0,
+ toArray: function() {
+ return e.call(this)
+ },
+ get: function(a) {
+ return null != a ? 0 > a ? this[a + this.length] : this[a] : e.call(this)
+ },
+ pushStack: function(a) {
+ var b = n.merge(this.constructor(), a);
+ return b.prevObject = this, b.context = this.context, b
+ },
+ each: function(a) {
+ return n.each(this, a)
+ },
+ map: function(a) {
+ return this.pushStack(n.map(this, function(b, c) {
+ return a.call(b, c, b)
+ }))
+ },
+ slice: function() {
+ return this.pushStack(e.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()
+ },
+ push: g,
+ sort: c.sort,
+ splice: c.splice
+ }, n.extend = n.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 || n.isFunction(g) || (g = {}),
+ h === i && (g = this, h--); i > h; h++)
+ if (null != (a = arguments[h]))
+ for (b in a) c = g[b], d = a[b], g !== d && (j && d && (n.isPlainObject(d) || (e = n.isArray(d))) ? (e ? (e = !1,
+ f = c && n.isArray(c) ? c : []) : f = c && n.isPlainObject(c) ? c : {}, g[b] = n.extend(j, f, d)) : void 0 !==
+ d && (g[b] = d));
+ return g
+ }, n.extend({
+ expando: "jQuery" + (m + Math.random()).replace(/\D/g, ""),
+ isReady: !0,
+ error: function(a) {
+ throw new Error(a)
+ },
+ noop: function() {},
+ isFunction: function(a) {
+ return "function" === n.type(a)
+ },
+ isArray: Array.isArray,
+ isWindow: function(a) {
+ return null != a && a === a.window
+ },
+ isNumeric: function(a) {
+ var b = a && a.toString();
+ return !n.isArray(a) && b - parseFloat(b) + 1 >= 0
+ },
+ isPlainObject: function(a) {
+ return "object" !== n.type(a) || a.nodeType || n.isWindow(a) ? !1 : a.constructor && !k.call(a.constructor.prototype,
+ "isPrototypeOf") ? !1 : !0
+ },
+ isEmptyObject: function(a) {
+ var b;
+ for (b in a) return !1;
+ return !0
+ },
+ type: function(a) {
+ return null == a ? a + "" : "object" == typeof a || "function" == typeof a ? i[j.call(a)] || "object" : typeof a
+ },
+ globalEval: function(a) {
+ var b, c = eval;
+ a = n.trim(a), a && (1 === a.indexOf("use strict") ? (b = d.createElement("script"), b.text = a, d.head.appendChild(
+ b).parentNode.removeChild(b)) : c(a))
+ },
+ camelCase: function(a) {
+ return a.replace(p, "ms-").replace(q, r)
+ },
+ nodeName: function(a, b) {
+ return a.nodeName && a.nodeName.toLowerCase() === b.toLowerCase()
+ },
+ each: function(a, b) {
+ var c, d = 0;
+ if (s(a)) {
+ for (c = a.length; c > d; d++)
+ if (b.call(a[d], d, a[d]) === !1) break
+ } else
+ for (d in a)
+ if (b.call(a[d], d, a[d]) === !1) break;
+ return a
+ },
+ trim: function(a) {
+ return null == a ? "" : (a + "").replace(o, "")
+ },
+ makeArray: function(a, b) {
+ var c = b || [];
+ return null != a && (s(Object(a)) ? n.merge(c, "string" == typeof a ? [a] : a) : g.call(c, a)), c
+ },
+ inArray: function(a, b, c) {
+ return null == b ? -1 : h.call(b, a, c)
+ },
+ merge: function(a, b) {
+ for (var c = +b.length, d = 0, e = a.length; c > d; 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, e, g = 0,
+ h = [];
+ if (s(a))
+ for (d = a.length; d > g; g++) e = b(a[g], g, c), null != e && h.push(e);
+ else
+ for (g in a) e = b(a[g], g, c), null != e && h.push(e);
+ return f.apply([], h)
+ },
+ guid: 1,
+ proxy: function(a, b) {
+ var c, d, f;
+ return "string" == typeof b && (c = a[b], b = a, a = c), n.isFunction(a) ? (d = e.call(arguments, 2), f =
+ function() {
+ return a.apply(b || this, d.concat(e.call(arguments)))
+ }, f.guid = a.guid = a.guid || n.guid++, f) : void 0
+ },
+ now: Date.now,
+ support: l
+ }), "function" == typeof Symbol && (n.fn[Symbol.iterator] = c[Symbol.iterator]), n.each(
+ "Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),
+ function(a, b) {
+ i["[object " + b + "]"] = b.toLowerCase()
+ });
+
+ function s(a) {
+ var b = !!a && "length" in a && a.length,
+ c = n.type(a);
+ return "function" === c || n.isWindow(a) ? !1 : "array" === c || 0 === b || "number" == typeof b && b > 0 && b - 1 in
+ a
+ }
+ var t = 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 = ga(),
+ z = ga(),
+ A = ga(),
+ 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 = "\\[" + L + "*(" + M + ")(?:" + L + "*([*^$|!~]?=)" + L +
+ "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + M + "))|)" + L + "*\\]",
+ O = ":(" + M + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + N +
+ ")*)|.*)\\)|)",
+ P = new RegExp(L + "+", "g"),
+ Q = new RegExp("^" + L + "+|((?:^|[^\\\\])(?:\\\\.)*)" + L + "+$", "g"),
+ R = new RegExp("^" + L + "*," + L + "*"),
+ S = new RegExp("^" + L + "*([>+~]|" + L + ")" + L + "*"),
+ T = new RegExp("=" + L + "*([^\\]'\"]*?)" + L + "*\\]", "g"),
+ U = new RegExp(O),
+ V = new RegExp("^" + M + "$"),
+ W = {
+ ID: new RegExp("^#(" + M + ")"),
+ CLASS: new RegExp("^\\.(" + M + ")"),
+ TAG: new RegExp("^(" + M + "|[*])"),
+ ATTR: new RegExp("^" + N),
+ PSEUDO: new RegExp("^" + O),
+ 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")
+ },
+ X = /^(?:input|select|textarea|button)$/i,
+ Y = /^h\d$/i,
+ Z = /^[^{]+\{\s*\[native \w/,
+ $ = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
+ _ = /[+~]/,
+ aa = /'|\\/g,
+ ba = new RegExp("\\\\([\\da-f]{1,6}" + L + "?|(" + L + ")|.)", "ig"),
+ ca = 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)
+ },
+ da = function() {
+ m()
+ };
+ try {
+ H.apply(E = I.call(v.childNodes), v.childNodes), E[v.childNodes.length].nodeType
+ } catch (ea) {
+ 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 fa(a, b, d, e) {
+ var f, h, j, k, l, o, r, s, w = b && b.ownerDocument,
+ x = b ? b.nodeType : 9;
+ if (d = d || [], "string" != typeof a || !a || 1 !== x && 9 !== x && 11 !== x) return d;
+ if (!e && ((b ? b.ownerDocument || b : v) !== n && m(b), b = b || n, p)) {
+ if (11 !== x && (o = $.exec(a)))
+ if (f = o[1]) {
+ if (9 === x) {
+ if (!(j = b.getElementById(f))) return d;
+ if (j.id === f) return d.push(j), d
+ } else if (w && (j = w.getElementById(f)) && t(b, j) && j.id === f) return d.push(j), d
+ } else {
+ if (o[2]) return H.apply(d, b.getElementsByTagName(a)), d;
+ if ((f = o[3]) && c.getElementsByClassName && b.getElementsByClassName) return H.apply(d, b.getElementsByClassName(
+ f)), d
+ } if (c.qsa && !A[a + " "] && (!q || !q.test(a))) {
+ if (1 !== x) w = b, s = a;
+ else if ("object" !== b.nodeName.toLowerCase()) {
+ (k = b.getAttribute("id")) ? k = k.replace(aa, "\\$&"): b.setAttribute("id", k = u), r = g(a), h = r.length, l =
+ V.test(k) ? "#" + k : "[id='" + k + "']";
+ while (h--) r[h] = l + " " + qa(r[h]);
+ s = r.join(","), w = _.test(a) && oa(b.parentNode) || b
+ }
+ if (s) try {
+ return H.apply(d, w.querySelectorAll(s)), d
+ } catch (y) {} finally {
+ k === u && b.removeAttribute("id")
+ }
+ }
+ }
+ return i(a.replace(Q, "$1"), b, d, e)
+ }
+
+ function ga() {
+ var a = [];
+
+ function b(c, e) {
+ return a.push(c + " ") > d.cacheLength && delete b[a.shift()], b[c + " "] = e
+ }
+ return b
+ }
+
+ function ha(a) {
+ return a[u] = !0, a
+ }
+
+ function ia(a) {
+ var b = n.createElement("div");
+ try {
+ return !!a(b)
+ } catch (c) {
+ return !1
+ } finally {
+ b.parentNode && b.parentNode.removeChild(b), b = null
+ }
+ }
+
+ function ja(a, b) {
+ var c = a.split("|"),
+ e = c.length;
+ while (e--) d.attrHandle[c[e]] = b
+ }
+
+ function ka(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 la(a) {
+ return function(b) {
+ var c = b.nodeName.toLowerCase();
+ return "input" === c && b.type === a
+ }
+ }
+
+ function ma(a) {
+ return function(b) {
+ var c = b.nodeName.toLowerCase();
+ return ("input" === c || "button" === c) && b.type === a
+ }
+ }
+
+ function na(a) {
+ return ha(function(b) {
+ return b = +b, ha(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 oa(a) {
+ return a && "undefined" != typeof a.getElementsByTagName && a
+ }
+ c = fa.support = {}, f = fa.isXML = function(a) {
+ var b = a && (a.ownerDocument || a).documentElement;
+ return b ? "HTML" !== b.nodeName : !1
+ }, m = fa.setDocument = function(a) {
+ var b, e, g = a ? a.ownerDocument || a : v;
+ return g !== n && 9 === g.nodeType && g.documentElement ? (n = g, o = n.documentElement, p = !f(n), (e = n.defaultView) &&
+ e.top !== e && (e.addEventListener ? e.addEventListener("unload", da, !1) : e.attachEvent && e.attachEvent(
+ "onunload", da)), c.attributes = ia(function(a) {
+ return a.className = "i", !a.getAttribute("className")
+ }), c.getElementsByTagName = ia(function(a) {
+ return a.appendChild(n.createComment("")), !a.getElementsByTagName("*").length
+ }), c.getElementsByClassName = Z.test(n.getElementsByClassName), c.getById = ia(function(a) {
+ return o.appendChild(a).id = u, !n.getElementsByName || !n.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] : []
+ }
+ }, d.filter.ID = function(a) {
+ var b = a.replace(ba, ca);
+ return function(a) {
+ return a.getAttribute("id") === b
+ }
+ }) : (delete d.find.ID, d.filter.ID = function(a) {
+ var b = a.replace(ba, ca);
+ 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 "undefined" != typeof b.getElementsByClassName && p ? b.getElementsByClassName(a) : void 0
+ }, r = [], q = [], (c.qsa = Z.test(n.querySelectorAll)) && (ia(function(a) {
+ o.appendChild(a).innerHTML = "", a.querySelectorAll(
+ "[msallowcapture^='']").length && q.push("[*^$]=" + L + "*(?:''|\"\")"), a.querySelectorAll("[selected]").length ||
+ q.push("\\[" + L + "*(?:value|" + K + ")"), a.querySelectorAll("[id~=" + u + "-]").length || q.push("~="),
+ a.querySelectorAll(":checked").length || q.push(":checked"), a.querySelectorAll("a#" + u + "+*").length ||
+ q.push(".#.+[+~]")
+ }), ia(function(a) {
+ var b = n.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 = Z.test(s = o.matches || o.webkitMatchesSelector || o.mozMatchesSelector || o.oMatchesSelector ||
+ o.msMatchesSelector)) && ia(function(a) {
+ c.disconnectedMatch = s.call(a, "div"), s.call(a, "[s!='']:x"), r.push("!=", O)
+ }), q = q.length && new RegExp(q.join("|")), r = r.length && new RegExp(r.join("|")), b = Z.test(o.compareDocumentPosition),
+ t = b || Z.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 === n || a.ownerDocument === v && t(v, a) ? -
+ 1 : b === n || 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,
+ g = [a],
+ h = [b];
+ if (!e || !f) return a === n ? -1 : b === n ? 1 : e ? -1 : f ? 1 : k ? J(k, a) - J(k, b) : 0;
+ if (e === f) return ka(a, b);
+ c = a;
+ while (c = c.parentNode) g.unshift(c);
+ c = b;
+ while (c = c.parentNode) h.unshift(c);
+ while (g[d] === h[d]) d++;
+ return d ? ka(g[d], h[d]) : g[d] === v ? -1 : h[d] === v ? 1 : 0
+ }, n) : n
+ }, fa.matches = function(a, b) {
+ return fa(a, null, null, b)
+ }, fa.matchesSelector = function(a, b) {
+ if ((a.ownerDocument || a) !== n && m(a), b = b.replace(T, "='$1']"), c.matchesSelector && p && !A[b + " "] && (!
+ 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 fa(b, n, null, [a]).length > 0
+ }, fa.contains = function(a, b) {
+ return (a.ownerDocument || a) !== n && m(a), t(a, b)
+ }, fa.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
+ }, fa.error = function(a) {
+ throw new Error("Syntax error, unrecognized expression: " + a)
+ }, fa.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 = fa.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 = fa.selectors = {
+ cacheLength: 50,
+ createPseudo: ha,
+ match: W,
+ 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(ba, ca), a[3] = (a[3] || a[4] || a[5] || "").replace(ba, ca), "~=" === 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] || fa.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] &&
+ fa.error(a[0]), a
+ },
+ PSEUDO: function(a) {
+ var b, c = !a[6] && a[2];
+ return W.CHILD.test(a[0]) ? null : (a[3] ? a[2] = a[4] || a[5] || "" : c && U.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(ba, ca).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 = fa.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(P, " ") + " ").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,
+ t = !1;
+ if (q) {
+ if (f) {
+ while (p) {
+ m = b;
+ while (m = m[p])
+ if (h ? m.nodeName.toLowerCase() === r : 1 === m.nodeType) return !1;
+ o = p = "only" === a && !o && "nextSibling"
+ }
+ return !0
+ }
+ if (o = [g ? q.firstChild : q.lastChild], g && s) {
+ m = q, l = m[u] || (m[u] = {}), k = l[m.uniqueID] || (l[m.uniqueID] = {}), j = k[a] || [], n = j[0] === w &&
+ j[1], t = n && j[2], m = n && q.childNodes[n];
+ while (m = ++n && m && m[p] || (t = n = 0) || o.pop())
+ if (1 === m.nodeType && ++t && m === b) {
+ k[a] = [w, n, t];
+ break
+ }
+ } else if (s && (m = b, l = m[u] || (m[u] = {}), k = l[m.uniqueID] || (l[m.uniqueID] = {}), j = k[a] || [],
+ n = j[0] === w && j[1], t = n), t === !1)
+ while (m = ++n && m && m[p] || (t = n = 0) || o.pop())
+ if ((h ? m.nodeName.toLowerCase() === r : 1 === m.nodeType) && ++t && (s && (l = m[u] || (m[u] = {}), k =
+ l[m.uniqueID] || (l[m.uniqueID] = {}), k[a] = [w, t]), m === b)) break;
+ return t -= e, t === d || t % d === 0 && t / d >= 0
+ }
+ }
+ },
+ PSEUDO: function(a, b) {
+ var c, e = d.pseudos[a] || d.setFilters[a.toLowerCase()] || fa.error("unsupported pseudo: " + a);
+ return e[u] ? e(b) : e.length > 1 ? (c = [a, a, "", b], d.setFilters.hasOwnProperty(a.toLowerCase()) ? ha(
+ 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: ha(function(a) {
+ var b = [],
+ c = [],
+ d = h(a.replace(Q, "$1"));
+ return d[u] ? ha(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: ha(function(a) {
+ return function(b) {
+ return fa(a, b).length > 0
+ }
+ }),
+ contains: ha(function(a) {
+ return a = a.replace(ba, ca),
+ function(b) {
+ return (b.textContent || b.innerText || e(b)).indexOf(a) > -1
+ }
+ }),
+ lang: ha(function(a) {
+ return V.test(a || "") || fa.error("unsupported lang: " + a), a = a.replace(ba, ca).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 Y.test(a.nodeName)
+ },
+ input: function(a) {
+ return X.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: na(function() {
+ return [0]
+ }),
+ last: na(function(a, b) {
+ return [b - 1]
+ }),
+ eq: na(function(a, b, c) {
+ return [0 > c ? c + b : c]
+ }),
+ even: na(function(a, b) {
+ for (var c = 0; b > c; c += 2) a.push(c);
+ return a
+ }),
+ odd: na(function(a, b) {
+ for (var c = 1; b > c; c += 2) a.push(c);
+ return a
+ }),
+ lt: na(function(a, b, c) {
+ for (var d = 0 > c ? c + b : c; --d >= 0;) a.push(d);
+ return a
+ }),
+ gt: na(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] = la(b);
+ for (b in {
+ submit: !0,
+ reset: !0
+ }) d.pseudos[b] = ma(b);
+
+ function pa() {}
+ pa.prototype = d.filters = d.pseudos, d.setFilters = new pa, g = fa.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 = R.exec(h))) && (e && (h = h.slice(e[0].length) || h), i.push(f = [])), c = !1, (e = S.exec(h)) && (c =
+ e.shift(), f.push({
+ value: c,
+ type: e[0].replace(Q, " ")
+ }), h = h.slice(c.length));
+ for (g in d.filter) !(e = W[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 ? fa.error(a) : z(a, i).slice(0)
+ };
+
+ function qa(a) {
+ for (var b = 0, c = a.length, d = ""; c > b; b++) d += a[b].value;
+ return d
+ }
+
+ function ra(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, k = [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 (j = b[u] || (b[u] = {}), i = j[b.uniqueID] || (j[b.uniqueID] = {}), (h = i[d]) && h[0] === w && h[1] ===
+ f) return k[2] = h[2];
+ if (i[d] = k, k[2] = a(b, c, g)) return !0
+ }
+ }
+ }
+
+ function sa(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 ta(a, b, c) {
+ for (var d = 0, e = b.length; e > d; d++) fa(a, b[d], c);
+ return c
+ }
+
+ function ua(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 va(a, b, c, d, e, f) {
+ return d && !d[u] && (d = va(d)), e && !e[u] && (e = va(e, f)), ha(function(f, g, h, i) {
+ var j, k, l, m = [],
+ n = [],
+ o = g.length,
+ p = f || ta(b || "*", h.nodeType ? [h] : h, []),
+ q = !a || !f && b ? p : ua(p, m, a, h, i),
+ r = c ? e || (f ? a : o || d) ? [] : g : q;
+ if (c && c(q, r, h, i), d) {
+ j = ua(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 = ua(r === g ? r.splice(o, r.length) : r), e ? e(null, g, r, i) : H.apply(g, r)
+ })
+ }
+
+ function wa(a) {
+ for (var b, c, e, f = a.length, g = d.relative[a[0].type], h = g || d.relative[" "], i = g ? 1 : 0, k = ra(
+ function(a) {
+ return a === b
+ }, h, !0), l = ra(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 = [ra(sa(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 va(i > 1 && sa(m), i > 1 && qa(a.slice(0, i - 1).concat({
+ value: " " === a[i - 2].type ? "*" : ""
+ })).replace(Q, "$1"), c, e > i && wa(a.slice(i, e)), f > e && wa(a = a.slice(e)), f > e && qa(a))
+ }
+ m.push(c)
+ } return sa(m)
+ }
+
+ function xa(a, b) {
+ var c = b.length > 0,
+ e = a.length > 0,
+ f = function(f, g, h, i, k) {
+ var l, o, q, r = 0,
+ s = "0",
+ t = f && [],
+ u = [],
+ v = j,
+ x = f || e && d.find.TAG("*", k),
+ y = w += null == v ? 1 : Math.random() || .1,
+ z = x.length;
+ for (k && (j = g === n || g || k); s !== z && null != (l = x[s]); s++) {
+ if (e && l) {
+ o = 0, g || l.ownerDocument === n || (m(l), h = !p);
+ while (q = a[o++])
+ if (q(l, g || n, h)) {
+ i.push(l);
+ break
+ } k && (w = y)
+ }
+ c && ((l = !q && l) && r--, f && t.push(l))
+ }
+ if (r += s, c && s !== r) {
+ o = 0;
+ while (q = b[o++]) q(t, u, g, h);
+ if (f) {
+ if (r > 0)
+ while (s--) t[s] || u[s] || (u[s] = F.call(i));
+ u = ua(u)
+ }
+ H.apply(i, u), k && !f && u.length > 0 && r + b.length > 1 && fa.uniqueSort(i)
+ }
+ return k && (w = y, j = v), t
+ };
+ return c ? ha(f) : f
+ }
+ return h = fa.compile = function(a, b) {
+ var c, d = [],
+ e = [],
+ f = A[a + " "];
+ if (!f) {
+ b || (b = g(a)), c = b.length;
+ while (c--) f = wa(b[c]), f[u] ? d.push(f) : e.push(f);
+ f = A(a, xa(e, d)), f.selector = a
+ }
+ return f
+ }, i = fa.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(ba, ca), b) || [])[0], !b) return e;
+ n && (b = b.parentNode), a = a.slice(j.shift().value.length)
+ }
+ i = W.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(ba, ca), _.test(j[0].type) && oa(b.parentNode) || b))) {
+ if (j.splice(i, 1), a = f.length && qa(j), !a) return H.apply(e, f), e;
+ break
+ }
+ }
+ }
+ return (n || h(a, o))(f, b, !p, e, !b || _.test(a) && oa(b.parentNode) || b), e
+ }, c.sortStable = u.split("").sort(B).join("") === u, c.detectDuplicates = !!l, m(), c.sortDetached = ia(function(
+ a) {
+ return 1 & a.compareDocumentPosition(n.createElement("div"))
+ }), ia(function(a) {
+ return a.innerHTML = "", "#" === a.firstChild.getAttribute("href")
+ }) || ja("type|href|height|width", function(a, b, c) {
+ return c ? void 0 : a.getAttribute(b, "type" === b.toLowerCase() ? 1 : 2)
+ }), c.attributes && ia(function(a) {
+ return a.innerHTML = "", a.firstChild.setAttribute("value", ""), "" === a.firstChild.getAttribute(
+ "value")
+ }) || ja("value", function(a, b, c) {
+ return c || "input" !== a.nodeName.toLowerCase() ? void 0 : a.defaultValue
+ }), ia(function(a) {
+ return null == a.getAttribute("disabled")
+ }) || ja(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
+ }), fa
+ }(a);
+ n.find = t, n.expr = t.selectors, n.expr[":"] = n.expr.pseudos, n.uniqueSort = n.unique = t.uniqueSort, n.text = t.getText,
+ n.isXMLDoc = t.isXML, n.contains = t.contains;
+ var u = function(a, b, c) {
+ var d = [],
+ e = void 0 !== c;
+ while ((a = a[b]) && 9 !== a.nodeType)
+ if (1 === a.nodeType) {
+ if (e && n(a).is(c)) break;
+ d.push(a)
+ } return d
+ },
+ v = function(a, b) {
+ for (var c = []; a; a = a.nextSibling) 1 === a.nodeType && a !== b && c.push(a);
+ return c
+ },
+ w = n.expr.match.needsContext,
+ x = /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,
+ y = /^.[^:#\[\.,]*$/;
+
+ function z(a, b, c) {
+ if (n.isFunction(b)) return n.grep(a, function(a, d) {
+ return !!b.call(a, d, a) !== c
+ });
+ if (b.nodeType) return n.grep(a, function(a) {
+ return a === b !== c
+ });
+ if ("string" == typeof b) {
+ if (y.test(b)) return n.filter(b, a, c);
+ b = n.filter(b, a)
+ }
+ return n.grep(a, function(a) {
+ return h.call(b, a) > -1 !== c
+ })
+ }
+ n.filter = function(a, b, c) {
+ var d = b[0];
+ return c && (a = ":not(" + a + ")"), 1 === b.length && 1 === d.nodeType ? n.find.matchesSelector(d, a) ? [d] : [] :
+ n.find.matches(a, n.grep(b, function(a) {
+ return 1 === a.nodeType
+ }))
+ }, n.fn.extend({
+ find: function(a) {
+ var b, c = this.length,
+ d = [],
+ e = this;
+ if ("string" != typeof a) return this.pushStack(n(a).filter(function() {
+ for (b = 0; c > b; b++)
+ if (n.contains(e[b], this)) return !0
+ }));
+ for (b = 0; c > b; b++) n.find(a, e[b], d);
+ return d = this.pushStack(c > 1 ? n.unique(d) : d), d.selector = this.selector ? this.selector + " " + a : a, d
+ },
+ filter: function(a) {
+ return this.pushStack(z(this, a || [], !1))
+ },
+ not: function(a) {
+ return this.pushStack(z(this, a || [], !0))
+ },
+ is: function(a) {
+ return !!z(this, "string" == typeof a && w.test(a) ? n(a) : a || [], !1).length
+ }
+ });
+ var A, B = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,
+ C = n.fn.init = function(a, b, c) {
+ var e, f;
+ if (!a) return this;
+ if (c = c || A, "string" == typeof a) {
+ if (e = "<" === a[0] && ">" === a[a.length - 1] && a.length >= 3 ? [null, a, null] : B.exec(a), !e || !e[1] && b)
+ return !b || b.jquery ? (b || c).find(a) : this.constructor(b).find(a);
+ if (e[1]) {
+ if (b = b instanceof n ? b[0] : b, n.merge(this, n.parseHTML(e[1], b && b.nodeType ? b.ownerDocument || b : d, !0)),
+ x.test(e[1]) && n.isPlainObject(b))
+ for (e in b) n.isFunction(this[e]) ? this[e](b[e]) : this.attr(e, b[e]);
+ return this
+ }
+ return f = d.getElementById(e[2]), f && f.parentNode && (this.length = 1, this[0] = f), this.context = d, this.selector =
+ a, this
+ }
+ return a.nodeType ? (this.context = this[0] = a, this.length = 1, this) : n.isFunction(a) ? void 0 !== c.ready ? c.ready(
+ a) : a(n) : (void 0 !== a.selector && (this.selector = a.selector, this.context = a.context), n.makeArray(a, this))
+ };
+ C.prototype = n.fn, A = n(d);
+ var D = /^(?:parents|prev(?:Until|All))/,
+ E = {
+ children: !0,
+ contents: !0,
+ next: !0,
+ prev: !0
+ };
+ n.fn.extend({
+ has: function(a) {
+ var b = n(a, this),
+ c = b.length;
+ return this.filter(function() {
+ for (var a = 0; c > a; a++)
+ if (n.contains(this, b[a])) return !0
+ })
+ },
+ closest: function(a, b) {
+ for (var c, d = 0, e = this.length, f = [], g = w.test(a) || "string" != typeof a ? n(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 && n.find.matchesSelector(c, a))) {
+ f.push(c);
+ break
+ } return this.pushStack(f.length > 1 ? n.uniqueSort(f) : f)
+ },
+ index: function(a) {
+ return a ? "string" == typeof a ? h.call(n(a), this[0]) : h.call(this, a.jquery ? a[0] : a) : this[0] && this[0]
+ .parentNode ? this.first().prevAll().length : -1
+ },
+ add: function(a, b) {
+ return this.pushStack(n.uniqueSort(n.merge(this.get(), n(a, b))))
+ },
+ addBack: function(a) {
+ return this.add(null == a ? this.prevObject : this.prevObject.filter(a))
+ }
+ });
+
+ function F(a, b) {
+ while ((a = a[b]) && 1 !== a.nodeType);
+ return a
+ }
+ n.each({
+ parent: function(a) {
+ var b = a.parentNode;
+ return b && 11 !== b.nodeType ? b : null
+ },
+ parents: function(a) {
+ return u(a, "parentNode")
+ },
+ parentsUntil: function(a, b, c) {
+ return u(a, "parentNode", c)
+ },
+ next: function(a) {
+ return F(a, "nextSibling")
+ },
+ prev: function(a) {
+ return F(a, "previousSibling")
+ },
+ nextAll: function(a) {
+ return u(a, "nextSibling")
+ },
+ prevAll: function(a) {
+ return u(a, "previousSibling")
+ },
+ nextUntil: function(a, b, c) {
+ return u(a, "nextSibling", c)
+ },
+ prevUntil: function(a, b, c) {
+ return u(a, "previousSibling", c)
+ },
+ siblings: function(a) {
+ return v((a.parentNode || {}).firstChild, a)
+ },
+ children: function(a) {
+ return v(a.firstChild)
+ },
+ contents: function(a) {
+ return a.contentDocument || n.merge([], a.childNodes)
+ }
+ }, function(a, b) {
+ n.fn[a] = function(c, d) {
+ var e = n.map(this, b, c);
+ return "Until" !== a.slice(-5) && (d = c), d && "string" == typeof d && (e = n.filter(d, e)), this.length > 1 &&
+ (E[a] || n.uniqueSort(e), D.test(a) && e.reverse()), this.pushStack(e)
+ }
+ });
+ var G = /\S+/g;
+
+ function H(a) {
+ var b = {};
+ return n.each(a.match(G) || [], function(a, c) {
+ b[c] = !0
+ }), b
+ }
+ n.Callbacks = function(a) {
+ a = "string" == typeof a ? H(a) : n.extend({}, a);
+ var b, c, d, e, f = [],
+ g = [],
+ h = -1,
+ i = function() {
+ for (e = a.once, d = b = !0; g.length; h = -1) {
+ c = g.shift();
+ while (++h < f.length) f[h].apply(c[0], c[1]) === !1 && a.stopOnFalse && (h = f.length, c = !1)
+ }
+ a.memory || (c = !1), b = !1, e && (f = c ? [] : "")
+ },
+ j = {
+ add: function() {
+ return f && (c && !b && (h = f.length - 1, g.push(c)), function d(b) {
+ n.each(b, function(b, c) {
+ n.isFunction(c) ? a.unique && j.has(c) || f.push(c) : c && c.length && "string" !== n.type(c) && d(c)
+ })
+ }(arguments), c && !b && i()), this
+ },
+ remove: function() {
+ return n.each(arguments, function(a, b) {
+ var c;
+ while ((c = n.inArray(b, f, c)) > -1) f.splice(c, 1), h >= c && h--
+ }), this
+ },
+ has: function(a) {
+ return a ? n.inArray(a, f) > -1 : f.length > 0
+ },
+ empty: function() {
+ return f && (f = []), this
+ },
+ disable: function() {
+ return e = g = [], f = c = "", this
+ },
+ disabled: function() {
+ return !f
+ },
+ lock: function() {
+ return e = g = [], c || (f = c = ""), this
+ },
+ locked: function() {
+ return !!e
+ },
+ fireWith: function(a, c) {
+ return e || (c = c || [], c = [a, c.slice ? c.slice() : c], g.push(c), b || i()), this
+ },
+ fire: function() {
+ return j.fireWith(this, arguments), this
+ },
+ fired: function() {
+ return !!d
+ }
+ };
+ return j
+ }, n.extend({
+ Deferred: function(a) {
+ var b = [
+ ["resolve", "done", n.Callbacks("once memory"), "resolved"],
+ ["reject", "fail", n.Callbacks("once memory"), "rejected"],
+ ["notify", "progress", n.Callbacks("memory")]
+ ],
+ c = "pending",
+ d = {
+ state: function() {
+ return c
+ },
+ always: function() {
+ return e.done(arguments).fail(arguments), this
+ },
+ then: function() {
+ var a = arguments;
+ return n.Deferred(function(c) {
+ n.each(b, function(b, f) {
+ var g = n.isFunction(a[b]) && a[b];
+ e[f[1]](function() {
+ var a = g && g.apply(this, arguments);
+ a && n.isFunction(a.promise) ? a.promise().progress(c.notify).done(c.resolve).fail(c.reject) : c[f[
+ 0] + "With"](this === d ? c.promise() : this, g ? [a] : arguments)
+ })
+ }), a = null
+ }).promise()
+ },
+ promise: function(a) {
+ return null != a ? n.extend(a, d) : d
+ }
+ },
+ e = {};
+ return d.pipe = d.then, n.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 = e.call(arguments),
+ d = c.length,
+ f = 1 !== d || a && n.isFunction(a.promise) ? d : 0,
+ g = 1 === f ? a : n.Deferred(),
+ h = function(a, b, c) {
+ return function(d) {
+ b[a] = this, c[a] = arguments.length > 1 ? e.call(arguments) : d, c === i ? g.notifyWith(b, c) : --f || g.resolveWith(
+ b, c)
+ }
+ },
+ i, j, k;
+ if (d > 1)
+ for (i = new Array(d), j = new Array(d), k = new Array(d); d > b; b++) c[b] && n.isFunction(c[b].promise) ? c[b]
+ .promise().progress(h(b, j, i)).done(h(b, k, c)).fail(g.reject) : --f;
+ return f || g.resolveWith(k, c), g.promise()
+ }
+ });
+ var I;
+ n.fn.ready = function(a) {
+ return n.ready.promise().done(a), this
+ }, n.extend({
+ isReady: !1,
+ readyWait: 1,
+ holdReady: function(a) {
+ a ? n.readyWait++ : n.ready(!0)
+ },
+ ready: function(a) {
+ (a === !0 ? --n.readyWait : n.isReady) || (n.isReady = !0, a !== !0 && --n.readyWait > 0 || (I.resolveWith(d, [n]),
+ n.fn.triggerHandler && (n(d).triggerHandler("ready"), n(d).off("ready"))))
+ }
+ });
+
+ function J() {
+ d.removeEventListener("DOMContentLoaded", J), a.removeEventListener("load", J), n.ready()
+ }
+ n.ready.promise = function(b) {
+ return I || (I = n.Deferred(), "complete" === d.readyState || "loading" !== d.readyState && !d.documentElement.doScroll ?
+ a.setTimeout(n.ready) : (d.addEventListener("DOMContentLoaded", J), a.addEventListener("load", J))), I.promise(b)
+ }, n.ready.promise();
+ var K = function(a, b, c, d, e, f, g) {
+ var h = 0,
+ i = a.length,
+ j = null == c;
+ if ("object" === n.type(c)) {
+ e = !0;
+ for (h in c) K(a, b, h, c[h], !0, f, g)
+ } else if (void 0 !== d && (e = !0, n.isFunction(d) || (g = !0), j && (g ? (b.call(a, d), b = null) : (j = b, b =
+ function(a, b, c) {
+ return j.call(n(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
+ },
+ L = function(a) {
+ return 1 === a.nodeType || 9 === a.nodeType || !+a.nodeType
+ };
+
+ function M() {
+ this.expando = n.expando + M.uid++
+ }
+ M.uid = 1, M.prototype = {
+ register: function(a, b) {
+ var c = b || {};
+ return a.nodeType ? a[this.expando] = c : Object.defineProperty(a, this.expando, {
+ value: c,
+ writable: !0,
+ configurable: !0
+ }), a[this.expando]
+ },
+ cache: function(a) {
+ if (!L(a)) return {};
+ var b = a[this.expando];
+ return b || (b = {}, L(a) && (a.nodeType ? a[this.expando] = b : Object.defineProperty(a, this.expando, {
+ value: b,
+ configurable: !0
+ }))), b
+ },
+ set: function(a, b, c) {
+ var d, e = this.cache(a);
+ if ("string" == typeof b) e[b] = c;
+ else
+ for (d in b) e[d] = b[d];
+ return e
+ },
+ get: function(a, b) {
+ return void 0 === b ? this.cache(a) : a[this.expando] && a[this.expando][b]
+ },
+ access: function(a, b, c) {
+ var d;
+ return void 0 === b || b && "string" == typeof b && void 0 === c ? (d = this.get(a, b), void 0 !== d ? d : this.get(
+ a, n.camelCase(b))) : (this.set(a, b, c), void 0 !== c ? c : b)
+ },
+ remove: function(a, b) {
+ var c, d, e, f = a[this.expando];
+ if (void 0 !== f) {
+ if (void 0 === b) this.register(a);
+ else {
+ n.isArray(b) ? d = b.concat(b.map(n.camelCase)) : (e = n.camelCase(b), b in f ? d = [b, e] : (d = e, d = d in f ?
+ [d] : d.match(G) || [])), c = d.length;
+ while (c--) delete f[d[c]]
+ }(void 0 === b || n.isEmptyObject(f)) && (a.nodeType ? a[this.expando] = void 0 : delete a[this.expando])
+ }
+ },
+ hasData: function(a) {
+ var b = a[this.expando];
+ return void 0 !== b && !n.isEmptyObject(b)
+ }
+ };
+ var N = new M,
+ O = new M,
+ P = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
+ Q = /[A-Z]/g;
+
+ function R(a, b, c) {
+ var d;
+ if (void 0 === c && 1 === a.nodeType)
+ if (d = "data-" + b.replace(Q, "-$&").toLowerCase(), c = a.getAttribute(d), "string" == typeof c) {
+ try {
+ c = "true" === c ? !0 : "false" === c ? !1 : "null" === c ? null : +c + "" === c ? +c : P.test(c) ? n.parseJSON(c) :
+ c
+ } catch (e) {}
+ O.set(a, b, c);
+ } else c = void 0;
+ return c
+ }
+ n.extend({
+ hasData: function(a) {
+ return O.hasData(a) || N.hasData(a)
+ },
+ data: function(a, b, c) {
+ return O.access(a, b, c)
+ },
+ removeData: function(a, b) {
+ O.remove(a, b)
+ },
+ _data: function(a, b, c) {
+ return N.access(a, b, c)
+ },
+ _removeData: function(a, b) {
+ N.remove(a, b)
+ }
+ }), n.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 = O.get(f), 1 === f.nodeType && !N.get(f, "hasDataAttrs"))) {
+ c = g.length;
+ while (c--) g[c] && (d = g[c].name, 0 === d.indexOf("data-") && (d = n.camelCase(d.slice(5)), R(f, d, e[d])));
+ N.set(f, "hasDataAttrs", !0)
+ }
+ return e
+ }
+ return "object" == typeof a ? this.each(function() {
+ O.set(this, a)
+ }) : K(this, function(b) {
+ var c, d;
+ if (f && void 0 === b) {
+ if (c = O.get(f, a) || O.get(f, a.replace(Q, "-$&").toLowerCase()), void 0 !== c) return c;
+ if (d = n.camelCase(a), c = O.get(f, d), void 0 !== c) return c;
+ if (c = R(f, d, void 0), void 0 !== c) return c
+ } else d = n.camelCase(a), this.each(function() {
+ var c = O.get(this, d);
+ O.set(this, d, b), a.indexOf("-") > -1 && void 0 !== c && O.set(this, a, b)
+ })
+ }, null, b, arguments.length > 1, null, !0)
+ },
+ removeData: function(a) {
+ return this.each(function() {
+ O.remove(this, a)
+ })
+ }
+ }), n.extend({
+ queue: function(a, b, c) {
+ var d;
+ return a ? (b = (b || "fx") + "queue", d = N.get(a, b), c && (!d || n.isArray(c) ? d = N.access(a, b, n.makeArray(
+ c)) : d.push(c)), d || []) : void 0
+ },
+ dequeue: function(a, b) {
+ b = b || "fx";
+ var c = n.queue(a, b),
+ d = c.length,
+ e = c.shift(),
+ f = n._queueHooks(a, b),
+ g = function() {
+ n.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 N.get(a, c) || N.access(a, c, {
+ empty: n.Callbacks("once memory").add(function() {
+ N.remove(a, [b + "queue", c])
+ })
+ })
+ }
+ }), n.fn.extend({
+ queue: function(a, b) {
+ var c = 2;
+ return "string" != typeof a && (b = a, a = "fx", c--), arguments.length < c ? n.queue(this[0], a) : void 0 ===
+ b ? this : this.each(function() {
+ var c = n.queue(this, a, b);
+ n._queueHooks(this, a), "fx" === a && "inprogress" !== c[0] && n.dequeue(this, a)
+ })
+ },
+ dequeue: function(a) {
+ return this.each(function() {
+ n.dequeue(this, a)
+ })
+ },
+ clearQueue: function(a) {
+ return this.queue(a || "fx", [])
+ },
+ promise: function(a, b) {
+ var c, d = 1,
+ e = n.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 = N.get(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 = new RegExp("^(?:([+-])=|)(" + S + ")([a-z%]*)$", "i"),
+ U = ["Top", "Right", "Bottom", "Left"],
+ V = function(a, b) {
+ return a = b || a, "none" === n.css(a, "display") || !n.contains(a.ownerDocument, a)
+ };
+
+ function W(a, b, c, d) {
+ var e, f = 1,
+ g = 20,
+ h = d ? function() {
+ return d.cur()
+ } : function() {
+ return n.css(a, b, "")
+ },
+ i = h(),
+ j = c && c[3] || (n.cssNumber[b] ? "" : "px"),
+ k = (n.cssNumber[b] || "px" !== j && +i) && T.exec(n.css(a, b));
+ if (k && k[3] !== j) {
+ j = j || k[3], c = c || [], k = +i || 1;
+ do f = f || ".5", k /= f, n.style(a, b, k + j); while (f !== (f = h() / i) && 1 !== f && --g)
+ }
+ return c && (k = +k || +i || 0, e = c[1] ? k + (c[1] + 1) * c[2] : +c[2], d && (d.unit = j, d.start = k, d.end = e)),
+ e
+ }
+ var X = /^(?:checkbox|radio)$/i,
+ Y = /<([\w:-]+)/,
+ Z = /^$|\/(?:java|ecma)script/i,
+ $ = {
+ option: [1, ""],
+ thead: [1, ""],
+ col: [2, ""],
+ tr: [2, ""],
+ td: [3, ""],
+ _default: [0, "", ""]
+ };
+ $.optgroup = $.option, $.tbody = $.tfoot = $.colgroup = $.caption = $.thead, $.th = $.td;
+
+ function _(a, b) {
+ var c = "undefined" != typeof a.getElementsByTagName ? a.getElementsByTagName(b || "*") : "undefined" != typeof a.querySelectorAll ?
+ a.querySelectorAll(b || "*") : [];
+ return void 0 === b || b && n.nodeName(a, b) ? n.merge([a], c) : c
+ }
+
+ function aa(a, b) {
+ for (var c = 0, d = a.length; d > c; c++) N.set(a[c], "globalEval", !b || N.get(b[c], "globalEval"))
+ }
+ var ba = /<|?\w+;/;
+
+ function ca(a, b, c, d, e) {
+ for (var f, g, h, i, j, k, l = b.createDocumentFragment(), m = [], o = 0, p = a.length; p > o; o++)
+ if (f = a[o], f || 0 === f)
+ if ("object" === n.type(f)) n.merge(m, f.nodeType ? [f] : f);
+ else if (ba.test(f)) {
+ g = g || l.appendChild(b.createElement("div")), h = (Y.exec(f) || ["", ""])[1].toLowerCase(), i = $[h] || $._default,
+ g.innerHTML = i[1] + n.htmlPrefilter(f) + i[2], k = i[0];
+ while (k--) g = g.lastChild;
+ n.merge(m, g.childNodes), g = l.firstChild, g.textContent = ""
+ } else m.push(b.createTextNode(f));
+ l.textContent = "", o = 0;
+ while (f = m[o++])
+ if (d && n.inArray(f, d) > -1) e && e.push(f);
+ else if (j = n.contains(f.ownerDocument, f), g = _(l.appendChild(f), "script"), j && aa(g), c) {
+ k = 0;
+ while (f = g[k++]) Z.test(f.type || "") && c.push(f)
+ }
+ return l
+ }! function() {
+ var a = d.createDocumentFragment(),
+ b = a.appendChild(d.createElement("div")),
+ c = d.createElement("input");
+ c.setAttribute("type", "radio"), c.setAttribute("checked", "checked"), c.setAttribute("name", "t"), b.appendChild(c),
+ l.checkClone = b.cloneNode(!0).cloneNode(!0).lastChild.checked, b.innerHTML = "", l.noCloneChecked = !
+ !b.cloneNode(!0).lastChild.defaultValue
+ }();
+ var da = /^key/,
+ ea = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
+ fa = /^([^.]*)(?:\.(.+)|)/;
+
+ function ga() {
+ return !0
+ }
+
+ function ha() {
+ return !1
+ }
+
+ function ia() {
+ try {
+ return d.activeElement
+ } catch (a) {}
+ }
+
+ function ja(a, b, c, d, e, f) {
+ var g, h;
+ if ("object" == typeof b) {
+ "string" != typeof c && (d = d || c, c = void 0);
+ for (h in b) ja(a, h, c, d, b[h], f);
+ return a
+ }
+ if (null == d && null == e ? (e = c, d = c = void 0) : null == e && ("string" == typeof c ? (e = d, d = void 0) : (e =
+ d, d = c, c = void 0)), e === !1) e = ha;
+ else if (!e) return a;
+ return 1 === f && (g = e, e = function(a) {
+ return n().off(a), g.apply(this, arguments)
+ }, e.guid = g.guid || (g.guid = n.guid++)), a.each(function() {
+ n.event.add(this, b, e, d, c)
+ })
+ }
+ n.event = {
+ global: {},
+ add: function(a, b, c, d, e) {
+ var f, g, h, i, j, k, l, m, o, p, q, r = N.get(a);
+ if (r) {
+ c.handler && (f = c, c = f.handler, e = f.selector), c.guid || (c.guid = n.guid++), (i = r.events) || (i = r.events = {}),
+ (g = r.handle) || (g = r.handle = function(b) {
+ return "undefined" != typeof n && n.event.triggered !== b.type ? n.event.dispatch.apply(a, arguments) : void 0
+ }), b = (b || "").match(G) || [""], j = b.length;
+ while (j--) h = fa.exec(b[j]) || [], o = q = h[1], p = (h[2] || "").split(".").sort(), o && (l = n.event.special[
+ o] || {}, o = (e ? l.delegateType : l.bindType) || o, l = n.event.special[o] || {}, k = n.extend({
+ type: o,
+ origType: q,
+ data: d,
+ handler: c,
+ guid: c.guid,
+ selector: e,
+ needsContext: e && n.expr.match.needsContext.test(e),
+ namespace: p.join(".")
+ }, f), (m = i[o]) || (m = i[o] = [], m.delegateCount = 0, l.setup && l.setup.call(a, d, p, g) !== !1 || a.addEventListener &&
+ a.addEventListener(o, g)), l.add && (l.add.call(a, k), k.handler.guid || (k.handler.guid = c.guid)), e ? m.splice(
+ m.delegateCount++, 0, k) : m.push(k), n.event.global[o] = !0)
+ }
+ },
+ remove: function(a, b, c, d, e) {
+ var f, g, h, i, j, k, l, m, o, p, q, r = N.hasData(a) && N.get(a);
+ if (r && (i = r.events)) {
+ b = (b || "").match(G) || [""], j = b.length;
+ while (j--)
+ if (h = fa.exec(b[j]) || [], o = q = h[1], p = (h[2] || "").split(".").sort(), o) {
+ l = n.event.special[o] || {}, o = (d ? l.delegateType : l.bindType) || o, m = i[o] || [], h = h[2] && new RegExp(
+ "(^|\\.)" + p.join("\\.(?:.*\\.|)") + "(\\.|$)"), g = f = m.length;
+ while (f--) k = m[f], !e && q !== k.origType || c && c.guid !== k.guid || h && !h.test(k.namespace) || d && d !==
+ k.selector && ("**" !== d || !k.selector) || (m.splice(f, 1), k.selector && m.delegateCount--, l.remove && l.remove
+ .call(a, k));
+ g && !m.length && (l.teardown && l.teardown.call(a, p, r.handle) !== !1 || n.removeEvent(a, o, r.handle),
+ delete i[o])
+ } else
+ for (o in i) n.event.remove(a, o + b[j], c, d, !0);
+ n.isEmptyObject(i) && N.remove(a, "handle events")
+ }
+ },
+ dispatch: function(a) {
+ a = n.event.fix(a);
+ var b, c, d, f, g, h = [],
+ i = e.call(arguments),
+ j = (N.get(this, "events") || {})[a.type] || [],
+ k = n.event.special[a.type] || {};
+ if (i[0] = a, a.delegateTarget = this, !k.preDispatch || k.preDispatch.call(this, a) !== !1) {
+ h = n.event.handlers.call(this, a, j), b = 0;
+ while ((f = h[b++]) && !a.isPropagationStopped()) {
+ a.currentTarget = f.elem, c = 0;
+ while ((g = f.handlers[c++]) && !a.isImmediatePropagationStopped())(!a.rnamespace || a.rnamespace.test(g.namespace)) &&
+ (a.handleObj = g, a.data = g.data, d = ((n.event.special[g.origType] || {}).handle || g.handler).apply(f.elem,
+ i), void 0 !== d && (a.result = d) === !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 && ("click" !== a.type || isNaN(a.button) || a.button < 1))
+ for (; i !== this; i = i.parentNode || this)
+ if (1 === i.nodeType && (i.disabled !== !0 || "click" !== a.type)) {
+ for (d = [], c = 0; h > c; c++) f = b[c], e = f.selector + " ", void 0 === d[e] && (d[e] = f.needsContext ? n(
+ e, this).index(i) > -1 : n.find(e, this, null, [i]).length), d[e] && d.push(f);
+ d.length && g.push({
+ elem: i,
+ handlers: d
+ })
+ } return h < b.length && g.push({
+ elem: this,
+ handlers: b.slice(h)
+ }), g
+ },
+ props: "altKey bubbles cancelable ctrlKey currentTarget detail 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 offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
+ filter: function(a, b) {
+ var c, e, f, g = b.button;
+ return null == a.pageX && null != b.clientX && (c = a.target.ownerDocument || d, e = c.documentElement, f = c.body,
+ a.pageX = b.clientX + (e && e.scrollLeft || f && f.scrollLeft || 0) - (e && e.clientLeft || f && f.clientLeft ||
+ 0), a.pageY = b.clientY + (e && e.scrollTop || f && f.scrollTop || 0) - (e && e.clientTop || f && f.clientTop ||
+ 0)), a.which || void 0 === g || (a.which = 1 & g ? 1 : 2 & g ? 3 : 4 & g ? 2 : 0), a
+ }
+ },
+ fix: function(a) {
+ if (a[n.expando]) return a;
+ var b, c, e, f = a.type,
+ g = a,
+ h = this.fixHooks[f];
+ h || (this.fixHooks[f] = h = ea.test(f) ? this.mouseHooks : da.test(f) ? this.keyHooks : {}), e = h.props ? this.props
+ .concat(h.props) : this.props, a = new n.Event(g), b = e.length;
+ while (b--) c = e[b], a[c] = g[c];
+ return a.target || (a.target = d), 3 === a.target.nodeType && (a.target = a.target.parentNode), h.filter ? h.filter(
+ a, g) : a
+ },
+ special: {
+ load: {
+ noBubble: !0
+ },
+ focus: {
+ trigger: function() {
+ return this !== ia() && this.focus ? (this.focus(), !1) : void 0
+ },
+ delegateType: "focusin"
+ },
+ blur: {
+ trigger: function() {
+ return this === ia() && this.blur ? (this.blur(), !1) : void 0
+ },
+ delegateType: "focusout"
+ },
+ click: {
+ trigger: function() {
+ return "checkbox" === this.type && this.click && n.nodeName(this, "input") ? (this.click(), !1) : void 0
+ },
+ _default: function(a) {
+ return n.nodeName(a.target, "a")
+ }
+ },
+ beforeunload: {
+ postDispatch: function(a) {
+ void 0 !== a.result && a.originalEvent && (a.originalEvent.returnValue = a.result)
+ }
+ }
+ }
+ }, n.removeEvent = function(a, b, c) {
+ a.removeEventListener && a.removeEventListener(b, c)
+ }, n.Event = function(a, b) {
+ return this instanceof n.Event ? (a && a.type ? (this.originalEvent = a, this.type = a.type, this.isDefaultPrevented =
+ a.defaultPrevented || void 0 === a.defaultPrevented && a.returnValue === !1 ? ga : ha) : this.type = a, b && n.extend(
+ this, b), this.timeStamp = a && a.timeStamp || n.now(), void(this[n.expando] = !0)) : new n.Event(a, b)
+ }, n.Event.prototype = {
+ constructor: n.Event,
+ isDefaultPrevented: ha,
+ isPropagationStopped: ha,
+ isImmediatePropagationStopped: ha,
+ preventDefault: function() {
+ var a = this.originalEvent;
+ this.isDefaultPrevented = ga, a && a.preventDefault()
+ },
+ stopPropagation: function() {
+ var a = this.originalEvent;
+ this.isPropagationStopped = ga, a && a.stopPropagation()
+ },
+ stopImmediatePropagation: function() {
+ var a = this.originalEvent;
+ this.isImmediatePropagationStopped = ga, a && a.stopImmediatePropagation(), this.stopPropagation()
+ }
+ }, n.each({
+ mouseenter: "mouseover",
+ mouseleave: "mouseout",
+ pointerenter: "pointerover",
+ pointerleave: "pointerout"
+ }, function(a, b) {
+ n.event.special[a] = {
+ delegateType: b,
+ bindType: b,
+ handle: function(a) {
+ var c, d = this,
+ e = a.relatedTarget,
+ f = a.handleObj;
+ return (!e || e !== d && !n.contains(d, e)) && (a.type = f.origType, c = f.handler.apply(this, arguments), a.type =
+ b), c
+ }
+ }
+ }), n.fn.extend({
+ on: function(a, b, c, d) {
+ return ja(this, a, b, c, d)
+ },
+ one: function(a, b, c, d) {
+ return ja(this, a, b, c, d, 1)
+ },
+ off: function(a, b, c) {
+ var d, e;
+ if (a && a.preventDefault && a.handleObj) return d = a.handleObj, n(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 = ha), this.each(function() {
+ n.event.remove(this, a, c, b)
+ })
+ }
+ });
+ var ka = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,
+ la = /
+