.angucomplete-holder {
    position: relative;
}

.angucomplete-dropdown {
    border-color: #ececec;
    border-width: 1px;
    border-style: solid;
    border-radius: 2px;
    width: 250px;
    padding: 6px;
    cursor: pointer;
    z-index: 9999;
    position: absolute;
    /*top: 32px;
    left: 0px;
    */
    margin-top: -6px;
    background-color: #ffffff;
}

.angucomplete-searching {
    color: #acacac;
    font-size: 14px;
}

.angucomplete-description {
    font-size: 14px;
}

.angucomplete-row {
    padding: 5px;
    color: #000000;
    margin-bottom: 4px;
    clear: both;
}

.angucomplete-selected-row {
    background-color: lightblue;
    color: #ffffff;
}

.angucomplete-image-holder {
    padding-top: 2px;
    float: left;
    margin-right: 10px;
    margin-left: 5px;
}

.angucomplete-image {
    height: 34px;
    width: 34px;
    border-radius: 50%;
    border-color: #ececec;
    border-style: solid;
    border-width: 1px;
}

.angucomplete-image-default {
    /* Add your own default image here
     background-image: url('/assets/default.png');
    */
    background-position: center;
    background-size: contain;
    height: 34px;
    width: 34px;
}

.lightbox-nav{position:relative;margin-bottom:12px;text-align:center;font-size:0}.lightbox-nav .btn-group{vertical-align:top}.lightbox-nav .close{position:absolute;top:0;right:0}.lightbox-image-container{position:relative;text-align:center}.lightbox-image-caption{position:absolute;top:0;left:0;margin:.5em .9em;color:#000;font-size:1.5em;font-weight:700;text-align:left;text-shadow:.1em .1em .2em rgba(255,255,255,.5)}.lightbox-image-caption span{padding-top:.1em;padding-bottom:.1em;background-color:rgba(255,255,255,.75);box-shadow:.4em 0 0 rgba(255,255,255,.75),-.4em 0 0 rgba(255,255,255,.75)}
/*!
 *  Font Awesome 4.4.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: 'FontAwesome';
  src: url('../fonts/fontawesome-webfont.eot?v=4.4.0');
  src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.4.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.4.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.4.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.4.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular') format('svg');
  font-weight: normal;
  font-style: normal;
}
.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.33333333em;
  line-height: 0.75em;
  vertical-align: -15%;
}
.fa-2x {
  font-size: 2em;
}
.fa-3x {
  font-size: 3em;
}
.fa-4x {
  font-size: 4em;
}
.fa-5x {
  font-size: 5em;
}
.fa-fw {
  width: 1.28571429em;
  text-align: center;
}
.fa-ul {
  padding-left: 0;
  margin-left: 2.14285714em;
  list-style-type: none;
}
.fa-ul > li {
  position: relative;
}
.fa-li {
  position: absolute;
  left: -2.14285714em;
  width: 2.14285714em;
  top: 0.14285714em;
  text-align: center;
}
.fa-li.fa-lg {
  left: -1.85714286em;
}
.fa-border {
  padding: .2em .25em .15em;
  border: solid 0.08em #eeeeee;
  border-radius: .1em;
}
.fa-pull-left {
  float: left;
}
.fa-pull-right {
  float: right;
}
.fa.fa-pull-left {
  margin-right: .3em;
}
.fa.fa-pull-right {
  margin-left: .3em;
}
/* Deprecated as of 4.4.0 */
.pull-right {
  float: right;
}
.pull-left {
  float: left;
}
.fa.pull-left {
  margin-right: .3em;
}
.fa.pull-right {
  margin-left: .3em;
}
.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear;
}
.fa-pulse {
  -webkit-animation: fa-spin 1s infinite steps(8);
  animation: fa-spin 1s infinite steps(8);
}
@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
.fa-rotate-90 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}
.fa-rotate-180 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}
.fa-rotate-270 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}
.fa-flip-horizontal {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1);
}
.fa-flip-vertical {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
  -webkit-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  transform: scale(1, -1);
}
:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
  filter: none;
}
.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}
.fa-stack-1x,
.fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}
.fa-stack-1x {
  line-height: inherit;
}
.fa-stack-2x {
  font-size: 2em;
}
.fa-inverse {
  color: #ffffff;
}
/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-glass:before {
  content: "\f000";
}
.fa-music:before {
  content: "\f001";
}
.fa-search:before {
  content: "\f002";
}
.fa-envelope-o:before {
  content: "\f003";
}
.fa-heart:before {
  content: "\f004";
}
.fa-star:before {
  content: "\f005";
}
.fa-star-o:before {
  content: "\f006";
}
.fa-user:before {
  content: "\f007";
}
.fa-film:before {
  content: "\f008";
}
.fa-th-large:before {
  content: "\f009";
}
.fa-th:before {
  content: "\f00a";
}
.fa-th-list:before {
  content: "\f00b";
}
.fa-check:before {
  content: "\f00c";
}
.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: "\f00d";
}
.fa-search-plus:before {
  content: "\f00e";
}
.fa-search-minus:before {
  content: "\f010";
}
.fa-power-off:before {
  content: "\f011";
}
.fa-signal:before {
  content: "\f012";
}
.fa-gear:before,
.fa-cog:before {
  content: "\f013";
}
.fa-trash-o:before {
  content: "\f014";
}
.fa-home:before {
  content: "\f015";
}
.fa-file-o:before {
  content: "\f016";
}
.fa-clock-o:before {
  content: "\f017";
}
.fa-road:before {
  content: "\f018";
}
.fa-download:before {
  content: "\f019";
}
.fa-arrow-circle-o-down:before {
  content: "\f01a";
}
.fa-arrow-circle-o-up:before {
  content: "\f01b";
}
.fa-inbox:before {
  content: "\f01c";
}
.fa-play-circle-o:before {
  content: "\f01d";
}
.fa-rotate-right:before,
.fa-repeat:before {
  content: "\f01e";
}
.fa-refresh:before {
  content: "\f021";
}
.fa-list-alt:before {
  content: "\f022";
}
.fa-lock:before {
  content: "\f023";
}
.fa-flag:before {
  content: "\f024";
}
.fa-headphones:before {
  content: "\f025";
}
.fa-volume-off:before {
  content: "\f026";
}
.fa-volume-down:before {
  content: "\f027";
}
.fa-volume-up:before {
  content: "\f028";
}
.fa-qrcode:before {
  content: "\f029";
}
.fa-barcode:before {
  content: "\f02a";
}
.fa-tag:before {
  content: "\f02b";
}
.fa-tags:before {
  content: "\f02c";
}
.fa-book:before {
  content: "\f02d";
}
.fa-bookmark:before {
  content: "\f02e";
}
.fa-print:before {
  content: "\f02f";
}
.fa-camera:before {
  content: "\f030";
}
.fa-font:before {
  content: "\f031";
}
.fa-bold:before {
  content: "\f032";
}
.fa-italic:before {
  content: "\f033";
}
.fa-text-height:before {
  content: "\f034";
}
.fa-text-width:before {
  content: "\f035";
}
.fa-align-left:before {
  content: "\f036";
}
.fa-align-center:before {
  content: "\f037";
}
.fa-align-right:before {
  content: "\f038";
}
.fa-align-justify:before {
  content: "\f039";
}
.fa-list:before {
  content: "\f03a";
}
.fa-dedent:before,
.fa-outdent:before {
  content: "\f03b";
}
.fa-indent:before {
  content: "\f03c";
}
.fa-video-camera:before {
  content: "\f03d";
}
.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: "\f03e";
}
.fa-pencil:before {
  content: "\f040";
}
.fa-map-marker:before {
  content: "\f041";
}
.fa-adjust:before {
  content: "\f042";
}
.fa-tint:before {
  content: "\f043";
}
.fa-edit:before,
.fa-pencil-square-o:before {
  content: "\f044";
}
.fa-share-square-o:before {
  content: "\f045";
}
.fa-check-square-o:before {
  content: "\f046";
}
.fa-arrows:before {
  content: "\f047";
}
.fa-step-backward:before {
  content: "\f048";
}
.fa-fast-backward:before {
  content: "\f049";
}
.fa-backward:before {
  content: "\f04a";
}
.fa-play:before {
  content: "\f04b";
}
.fa-pause:before {
  content: "\f04c";
}
.fa-stop:before {
  content: "\f04d";
}
.fa-forward:before {
  content: "\f04e";
}
.fa-fast-forward:before {
  content: "\f050";
}
.fa-step-forward:before {
  content: "\f051";
}
.fa-eject:before {
  content: "\f052";
}
.fa-chevron-left:before {
  content: "\f053";
}
.fa-chevron-right:before {
  content: "\f054";
}
.fa-plus-circle:before {
  content: "\f055";
}
.fa-minus-circle:before {
  content: "\f056";
}
.fa-times-circle:before {
  content: "\f057";
}
.fa-check-circle:before {
  content: "\f058";
}
.fa-question-circle:before {
  content: "\f059";
}
.fa-info-circle:before {
  content: "\f05a";
}
.fa-crosshairs:before {
  content: "\f05b";
}
.fa-times-circle-o:before {
  content: "\f05c";
}
.fa-check-circle-o:before {
  content: "\f05d";
}
.fa-ban:before {
  content: "\f05e";
}
.fa-arrow-left:before {
  content: "\f060";
}
.fa-arrow-right:before {
  content: "\f061";
}
.fa-arrow-up:before {
  content: "\f062";
}
.fa-arrow-down:before {
  content: "\f063";
}
.fa-mail-forward:before,
.fa-share:before {
  content: "\f064";
}
.fa-expand:before {
  content: "\f065";
}
.fa-compress:before {
  content: "\f066";
}
.fa-plus:before {
  content: "\f067";
}
.fa-minus:before {
  content: "\f068";
}
.fa-asterisk:before {
  content: "\f069";
}
.fa-exclamation-circle:before {
  content: "\f06a";
}
.fa-gift:before {
  content: "\f06b";
}
.fa-leaf:before {
  content: "\f06c";
}
.fa-fire:before {
  content: "\f06d";
}
.fa-eye:before {
  content: "\f06e";
}
.fa-eye-slash:before {
  content: "\f070";
}
.fa-warning:before,
.fa-exclamation-triangle:before {
  content: "\f071";
}
.fa-plane:before {
  content: "\f072";
}
.fa-calendar:before {
  content: "\f073";
}
.fa-random:before {
  content: "\f074";
}
.fa-comment:before {
  content: "\f075";
}
.fa-magnet:before {
  content: "\f076";
}
.fa-chevron-up:before {
  content: "\f077";
}
.fa-chevron-down:before {
  content: "\f078";
}
.fa-retweet:before {
  content: "\f079";
}
.fa-shopping-cart:before {
  content: "\f07a";
}
.fa-folder:before {
  content: "\f07b";
}
.fa-folder-open:before {
  content: "\f07c";
}
.fa-arrows-v:before {
  content: "\f07d";
}
.fa-arrows-h:before {
  content: "\f07e";
}
.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: "\f080";
}
.fa-twitter-square:before {
  content: "\f081";
}
.fa-facebook-square:before {
  content: "\f082";
}
.fa-camera-retro:before {
  content: "\f083";
}
.fa-key:before {
  content: "\f084";
}
.fa-gears:before,
.fa-cogs:before {
  content: "\f085";
}
.fa-comments:before {
  content: "\f086";
}
.fa-thumbs-o-up:before {
  content: "\f087";
}
.fa-thumbs-o-down:before {
  content: "\f088";
}
.fa-star-half:before {
  content: "\f089";
}
.fa-heart-o:before {
  content: "\f08a";
}
.fa-sign-out:before {
  content: "\f08b";
}
.fa-linkedin-square:before {
  content: "\f08c";
}
.fa-thumb-tack:before {
  content: "\f08d";
}
.fa-external-link:before {
  content: "\f08e";
}
.fa-sign-in:before {
  content: "\f090";
}
.fa-trophy:before {
  content: "\f091";
}
.fa-github-square:before {
  content: "\f092";
}
.fa-upload:before {
  content: "\f093";
}
.fa-lemon-o:before {
  content: "\f094";
}
.fa-phone:before {
  content: "\f095";
}
.fa-square-o:before {
  content: "\f096";
}
.fa-bookmark-o:before {
  content: "\f097";
}
.fa-phone-square:before {
  content: "\f098";
}
.fa-twitter:before {
  content: "\f099";
}
.fa-facebook-f:before,
.fa-facebook:before {
  content: "\f09a";
}
.fa-github:before {
  content: "\f09b";
}
.fa-unlock:before {
  content: "\f09c";
}
.fa-credit-card:before {
  content: "\f09d";
}
.fa-feed:before,
.fa-rss:before {
  content: "\f09e";
}
.fa-hdd-o:before {
  content: "\f0a0";
}
.fa-bullhorn:before {
  content: "\f0a1";
}
.fa-bell:before {
  content: "\f0f3";
}
.fa-certificate:before {
  content: "\f0a3";
}
.fa-hand-o-right:before {
  content: "\f0a4";
}
.fa-hand-o-left:before {
  content: "\f0a5";
}
.fa-hand-o-up:before {
  content: "\f0a6";
}
.fa-hand-o-down:before {
  content: "\f0a7";
}
.fa-arrow-circle-left:before {
  content: "\f0a8";
}
.fa-arrow-circle-right:before {
  content: "\f0a9";
}
.fa-arrow-circle-up:before {
  content: "\f0aa";
}
.fa-arrow-circle-down:before {
  content: "\f0ab";
}
.fa-globe:before {
  content: "\f0ac";
}
.fa-wrench:before {
  content: "\f0ad";
}
.fa-tasks:before {
  content: "\f0ae";
}
.fa-filter:before {
  content: "\f0b0";
}
.fa-briefcase:before {
  content: "\f0b1";
}
.fa-arrows-alt:before {
  content: "\f0b2";
}
.fa-group:before,
.fa-users:before {
  content: "\f0c0";
}
.fa-chain:before,
.fa-link:before {
  content: "\f0c1";
}
.fa-cloud:before {
  content: "\f0c2";
}
.fa-flask:before {
  content: "\f0c3";
}
.fa-cut:before,
.fa-scissors:before {
  content: "\f0c4";
}
.fa-copy:before,
.fa-files-o:before {
  content: "\f0c5";
}
.fa-paperclip:before {
  content: "\f0c6";
}
.fa-save:before,
.fa-floppy-o:before {
  content: "\f0c7";
}
.fa-square:before {
  content: "\f0c8";
}
.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: "\f0c9";
}
.fa-list-ul:before {
  content: "\f0ca";
}
.fa-list-ol:before {
  content: "\f0cb";
}
.fa-strikethrough:before {
  content: "\f0cc";
}
.fa-underline:before {
  content: "\f0cd";
}
.fa-table:before {
  content: "\f0ce";
}
.fa-magic:before {
  content: "\f0d0";
}
.fa-truck:before {
  content: "\f0d1";
}
.fa-pinterest:before {
  content: "\f0d2";
}
.fa-pinterest-square:before {
  content: "\f0d3";
}
.fa-google-plus-square:before {
  content: "\f0d4";
}
.fa-google-plus:before {
  content: "\f0d5";
}
.fa-money:before {
  content: "\f0d6";
}
.fa-caret-down:before {
  content: "\f0d7";
}
.fa-caret-up:before {
  content: "\f0d8";
}
.fa-caret-left:before {
  content: "\f0d9";
}
.fa-caret-right:before {
  content: "\f0da";
}
.fa-columns:before {
  content: "\f0db";
}
.fa-unsorted:before,
.fa-sort:before {
  content: "\f0dc";
}
.fa-sort-down:before,
.fa-sort-desc:before {
  content: "\f0dd";
}
.fa-sort-up:before,
.fa-sort-asc:before {
  content: "\f0de";
}
.fa-envelope:before {
  content: "\f0e0";
}
.fa-linkedin:before {
  content: "\f0e1";
}
.fa-rotate-left:before,
.fa-undo:before {
  content: "\f0e2";
}
.fa-legal:before,
.fa-gavel:before {
  content: "\f0e3";
}
.fa-dashboard:before,
.fa-tachometer:before {
  content: "\f0e4";
}
.fa-comment-o:before {
  content: "\f0e5";
}
.fa-comments-o:before {
  content: "\f0e6";
}
.fa-flash:before,
.fa-bolt:before {
  content: "\f0e7";
}
.fa-sitemap:before {
  content: "\f0e8";
}
.fa-umbrella:before {
  content: "\f0e9";
}
.fa-paste:before,
.fa-clipboard:before {
  content: "\f0ea";
}
.fa-lightbulb-o:before {
  content: "\f0eb";
}
.fa-exchange:before {
  content: "\f0ec";
}
.fa-cloud-download:before {
  content: "\f0ed";
}
.fa-cloud-upload:before {
  content: "\f0ee";
}
.fa-user-md:before {
  content: "\f0f0";
}
.fa-stethoscope:before {
  content: "\f0f1";
}
.fa-suitcase:before {
  content: "\f0f2";
}
.fa-bell-o:before {
  content: "\f0a2";
}
.fa-coffee:before {
  content: "\f0f4";
}
.fa-cutlery:before {
  content: "\f0f5";
}
.fa-file-text-o:before {
  content: "\f0f6";
}
.fa-building-o:before {
  content: "\f0f7";
}
.fa-hospital-o:before {
  content: "\f0f8";
}
.fa-ambulance:before {
  content: "\f0f9";
}
.fa-medkit:before {
  content: "\f0fa";
}
.fa-fighter-jet:before {
  content: "\f0fb";
}
.fa-beer:before {
  content: "\f0fc";
}
.fa-h-square:before {
  content: "\f0fd";
}
.fa-plus-square:before {
  content: "\f0fe";
}
.fa-angle-double-left:before {
  content: "\f100";
}
.fa-angle-double-right:before {
  content: "\f101";
}
.fa-angle-double-up:before {
  content: "\f102";
}
.fa-angle-double-down:before {
  content: "\f103";
}
.fa-angle-left:before {
  content: "\f104";
}
.fa-angle-right:before {
  content: "\f105";
}
.fa-angle-up:before {
  content: "\f106";
}
.fa-angle-down:before {
  content: "\f107";
}
.fa-desktop:before {
  content: "\f108";
}
.fa-laptop:before {
  content: "\f109";
}
.fa-tablet:before {
  content: "\f10a";
}
.fa-mobile-phone:before,
.fa-mobile:before {
  content: "\f10b";
}
.fa-circle-o:before {
  content: "\f10c";
}
.fa-quote-left:before {
  content: "\f10d";
}
.fa-quote-right:before {
  content: "\f10e";
}
.fa-spinner:before {
  content: "\f110";
}
.fa-circle:before {
  content: "\f111";
}
.fa-mail-reply:before,
.fa-reply:before {
  content: "\f112";
}
.fa-github-alt:before {
  content: "\f113";
}
.fa-folder-o:before {
  content: "\f114";
}
.fa-folder-open-o:before {
  content: "\f115";
}
.fa-smile-o:before {
  content: "\f118";
}
.fa-frown-o:before {
  content: "\f119";
}
.fa-meh-o:before {
  content: "\f11a";
}
.fa-gamepad:before {
  content: "\f11b";
}
.fa-keyboard-o:before {
  content: "\f11c";
}
.fa-flag-o:before {
  content: "\f11d";
}
.fa-flag-checkered:before {
  content: "\f11e";
}
.fa-terminal:before {
  content: "\f120";
}
.fa-code:before {
  content: "\f121";
}
.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: "\f122";
}
.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: "\f123";
}
.fa-location-arrow:before {
  content: "\f124";
}
.fa-crop:before {
  content: "\f125";
}
.fa-code-fork:before {
  content: "\f126";
}
.fa-unlink:before,
.fa-chain-broken:before {
  content: "\f127";
}
.fa-question:before {
  content: "\f128";
}
.fa-info:before {
  content: "\f129";
}
.fa-exclamation:before {
  content: "\f12a";
}
.fa-superscript:before {
  content: "\f12b";
}
.fa-subscript:before {
  content: "\f12c";
}
.fa-eraser:before {
  content: "\f12d";
}
.fa-puzzle-piece:before {
  content: "\f12e";
}
.fa-microphone:before {
  content: "\f130";
}
.fa-microphone-slash:before {
  content: "\f131";
}
.fa-shield:before {
  content: "\f132";
}
.fa-calendar-o:before {
  content: "\f133";
}
.fa-fire-extinguisher:before {
  content: "\f134";
}
.fa-rocket:before {
  content: "\f135";
}
.fa-maxcdn:before {
  content: "\f136";
}
.fa-chevron-circle-left:before {
  content: "\f137";
}
.fa-chevron-circle-right:before {
  content: "\f138";
}
.fa-chevron-circle-up:before {
  content: "\f139";
}
.fa-chevron-circle-down:before {
  content: "\f13a";
}
.fa-html5:before {
  content: "\f13b";
}
.fa-css3:before {
  content: "\f13c";
}
.fa-anchor:before {
  content: "\f13d";
}
.fa-unlock-alt:before {
  content: "\f13e";
}
.fa-bullseye:before {
  content: "\f140";
}
.fa-ellipsis-h:before {
  content: "\f141";
}
.fa-ellipsis-v:before {
  content: "\f142";
}
.fa-rss-square:before {
  content: "\f143";
}
.fa-play-circle:before {
  content: "\f144";
}
.fa-ticket:before {
  content: "\f145";
}
.fa-minus-square:before {
  content: "\f146";
}
.fa-minus-square-o:before {
  content: "\f147";
}
.fa-level-up:before {
  content: "\f148";
}
.fa-level-down:before {
  content: "\f149";
}
.fa-check-square:before {
  content: "\f14a";
}
.fa-pencil-square:before {
  content: "\f14b";
}
.fa-external-link-square:before {
  content: "\f14c";
}
.fa-share-square:before {
  content: "\f14d";
}
.fa-compass:before {
  content: "\f14e";
}
.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: "\f150";
}
.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: "\f151";
}
.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: "\f152";
}
.fa-euro:before,
.fa-eur:before {
  content: "\f153";
}
.fa-gbp:before {
  content: "\f154";
}
.fa-dollar:before,
.fa-usd:before {
  content: "\f155";
}
.fa-rupee:before,
.fa-inr:before {
  content: "\f156";
}
.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: "\f157";
}
.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: "\f158";
}
.fa-won:before,
.fa-krw:before {
  content: "\f159";
}
.fa-bitcoin:before,
.fa-btc:before {
  content: "\f15a";
}
.fa-file:before {
  content: "\f15b";
}
.fa-file-text:before {
  content: "\f15c";
}
.fa-sort-alpha-asc:before {
  content: "\f15d";
}
.fa-sort-alpha-desc:before {
  content: "\f15e";
}
.fa-sort-amount-asc:before {
  content: "\f160";
}
.fa-sort-amount-desc:before {
  content: "\f161";
}
.fa-sort-numeric-asc:before {
  content: "\f162";
}
.fa-sort-numeric-desc:before {
  content: "\f163";
}
.fa-thumbs-up:before {
  content: "\f164";
}
.fa-thumbs-down:before {
  content: "\f165";
}
.fa-youtube-square:before {
  content: "\f166";
}
.fa-youtube:before {
  content: "\f167";
}
.fa-xing:before {
  content: "\f168";
}
.fa-xing-square:before {
  content: "\f169";
}
.fa-youtube-play:before {
  content: "\f16a";
}
.fa-dropbox:before {
  content: "\f16b";
}
.fa-stack-overflow:before {
  content: "\f16c";
}
.fa-instagram:before {
  content: "\f16d";
}
.fa-flickr:before {
  content: "\f16e";
}
.fa-adn:before {
  content: "\f170";
}
.fa-bitbucket:before {
  content: "\f171";
}
.fa-bitbucket-square:before {
  content: "\f172";
}
.fa-tumblr:before {
  content: "\f173";
}
.fa-tumblr-square:before {
  content: "\f174";
}
.fa-long-arrow-down:before {
  content: "\f175";
}
.fa-long-arrow-up:before {
  content: "\f176";
}
.fa-long-arrow-left:before {
  content: "\f177";
}
.fa-long-arrow-right:before {
  content: "\f178";
}
.fa-apple:before {
  content: "\f179";
}
.fa-windows:before {
  content: "\f17a";
}
.fa-android:before {
  content: "\f17b";
}
.fa-linux:before {
  content: "\f17c";
}
.fa-dribbble:before {
  content: "\f17d";
}
.fa-skype:before {
  content: "\f17e";
}
.fa-foursquare:before {
  content: "\f180";
}
.fa-trello:before {
  content: "\f181";
}
.fa-female:before {
  content: "\f182";
}
.fa-male:before {
  content: "\f183";
}
.fa-gittip:before,
.fa-gratipay:before {
  content: "\f184";
}
.fa-sun-o:before {
  content: "\f185";
}
.fa-moon-o:before {
  content: "\f186";
}
.fa-archive:before {
  content: "\f187";
}
.fa-bug:before {
  content: "\f188";
}
.fa-vk:before {
  content: "\f189";
}
.fa-weibo:before {
  content: "\f18a";
}
.fa-renren:before {
  content: "\f18b";
}
.fa-pagelines:before {
  content: "\f18c";
}
.fa-stack-exchange:before {
  content: "\f18d";
}
.fa-arrow-circle-o-right:before {
  content: "\f18e";
}
.fa-arrow-circle-o-left:before {
  content: "\f190";
}
.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: "\f191";
}
.fa-dot-circle-o:before {
  content: "\f192";
}
.fa-wheelchair:before {
  content: "\f193";
}
.fa-vimeo-square:before {
  content: "\f194";
}
.fa-turkish-lira:before,
.fa-try:before {
  content: "\f195";
}
.fa-plus-square-o:before {
  content: "\f196";
}
.fa-space-shuttle:before {
  content: "\f197";
}
.fa-slack:before {
  content: "\f198";
}
.fa-envelope-square:before {
  content: "\f199";
}
.fa-wordpress:before {
  content: "\f19a";
}
.fa-openid:before {
  content: "\f19b";
}
.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: "\f19c";
}
.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: "\f19d";
}
.fa-yahoo:before {
  content: "\f19e";
}
.fa-google:before {
  content: "\f1a0";
}
.fa-reddit:before {
  content: "\f1a1";
}
.fa-reddit-square:before {
  content: "\f1a2";
}
.fa-stumbleupon-circle:before {
  content: "\f1a3";
}
.fa-stumbleupon:before {
  content: "\f1a4";
}
.fa-delicious:before {
  content: "\f1a5";
}
.fa-digg:before {
  content: "\f1a6";
}
.fa-pied-piper:before {
  content: "\f1a7";
}
.fa-pied-piper-alt:before {
  content: "\f1a8";
}
.fa-drupal:before {
  content: "\f1a9";
}
.fa-joomla:before {
  content: "\f1aa";
}
.fa-language:before {
  content: "\f1ab";
}
.fa-fax:before {
  content: "\f1ac";
}
.fa-building:before {
  content: "\f1ad";
}
.fa-child:before {
  content: "\f1ae";
}
.fa-paw:before {
  content: "\f1b0";
}
.fa-spoon:before {
  content: "\f1b1";
}
.fa-cube:before {
  content: "\f1b2";
}
.fa-cubes:before {
  content: "\f1b3";
}
.fa-behance:before {
  content: "\f1b4";
}
.fa-behance-square:before {
  content: "\f1b5";
}
.fa-steam:before {
  content: "\f1b6";
}
.fa-steam-square:before {
  content: "\f1b7";
}
.fa-recycle:before {
  content: "\f1b8";
}
.fa-automobile:before,
.fa-car:before {
  content: "\f1b9";
}
.fa-cab:before,
.fa-taxi:before {
  content: "\f1ba";
}
.fa-tree:before {
  content: "\f1bb";
}
.fa-spotify:before {
  content: "\f1bc";
}
.fa-deviantart:before {
  content: "\f1bd";
}
.fa-soundcloud:before {
  content: "\f1be";
}
.fa-database:before {
  content: "\f1c0";
}
.fa-file-pdf-o:before {
  content: "\f1c1";
}
.fa-file-word-o:before {
  content: "\f1c2";
}
.fa-file-excel-o:before {
  content: "\f1c3";
}
.fa-file-powerpoint-o:before {
  content: "\f1c4";
}
.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: "\f1c5";
}
.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: "\f1c6";
}
.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: "\f1c7";
}
.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: "\f1c8";
}
.fa-file-code-o:before {
  content: "\f1c9";
}
.fa-vine:before {
  content: "\f1ca";
}
.fa-codepen:before {
  content: "\f1cb";
}
.fa-jsfiddle:before {
  content: "\f1cc";
}
.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: "\f1cd";
}
.fa-circle-o-notch:before {
  content: "\f1ce";
}
.fa-ra:before,
.fa-rebel:before {
  content: "\f1d0";
}
.fa-ge:before,
.fa-empire:before {
  content: "\f1d1";
}
.fa-git-square:before {
  content: "\f1d2";
}
.fa-git:before {
  content: "\f1d3";
}
.fa-y-combinator-square:before,
.fa-yc-square:before,
.fa-hacker-news:before {
  content: "\f1d4";
}
.fa-tencent-weibo:before {
  content: "\f1d5";
}
.fa-qq:before {
  content: "\f1d6";
}
.fa-wechat:before,
.fa-weixin:before {
  content: "\f1d7";
}
.fa-send:before,
.fa-paper-plane:before {
  content: "\f1d8";
}
.fa-send-o:before,
.fa-paper-plane-o:before {
  content: "\f1d9";
}
.fa-history:before {
  content: "\f1da";
}
.fa-circle-thin:before {
  content: "\f1db";
}
.fa-header:before {
  content: "\f1dc";
}
.fa-paragraph:before {
  content: "\f1dd";
}
.fa-sliders:before {
  content: "\f1de";
}
.fa-share-alt:before {
  content: "\f1e0";
}
.fa-share-alt-square:before {
  content: "\f1e1";
}
.fa-bomb:before {
  content: "\f1e2";
}
.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: "\f1e3";
}
.fa-tty:before {
  content: "\f1e4";
}
.fa-binoculars:before {
  content: "\f1e5";
}
.fa-plug:before {
  content: "\f1e6";
}
.fa-slideshare:before {
  content: "\f1e7";
}
.fa-twitch:before {
  content: "\f1e8";
}
.fa-yelp:before {
  content: "\f1e9";
}
.fa-newspaper-o:before {
  content: "\f1ea";
}
.fa-wifi:before {
  content: "\f1eb";
}
.fa-calculator:before {
  content: "\f1ec";
}
.fa-paypal:before {
  content: "\f1ed";
}
.fa-google-wallet:before {
  content: "\f1ee";
}
.fa-cc-visa:before {
  content: "\f1f0";
}
.fa-cc-mastercard:before {
  content: "\f1f1";
}
.fa-cc-discover:before {
  content: "\f1f2";
}
.fa-cc-amex:before {
  content: "\f1f3";
}
.fa-cc-paypal:before {
  content: "\f1f4";
}
.fa-cc-stripe:before {
  content: "\f1f5";
}
.fa-bell-slash:before {
  content: "\f1f6";
}
.fa-bell-slash-o:before {
  content: "\f1f7";
}
.fa-trash:before {
  content: "\f1f8";
}
.fa-copyright:before {
  content: "\f1f9";
}
.fa-at:before {
  content: "\f1fa";
}
.fa-eyedropper:before {
  content: "\f1fb";
}
.fa-paint-brush:before {
  content: "\f1fc";
}
.fa-birthday-cake:before {
  content: "\f1fd";
}
.fa-area-chart:before {
  content: "\f1fe";
}
.fa-pie-chart:before {
  content: "\f200";
}
.fa-line-chart:before {
  content: "\f201";
}
.fa-lastfm:before {
  content: "\f202";
}
.fa-lastfm-square:before {
  content: "\f203";
}
.fa-toggle-off:before {
  content: "\f204";
}
.fa-toggle-on:before {
  content: "\f205";
}
.fa-bicycle:before {
  content: "\f206";
}
.fa-bus:before {
  content: "\f207";
}
.fa-ioxhost:before {
  content: "\f208";
}
.fa-angellist:before {
  content: "\f209";
}
.fa-cc:before {
  content: "\f20a";
}
.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: "\f20b";
}
.fa-meanpath:before {
  content: "\f20c";
}
.fa-buysellads:before {
  content: "\f20d";
}
.fa-connectdevelop:before {
  content: "\f20e";
}
.fa-dashcube:before {
  content: "\f210";
}
.fa-forumbee:before {
  content: "\f211";
}
.fa-leanpub:before {
  content: "\f212";
}
.fa-sellsy:before {
  content: "\f213";
}
.fa-shirtsinbulk:before {
  content: "\f214";
}
.fa-simplybuilt:before {
  content: "\f215";
}
.fa-skyatlas:before {
  content: "\f216";
}
.fa-cart-plus:before {
  content: "\f217";
}
.fa-cart-arrow-down:before {
  content: "\f218";
}
.fa-diamond:before {
  content: "\f219";
}
.fa-ship:before {
  content: "\f21a";
}
.fa-user-secret:before {
  content: "\f21b";
}
.fa-motorcycle:before {
  content: "\f21c";
}
.fa-street-view:before {
  content: "\f21d";
}
.fa-heartbeat:before {
  content: "\f21e";
}
.fa-venus:before {
  content: "\f221";
}
.fa-mars:before {
  content: "\f222";
}
.fa-mercury:before {
  content: "\f223";
}
.fa-intersex:before,
.fa-transgender:before {
  content: "\f224";
}
.fa-transgender-alt:before {
  content: "\f225";
}
.fa-venus-double:before {
  content: "\f226";
}
.fa-mars-double:before {
  content: "\f227";
}
.fa-venus-mars:before {
  content: "\f228";
}
.fa-mars-stroke:before {
  content: "\f229";
}
.fa-mars-stroke-v:before {
  content: "\f22a";
}
.fa-mars-stroke-h:before {
  content: "\f22b";
}
.fa-neuter:before {
  content: "\f22c";
}
.fa-genderless:before {
  content: "\f22d";
}
.fa-facebook-official:before {
  content: "\f230";
}
.fa-pinterest-p:before {
  content: "\f231";
}
.fa-whatsapp:before {
  content: "\f232";
}
.fa-server:before {
  content: "\f233";
}
.fa-user-plus:before {
  content: "\f234";
}
.fa-user-times:before {
  content: "\f235";
}
.fa-hotel:before,
.fa-bed:before {
  content: "\f236";
}
.fa-viacoin:before {
  content: "\f237";
}
.fa-train:before {
  content: "\f238";
}
.fa-subway:before {
  content: "\f239";
}
.fa-medium:before {
  content: "\f23a";
}
.fa-yc:before,
.fa-y-combinator:before {
  content: "\f23b";
}
.fa-optin-monster:before {
  content: "\f23c";
}
.fa-opencart:before {
  content: "\f23d";
}
.fa-expeditedssl:before {
  content: "\f23e";
}
.fa-battery-4:before,
.fa-battery-full:before {
  content: "\f240";
}
.fa-battery-3:before,
.fa-battery-three-quarters:before {
  content: "\f241";
}
.fa-battery-2:before,
.fa-battery-half:before {
  content: "\f242";
}
.fa-battery-1:before,
.fa-battery-quarter:before {
  content: "\f243";
}
.fa-battery-0:before,
.fa-battery-empty:before {
  content: "\f244";
}
.fa-mouse-pointer:before {
  content: "\f245";
}
.fa-i-cursor:before {
  content: "\f246";
}
.fa-object-group:before {
  content: "\f247";
}
.fa-object-ungroup:before {
  content: "\f248";
}
.fa-sticky-note:before {
  content: "\f249";
}
.fa-sticky-note-o:before {
  content: "\f24a";
}
.fa-cc-jcb:before {
  content: "\f24b";
}
.fa-cc-diners-club:before {
  content: "\f24c";
}
.fa-clone:before {
  content: "\f24d";
}
.fa-balance-scale:before {
  content: "\f24e";
}
.fa-hourglass-o:before {
  content: "\f250";
}
.fa-hourglass-1:before,
.fa-hourglass-start:before {
  content: "\f251";
}
.fa-hourglass-2:before,
.fa-hourglass-half:before {
  content: "\f252";
}
.fa-hourglass-3:before,
.fa-hourglass-end:before {
  content: "\f253";
}
.fa-hourglass:before {
  content: "\f254";
}
.fa-hand-grab-o:before,
.fa-hand-rock-o:before {
  content: "\f255";
}
.fa-hand-stop-o:before,
.fa-hand-paper-o:before {
  content: "\f256";
}
.fa-hand-scissors-o:before {
  content: "\f257";
}
.fa-hand-lizard-o:before {
  content: "\f258";
}
.fa-hand-spock-o:before {
  content: "\f259";
}
.fa-hand-pointer-o:before {
  content: "\f25a";
}
.fa-hand-peace-o:before {
  content: "\f25b";
}
.fa-trademark:before {
  content: "\f25c";
}
.fa-registered:before {
  content: "\f25d";
}
.fa-creative-commons:before {
  content: "\f25e";
}
.fa-gg:before {
  content: "\f260";
}
.fa-gg-circle:before {
  content: "\f261";
}
.fa-tripadvisor:before {
  content: "\f262";
}
.fa-odnoklassniki:before {
  content: "\f263";
}
.fa-odnoklassniki-square:before {
  content: "\f264";
}
.fa-get-pocket:before {
  content: "\f265";
}
.fa-wikipedia-w:before {
  content: "\f266";
}
.fa-safari:before {
  content: "\f267";
}
.fa-chrome:before {
  content: "\f268";
}
.fa-firefox:before {
  content: "\f269";
}
.fa-opera:before {
  content: "\f26a";
}
.fa-internet-explorer:before {
  content: "\f26b";
}
.fa-tv:before,
.fa-television:before {
  content: "\f26c";
}
.fa-contao:before {
  content: "\f26d";
}
.fa-500px:before {
  content: "\f26e";
}
.fa-amazon:before {
  content: "\f270";
}
.fa-calendar-plus-o:before {
  content: "\f271";
}
.fa-calendar-minus-o:before {
  content: "\f272";
}
.fa-calendar-times-o:before {
  content: "\f273";
}
.fa-calendar-check-o:before {
  content: "\f274";
}
.fa-industry:before {
  content: "\f275";
}
.fa-map-pin:before {
  content: "\f276";
}
.fa-map-signs:before {
  content: "\f277";
}
.fa-map-o:before {
  content: "\f278";
}
.fa-map:before {
  content: "\f279";
}
.fa-commenting:before {
  content: "\f27a";
}
.fa-commenting-o:before {
  content: "\f27b";
}
.fa-houzz:before {
  content: "\f27c";
}
.fa-vimeo:before {
  content: "\f27d";
}
.fa-black-tie:before {
  content: "\f27e";
}
.fa-fonticons:before {
  content: "\f280";
}

/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8; }

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden; }

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box; }

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.mfp-align-top .mfp-container:before {
  display: none; }

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045; }

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto; }

.mfp-ajax-cur {
  cursor: progress; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in; }

.mfp-auto-cursor .mfp-content {
  cursor: auto; }

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none; }

.mfp-loading.mfp-figure {
  display: none; }

.mfp-hide {
  display: none !important; }

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044; }
  .mfp-preloader a {
    color: #CCC; }
    .mfp-preloader a:hover {
      color: #FFF; }

.mfp-s-ready .mfp-preloader {
  display: none; }

.mfp-s-error .mfp-content {
  display: none; }

button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  touch-action: manipulation; }

button::-moz-focus-inner {
  padding: 0;
  border: 0; }

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace; }
  .mfp-close:hover,
  .mfp-close:focus {
    opacity: 1; }
  .mfp-close:active {
    top: 1px; }

.mfp-close-btn-in .mfp-close {
  color: #333; }

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%; }

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap; }

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent; }
  .mfp-arrow:active {
    margin-top: -54px; }
  .mfp-arrow:hover,
  .mfp-arrow:focus {
    opacity: 1; }
  .mfp-arrow:before,
  .mfp-arrow:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    margin-top: 35px;
    margin-left: 35px;
    border: medium inset transparent; }
  .mfp-arrow:after {
    border-top-width: 13px;
    border-bottom-width: 13px;
    top: 8px; }
  .mfp-arrow:before {
    border-top-width: 21px;
    border-bottom-width: 21px;
    opacity: 0.7; }

.mfp-arrow-left {
  left: 0; }
  .mfp-arrow-left:after {
    border-right: 17px solid #FFF;
    margin-left: 31px; }
  .mfp-arrow-left:before {
    margin-left: 25px;
    border-right: 27px solid #3F3F3F; }

.mfp-arrow-right {
  right: 0; }
  .mfp-arrow-right:after {
    border-left: 17px solid #FFF;
    margin-left: 39px; }
  .mfp-arrow-right:before {
    border-left: 27px solid #3F3F3F; }

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px; }
  .mfp-iframe-holder .mfp-content {
    line-height: 0;
    width: 100%;
    max-width: 900px; }
  .mfp-iframe-holder .mfp-close {
    top: -40px; }

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%; }
  .mfp-iframe-scaler iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #000; }

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure {
  line-height: 0; }
  .mfp-figure:after {
    content: '';
    position: absolute;
    left: 0;
    top: 40px;
    bottom: 40px;
    display: block;
    right: 0;
    width: auto;
    height: auto;
    z-index: -1;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #444; }
  .mfp-figure small {
    color: #BDBDBD;
    display: block;
    font-size: 12px;
    line-height: 14px; }
  .mfp-figure figure {
    margin: 0; }

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto; }

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px; }

.mfp-image-holder .mfp-content {
  max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0; }
  .mfp-img-mobile img.mfp-img {
    padding: 0; }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0; }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px; }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box; }
    .mfp-img-mobile .mfp-bottom-bar:empty {
      padding: 0; }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px; }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0; } }

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75); }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0; }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%; }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }

/*!
 * Angular Material Design
 * https://github.com/angular/material
 * @license MIT
 * v0.9.7
 */
/* mixin definition ; sets LTR and RTL within the same style call */

md-autocomplete button ng-md-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0) scale(0.9);
    transform: translate3d(-50%, -50%, 0) scale(0.9);
}

md-autocomplete button ng-md-icon path {
    stroke-width: 0;
}

.md-button.ng-md-icon {
    padding: 0;
    background: none;
}

.md-button.md-fab ng-md-icon {
    margin-top: 0;
}

md-checkbox .ng-md-icon {
    transition: 240ms;
    position: absolute;
    top: 0;
    left: 0;
    width: 18px;
    height: 18px;
    border: 2px solid;
    border-radius: 2px;
}

md-checkbox.md-checked .ng-md-icon {
    border: none;
}

md-checkbox.md-checked .ng-md-icon:after {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    left: 6px;
    top: 2px;
    display: table;
    width: 6px;
    height: 12px;
    border: 2px solid;
    border-top: 0;
    border-left: 0;
    content: '';
}

.md-chips .md-chip .md-chip-remove ng-md-icon {
    height: 18px;
    width: 18px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0);
}

ng-md-icon {
    margin: auto;
    background-repeat: no-repeat no-repeat;
    display: inline-block;
    vertical-align: middle;
    fill: currentColor;
    height: 24px;
    width: 24px;
}

ng-md-icon svg {
    pointer-events: none;
    display: block;
}

ng-md-icon[md-font-icon] {
    line-height: 1;
    width: auto;
}

ng-md-icon[disabled] svg {
    fill: rgba(0, 0, 0, 0.26);
}

md-input-container > ng-md-icon {
    position: absolute;
    top: 5px;
    left: 2px;
}

md-input-container > ng-md-icon + input {
    margin-left: 36px;
}

md-input-container.md-icon-float > ng-md-icon {
    top: 26px;
    left: 2px;
}

md-input-container.md-icon-float > ng-md-icon + input {
    margin-left: 36px;
}

@media screen and (-ms-high-contrast: active) {
    md-input-container.md-default-theme > ng-md-icon {
        fill: #fff;
    }
}

md-list-item > div.md-primary > ng-md-icon,
md-list-item > div.md-secondary > ng-md-icon,
md-list-item > ng-md-icon:first-child,
md-list-item > ng-md-icon.md-secondary,
md-list-item .md-list-item-inner > div.md-primary > ng-md-icon,
md-list-item .md-list-item-inner > div.md-secondary > ng-md-icon,
md-list-item .md-list-item-inner > ng-md-icon:first-child,
md-list-item .md-list-item-inner > ng-md-icon.md-secondary {
    width: 24px;
    margin-top: 16px;
    margin-bottom: 12px;
    box-sizing: content-box;
}

md-list-item > ng-md-icon:first-child,
md-list-item .md-list-item-inner > ng-md-icon:first-child {
    margin-right: 32px;
}

md-list-item.md-2-line > ng-md-icon:first-child,
md-list-item.md-2-line > .md-no-style > ng-md-icon:first-child {
    -webkit-align-self: flex-start;
    -ms-flex-item-align: start;
    align-self: flex-start;
}

md-list-item.md-3-line > ng-md-icon:first-child,
md-list-item.md-3-line > .md-no-style > ng-md-icon:first-child {
    margin-top: 16px;
}

md-tabs-wrapper md-prev-button ng-md-icon,
md-tabs-wrapper md-next-button ng-md-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0);
}

md-tabs-wrapper md-next-button ng-md-icon {
    -webkit-transform: translate3d(-50%, -50%, 0) rotate(180deg);
    transform: translate3d(-50%, -50%, 0) rotate(180deg);
}

/* ========================================================================
 * bootstrap-switch - v3.3.2
 * http://www.bootstrap-switch.org
 * ========================================================================
 * Copyright 2012-2013 Mattia Larentis
 *
 * ========================================================================
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ========================================================================
 */

.bootstrap-switch {
  display: inline-block;
  direction: ltr;
  cursor: pointer;
  border-radius: 4px;
  border: 1px solid;
  border-color: #cccccc;
  position: relative;
  text-align: left;
  overflow: hidden;
  line-height: 8px;
  z-index: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  vertical-align: middle;
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.bootstrap-switch .bootstrap-switch-container {
  display: inline-block;
  top: 0;
  border-radius: 4px;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.bootstrap-switch .bootstrap-switch-handle-on,
.bootstrap-switch .bootstrap-switch-handle-off,
.bootstrap-switch .bootstrap-switch-label {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  cursor: pointer;
  display: inline-block !important;
  height: 100%;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 20px;
}
.bootstrap-switch .bootstrap-switch-handle-on,
.bootstrap-switch .bootstrap-switch-handle-off {
  text-align: center;
  z-index: 1;
}
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary,
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary {
  color: #fff;
  background: #428bca;
}
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info,
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info {
  color: #fff;
  background: #5bc0de;
}
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success,
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success {
  color: #fff;
  background: #5cb85c;
}
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning,
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning {
  background: #f0ad4e;
  color: #fff;
}
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger,
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger {
  color: #fff;
  background: #d9534f;
}
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default,
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default {
  color: #000;
  background: #eeeeee;
}
.bootstrap-switch .bootstrap-switch-label {
  text-align: center;
  margin-top: -1px;
  margin-bottom: -1px;
  z-index: 100;
  color: #333333;
  background: #ffffff;
}
.bootstrap-switch .bootstrap-switch-handle-on {
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}
.bootstrap-switch .bootstrap-switch-handle-off {
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}
.bootstrap-switch input[type='radio'],
.bootstrap-switch input[type='checkbox'] {
  position: absolute !important;
  top: 0;
  left: 0;
  opacity: 0;
  filter: alpha(opacity=0);
  z-index: -1;
}
.bootstrap-switch input[type='radio'].form-control,
.bootstrap-switch input[type='checkbox'].form-control {
  height: auto;
}
.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-on,
.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-off,
.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-label {
  padding: 1px 5px;
  font-size: 12px;
  line-height: 1.5;
}
.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-on,
.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-off,
.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-label {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
}
.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-on,
.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-off,
.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-label {
  padding: 6px 16px;
  font-size: 18px;
  line-height: 1.33;
}
.bootstrap-switch.bootstrap-switch-disabled,
.bootstrap-switch.bootstrap-switch-readonly,
.bootstrap-switch.bootstrap-switch-indeterminate {
  cursor: default !important;
}
.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-on,
.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-on,
.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-on,
.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-off,
.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-off,
.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-off,
.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-label,
.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-label,
.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-label {
  opacity: 0.5;
  filter: alpha(opacity=50);
  cursor: default !important;
}
.bootstrap-switch.bootstrap-switch-animate .bootstrap-switch-container {
  -webkit-transition: margin-left 0.5s;
  transition: margin-left 0.5s;
}
.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-on {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}
.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-off {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}
.bootstrap-switch.bootstrap-switch-focused {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.bootstrap-switch.bootstrap-switch-on .bootstrap-switch-label,
.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-off .bootstrap-switch-label {
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}
.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-label,
.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-on .bootstrap-switch-label {
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}

/*!
 * ui-select
 * http://github.com/angular-ui/ui-select
 * Version: 0.19.5 - 2016-10-24T23:13:59.551Z
 * License: MIT
 */


/* Style when highlighting a search. */
.ui-select-highlight {
  font-weight: bold;
}

.ui-select-offscreen {
  clip: rect(0 0 0 0) !important;
  width: 1px !important;
  height: 1px !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  outline: 0 !important;
  left: 0px !important;
  top: 0px !important;
}


.ui-select-choices-row:hover {
  background-color: #f5f5f5;
}

/* Select2 theme */

/* Mark invalid Select2 */
.ng-dirty.ng-invalid > a.select2-choice {
    border-color: #D44950;
}

.select2-result-single {
  padding-left: 0;
}

.select2-locked > .select2-search-choice-close{
  display:none;
}

.select-locked > .ui-select-match-close{
    display:none;
}

body > .select2-container.open {
  z-index: 9999; /* The z-index Select2 applies to the select2-drop */
}

/* Handle up direction Select2 */
.ui-select-container[theme="select2"].direction-up .ui-select-match,
.ui-select-container.select2.direction-up .ui-select-match {
    border-radius: 4px; /* FIXME hardcoded value :-/ */
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
.ui-select-container[theme="select2"].direction-up .ui-select-dropdown,
.ui-select-container.select2.direction-up .ui-select-dropdown {
    border-radius: 4px; /* FIXME hardcoded value :-/ */
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;

    border-top-width: 1px;  /* FIXME hardcoded value :-/ */
    border-top-style: solid;

    box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.25);

    margin-top: -4px; /* FIXME hardcoded value :-/ */
}
.ui-select-container[theme="select2"].direction-up .ui-select-dropdown .select2-search,
.ui-select-container.select2.direction-up .ui-select-dropdown .select2-search {
    margin-top: 4px; /* FIXME hardcoded value :-/ */
}
.ui-select-container[theme="select2"].direction-up.select2-dropdown-open .ui-select-match,
.ui-select-container.select2.direction-up.select2-dropdown-open .ui-select-match {
    border-bottom-color: #5897fb;
}

.ui-select-container[theme="select2"] .ui-select-dropdown .ui-select-search-hidden,
.ui-select-container[theme="select2"] .ui-select-dropdown .ui-select-search-hidden input{
    opacity: 0;
    height: 0;
    min-height: 0;
    padding: 0;
    margin: 0;
    border:0;
}

/* Selectize theme */

/* Helper class to show styles when focus */
.selectize-input.selectize-focus{
  border-color: #007FBB !important;
}

/* Fix input width for Selectize theme */
.selectize-control.single > .selectize-input > input {
  width: 100%;
}

/* Fix line break when there's at least one item selected with the Selectize theme */
.selectize-control.multi > .selectize-input > input {
  margin: 0 !important;
}

/* Fix dropdown width for Selectize theme */
.selectize-control > .selectize-dropdown {
  width: 100%;
}

/* Mark invalid Selectize */
.ng-dirty.ng-invalid > div.selectize-input {
    border-color: #D44950;
}

/* Handle up direction Selectize */
.ui-select-container[theme="selectize"].direction-up .ui-select-dropdown {
    box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.25);
    margin-top: -2px; /* FIXME hardcoded value :-/ */
}

.ui-select-container[theme="selectize"] input.ui-select-search-hidden{
    opacity: 0;
    height: 0;
    min-height: 0;
    padding: 0;
    margin: 0;
    border:0;
    width: 0;
}

/* Bootstrap theme */

/* Helper class to show styles when focus */
.btn-default-focus {
  color: #333;
  background-color: #EBEBEB;
  border-color: #ADADAD;
  text-decoration: none;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
}

.ui-select-bootstrap .ui-select-toggle {
  position: relative;
}

.ui-select-bootstrap .ui-select-toggle > .caret {
  position: absolute;
  height: 10px;
  top: 50%;
  right: 10px;
  margin-top: -2px;
}

/* Fix Bootstrap dropdown position when inside a input-group */
.input-group > .ui-select-bootstrap.dropdown {
  /* Instead of relative */
  position: static;
}

.input-group > .ui-select-bootstrap > input.ui-select-search.form-control {
  border-radius: 4px; /* FIXME hardcoded value :-/ */
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > .ui-select-bootstrap > input.ui-select-search.form-control.direction-up {
  border-radius: 4px !important; /* FIXME hardcoded value :-/ */
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.ui-select-bootstrap .ui-select-search-hidden{
    opacity: 0;
    height: 0;
    min-height: 0;
    padding: 0;
    margin: 0;
    border:0;
}

.ui-select-bootstrap > .ui-select-match > .btn{
  /* Instead of center because of .btn */
  text-align: left !important;
}

.ui-select-bootstrap > .ui-select-match > .caret {
  position: absolute;
  top: 45%;
  right: 15px;
}

/* See Scrollable Menu with Bootstrap 3 http://stackoverflow.com/questions/19227496 */
.ui-select-bootstrap > .ui-select-choices ,.ui-select-bootstrap > .ui-select-no-choice {
  width: 100%;
  height: auto;
  max-height: 200px;
  overflow-x: hidden;
  margin-top: -1px;
}

body > .ui-select-bootstrap.open {
  z-index: 1000; /* Standard Bootstrap dropdown z-index */
}

.ui-select-multiple.ui-select-bootstrap {
  height: auto;
  padding: 3px 3px 0 3px;
}

.ui-select-multiple.ui-select-bootstrap input.ui-select-search {
  background-color: transparent !important; /* To prevent double background when disabled */
  border: none;
  outline: none;
  height: 1.666666em;
  margin-bottom: 3px;
}

.ui-select-multiple.ui-select-bootstrap .ui-select-match .close {
  font-size: 1.6em;
  line-height: 0.75;
}

.ui-select-multiple.ui-select-bootstrap .ui-select-match-item {
  outline: 0;
  margin: 0 3px 3px 0;
}

.ui-select-multiple .ui-select-match-item {
  position: relative;
}

.ui-select-multiple .ui-select-match-item.dropping .ui-select-match-close {
  pointer-events: none;
}

.ui-select-multiple:hover .ui-select-match-item.dropping-before:before {
  content: "";
  position: absolute;
  top: 0;
  right: 100%;
  height: 100%;
  margin-right: 2px;
  border-left: 1px solid #428bca;
}

.ui-select-multiple:hover .ui-select-match-item.dropping-after:after {
  content: "";
  position: absolute;
  top: 0;
  left: 100%;
  height: 100%;
  margin-left: 2px;
  border-right: 1px solid #428bca;
}

.ui-select-bootstrap .ui-select-choices-row>span {
    cursor: pointer;
    display: block;
    padding: 3px 20px;
    clear: both;
    font-weight: 400;
    line-height: 1.42857143;
    color: #333;
    white-space: nowrap;
}

.ui-select-bootstrap .ui-select-choices-row>span:hover, .ui-select-bootstrap .ui-select-choices-row>span:focus {
    text-decoration: none;
    color: #262626;
    background-color: #f5f5f5;
}

.ui-select-bootstrap .ui-select-choices-row.active>span {
    color: #fff;
    text-decoration: none;
    outline: 0;
    background-color: #428bca;
}

.ui-select-bootstrap .ui-select-choices-row.disabled>span,
.ui-select-bootstrap .ui-select-choices-row.active.disabled>span {
    color: #777;
    cursor: not-allowed;
    background-color: #fff;
}

/* fix hide/show angular animation */
.ui-select-match.ng-hide-add,
.ui-select-search.ng-hide-add {
    display: none !important;
}

/* Mark invalid Bootstrap */
.ui-select-bootstrap.ng-dirty.ng-invalid > button.btn.ui-select-match {
    border-color: #D44950;
}

/* Handle up direction Bootstrap */
.ui-select-container[theme="bootstrap"].direction-up .ui-select-dropdown {
    box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.25);
}

.ui-select-bootstrap .ui-select-match-text {
    width: 100%;
    padding-right: 1em;
}
.ui-select-bootstrap .ui-select-match-text span {
    display: inline-block;
    width: 100%;
    overflow: hidden;
}
.ui-select-bootstrap .ui-select-toggle > a.btn {
  position: absolute;
  height: 10px;
  right: 10px;
  margin-top: -2px;
}

/* Spinner */
.ui-select-refreshing {
    position: absolute;
    right: 0;
    padding: 8px 27px;
    top: 1px;
    display: inline-block;
    font-family: 'Glyphicons Halflings';
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    -webkit-font-smoothing:antialiased;
 }
 
@-webkit-keyframes ui-select-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes ui-select-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}

.ui-select-spin {
  -webkit-animation: ui-select-spin 2s infinite linear;
  animation: ui-select-spin 2s infinite linear;
}

.ui-select-refreshing.ng-animate {
  -webkit-animation: none 0s;
} 
img-crop{width:100%;height:100%;display:block;position:relative;overflow:hidden}img-crop canvas{display:block;position:absolute;top:50%;left:50%;outline:0;-webkit-tap-highlight-color:transparent}
/**
 * @license angular-bootstrap-datetimepicker  version: 0.3.14
 * Copyright 2015 Knight Rider Consulting, Inc. http://www.knightrider.com
 * License: MIT
 */
.datetimepicker {
  border-radius: 4px;
  direction: ltr;
  display: block;
  margin-top: 1px;
  width: 320px;
}
.datetimepicker > div {
  display: none;
}
.datetimepicker .hour,
.datetimepicker .minute {
  height: 34px;
  line-height: 34px;
  margin: 0;
  width: 25%;
}
.datetimepicker .table {
  margin: 0;
}
.datetimepicker .table td,
.datetimepicker .table th {
  border: 0;
  border-radius: 4px;
  height: 20px;
  text-align: center;
}
.datetimepicker .minute:hover,
.datetimepicker .hour:hover,
.datetimepicker .day:hover,
.datetimepicker .switch:hover,
.datetimepicker .left:hover,
.datetimepicker .right:hover {
  background: #eeeeee;
  cursor: pointer;
}
.datetimepicker .disabled,
.datetimepicker .disabled:hover {
  background: none;
  color: #ebebeb;
  cursor: default;
}
.datetimepicker .active,
.datetimepicker .active:hover,
.datetimepicker .active.disabled,
.datetimepicker .active.disabled:hover {
  background-color: #0044cc;
  background-image: linear-gradient(to bottom, #0088cc, #0044cc);
  background-repeat: repeat-x;
  border-color: #0044cc #0044cc #002a80;
  color: #ffffff;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#04c', GradientType=0);
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datetimepicker .active:hover,
.datetimepicker .active:hover:hover,
.datetimepicker .active.disabled:hover,
.datetimepicker .active.disabled:hover:hover,
.datetimepicker .active:active,
.datetimepicker .active:hover:active,
.datetimepicker .active.disabled:active,
.datetimepicker .active.disabled:hover:active,
.datetimepicker .active.active,
.datetimepicker .active:hover.active,
.datetimepicker .active.disabled.active,
.datetimepicker .active.disabled:hover.active,
.datetimepicker .active.disabled,
.datetimepicker .active:hover.disabled,
.datetimepicker .active.disabled.disabled,
.datetimepicker .active.disabled:hover.disabled,
.datetimepicker td.active[disabled],
.datetimepicker td.active:hover[disabled],
.datetimepicker td.active.disabled[disabled],
.datetimepicker td.active.disabled:hover[disabled],
.datetimepicker span.active[disabled],
.datetimepicker span.active:hover[disabled],
.datetimepicker span.active.disabled[disabled],
.datetimepicker span.active.disabled:hover[disabled] {
  background-color: #0044cc;
}
.datetimepicker span {
  border-radius: 4px;
  cursor: pointer;
  display: block;
  float: left;
  height: 54px;
  line-height: 54px;
  margin: 1%;
  width: 23%;
}
.datetimepicker span:hover {
  background: #eeeeee;
}
.datetimepicker .past,
.datetimepicker .future {
  color: #999999;
}

/*# sourceMappingURL=datetimepicker.css.map */

.ngsb-wrap {
  -ms-touch-action: none;
}
.ngsb-wrap .ngsb-container {
  width: auto;
  overflow: hidden;
  transition: 0.5s all;
}
.ngsb-wrap:hover .ngsb-scrollbar {
  opacity: 1;
  filter: "alpha(opacity=100)";
  -ms-filter: "alpha(opacity=100)";
  /* old ie */
}
.ngsb-wrap .ngsb-scrollbar {
  width: 16px;
  height: 100%;
  top: 0;
  right: 0;
  opacity: 0.75;
  filter: "alpha(opacity=75)";
  -ms-filter: "alpha(opacity=75)";
  /* old ie */
}
.ngsb-wrap .ngsb-scrollbar .ngsb-thumb-container {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  height: auto;
}
.ngsb-wrap .ngsb-scrollbar a.ngsb-thumb-container {
  margin: 20px 0;
}
.ngsb-wrap .ngsb-scrollbar .ngsb-track {
  height: 100%;
  margin: 0 auto;
  width: 6px;
  background: #000;
  background: rgba(0, 0, 0, 0.4);
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  filter: "alpha(opacity=40)";
  -ms-filter: "alpha(opacity=40)";
  /* old ie */
  box-shadow: 1px 1px 1px rgba(255, 255, 255, 0.1);
}
.ngsb-wrap .ngsb-scrollbar .ngsb-thumb-pos {
  cursor: pointer;
  width: 100%;
  height: 30px;
}
.ngsb-wrap .ngsb-scrollbar .ngsb-thumb-pos .ngsb-thumb {
  transition: 0.5s all;
  width: 4px;
  height: 100%;
  margin: 0 auto;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  text-align: center;
  background: #fff;
  /* rgba fallback */
  background: rgba(255, 255, 255, 0.4);
  filter: "alpha(opacity=40)";
  -ms-filter: "alpha(opacity=40)";
  /* old ie */
}
.ngsb-wrap .ngsb-scrollbar .ngsb-thumb-pos:hover .ngsb-thumb {
  background: rgba(255, 255, 255, 0.5);
  filter: "alpha(opacity=50)";
  -ms-filter: "alpha(opacity=50)";
  /* old ie */
}
.ngsb-wrap .ngsb-scrollbar .ngsb-thumb-pos:active {
  background: rgba(255, 255, 255, 0.6);
  filter: "alpha(opacity=60)";
  -ms-filter: "alpha(opacity=60)";
  /* old ie */
}

/*! =======================================================
                      VERSION  4.0.7              
========================================================= */
/*! =========================================================
 * bootstrap-slider.js
 *
 * Maintainers: 
 *		Kyle Kemp 
 *			- Twitter: @seiyria
 *			- Github:  seiyria
 *		Rohit Kalkur
 *			- Twitter: @Rovolutionary
 *			- Github:  rovolution
 *
 * =========================================================
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ========================================================= */
.slider {
  display: inline-block;
  vertical-align: middle;
  position: relative;
}
.slider.slider-horizontal {
  width: 210px;
  height: 20px;
}
.slider.slider-horizontal .slider-track {
  height: 10px;
  width: 100%;
  margin-top: -5px;
  top: 50%;
  left: 0;
}
.slider.slider-horizontal .slider-selection {
  height: 100%;
  top: 0;
  bottom: 0;
}
.slider.slider-horizontal .slider-handle {
  margin-left: -10px;
  margin-top: -5px;
}
.slider.slider-horizontal .slider-handle.triangle {
  border-width: 0 10px 10px 10px;
  width: 0;
  height: 0;
  border-bottom-color: #0480be;
  margin-top: 0;
}
.slider.slider-vertical {
  height: 210px;
  width: 20px;
}
.slider.slider-vertical .slider-track {
  width: 10px;
  height: 100%;
  margin-left: -5px;
  left: 50%;
  top: 0;
}
.slider.slider-vertical .slider-selection {
  width: 100%;
  left: 0;
  top: 0;
  bottom: 0;
}
.slider.slider-vertical .slider-handle {
  margin-left: -5px;
  margin-top: -10px;
}
.slider.slider-vertical .slider-handle.triangle {
  border-width: 10px 0 10px 10px;
  width: 1px;
  height: 1px;
  border-left-color: #0480be;
  margin-left: 0;
}
.slider.slider-disabled .slider-handle {
  background-image: -webkit-linear-gradient(top, #dfdfdf 0%, #bebebe 100%);
  background-image: -o-linear-gradient(top, #dfdfdf 0%, #bebebe 100%);
  background-image: linear-gradient(to bottom, #dfdfdf 0%, #bebebe 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdfdfdf', endColorstr='#ffbebebe', GradientType=0);
}
.slider.slider-disabled .slider-track {
  background-image: -webkit-linear-gradient(top, #e5e5e5 0%, #e9e9e9 100%);
  background-image: -o-linear-gradient(top, #e5e5e5 0%, #e9e9e9 100%);
  background-image: linear-gradient(to bottom, #e5e5e5 0%, #e9e9e9 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe5e5e5', endColorstr='#ffe9e9e9', GradientType=0);
  cursor: not-allowed;
}
.slider input {
  display: none;
}
.slider .tooltip.top {
  margin-top: -36px;
}
.slider .tooltip-inner {
  white-space: nowrap;
}
.slider .hide {
  display: none;
}
.slider-track {
  position: absolute;
  cursor: pointer;
  background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #f9f9f9 100%);
  background-image: -o-linear-gradient(top, #f5f5f5 0%, #f9f9f9 100%);
  background-image: linear-gradient(to bottom, #f5f5f5 0%, #f9f9f9 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  border-radius: 4px;
}
.slider-selection {
  position: absolute;
  background-image: -webkit-linear-gradient(top, #f9f9f9 0%, #f5f5f5 100%);
  background-image: -o-linear-gradient(top, #f9f9f9 0%, #f5f5f5 100%);
  background-image: linear-gradient(to bottom, #f9f9f9 0%, #f5f5f5 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff9f9f9', endColorstr='#fff5f5f5', GradientType=0);
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 4px;
}
.slider-handle {
  position: absolute;
  width: 20px;
  height: 20px;
  background-color: #3a94a5;
  background-image: -webkit-linear-gradient(top, #149bdf 0%, #0480be 100%);
  background-image: -o-linear-gradient(top, #149bdf 0%, #0480be 100%);
  background-image: linear-gradient(to bottom, #149bdf 0%, #0480be 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);
  filter: none;
  -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
  opacity: 0.8;
  border: 0px solid transparent;
}
.slider-handle.round {
  border-radius: 50%;
}
.slider-handle.triangle {
  background: transparent none;
}
.slider-handle.custom {
  background: transparent none;
}
.slider-handle.custom::before {
  line-height: 20px;
  font-size: 20px;
  content: '\2605';
  color: #726204;
}

.minicolors {
    position: relative;
}

.minicolors-sprite {
    background-image: url(data:image/png;base64,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);
}

.minicolors-no-data-uris .minicolors-sprite {
    background-image: url(jquery.minicolors.png);
}

.minicolors-swatch {
    position: absolute;
    vertical-align: middle;
    background-position: -80px 0;
    border: solid 1px #ccc;
    cursor: text;
    padding: 0;
    margin: 0;
    display: inline-block;
}

.minicolors-swatch-color {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.minicolors input[type=hidden] + .minicolors-swatch {
    width: 28px;
    position: static;
    cursor: pointer;
}

/* Panel */
.minicolors-panel {
    position: absolute;
    width: 173px;
    height: 152px;
    background: white;
    border: solid 1px #CCC;
    box-shadow: 0 0 20px rgba(0, 0, 0, .2);
    z-index: 99999;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    display: none;
}

.minicolors-panel.minicolors-visible {
    display: block;
}

/* Panel positioning */
.minicolors-position-top .minicolors-panel {
    top: -154px;
}

.minicolors-position-right .minicolors-panel {
    right: 0;
}

.minicolors-position-bottom .minicolors-panel {
    top: auto;
}

.minicolors-position-left .minicolors-panel {
    left: 0;
}

.minicolors-with-opacity .minicolors-panel {
    width: 194px;
}

.minicolors .minicolors-grid {
    position: absolute;
    top: 1px;
    left: 1px;
    width: 150px;
    height: 150px;
    background-position: -120px 0;
    cursor: crosshair;
}

.minicolors .minicolors-grid-inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 150px;
    height: 150px;
}

.minicolors-slider-saturation .minicolors-grid {
    background-position: -420px 0;
}

.minicolors-slider-saturation .minicolors-grid-inner {
    background-position: -270px 0;
    background-image: inherit;
}

.minicolors-slider-brightness .minicolors-grid {
    background-position: -570px 0;
}

.minicolors-slider-brightness .minicolors-grid-inner {
    background-color: black;
}

.minicolors-slider-wheel .minicolors-grid {
    background-position: -720px 0;
}

.minicolors-slider,
.minicolors-opacity-slider {
    position: absolute;
    top: 1px;
    left: 152px;
    width: 20px;
    height: 150px;
    background-color: white;
    background-position: 0 0;
    cursor: row-resize;
}

.minicolors-slider-saturation .minicolors-slider {
    background-position: -60px 0;
}

.minicolors-slider-brightness .minicolors-slider {
    background-position: -20px 0;
}

.minicolors-slider-wheel .minicolors-slider {
    background-position: -20px 0;
}

.minicolors-opacity-slider {
    left: 173px;
    background-position: -40px 0;
    display: none;
}

.minicolors-with-opacity .minicolors-opacity-slider {
    display: block;
}

/* Pickers */
.minicolors-grid .minicolors-picker {
    position: absolute;
    top: 70px;
    left: 70px;
    width: 12px;
    height: 12px;
    border: solid 1px black;
    border-radius: 10px;
    margin-top: -6px;
    margin-left: -6px;
    background: none;
}

.minicolors-grid .minicolors-picker > div {
    position: absolute;
    top: 0;
    left: 0;
    width: 8px;
    height: 8px;
    border-radius: 8px;
    border: solid 2px white;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}

.minicolors-picker {
    position: absolute;
    top: 0;
    left: 0;
    width: 18px;
    height: 2px;
    background: white;
    border: solid 1px black;
    margin-top: -2px;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}

/* Inline controls */
.minicolors-inline {
    display: inline-block;
}

.minicolors-inline .minicolors-input {
    display: none !important;
}

.minicolors-inline .minicolors-panel {
    position: relative;
    top: auto;
    left: auto;
    box-shadow: none;
    z-index: auto;
    display: inline-block;
}

/* Default theme */
.minicolors-theme-default .minicolors-swatch {
    top: 5px;
    left: 5px;
    width: 18px;
    height: 18px;
}
.minicolors-theme-default.minicolors-position-right .minicolors-swatch {
    left: auto;
    right: 5px;
}
.minicolors-theme-default.minicolors {
    width: auto;
    display: inline-block;
}
.minicolors-theme-default .minicolors-input {
    height: 20px;
    width: auto;
    display: inline-block;
    padding-left: 26px;
}
.minicolors-theme-default.minicolors-position-right .minicolors-input {
    padding-right: 26px;
    padding-left: inherit;
}

/* Bootstrap theme */
.minicolors-theme-bootstrap .minicolors-swatch {
    z-index: 2;
    top: 3px;
    left: 3px;
    width: 28px;
    height: 28px;
    border-radius: 3px;
}
.minicolors-theme-bootstrap .minicolors-swatch-color {
    border-radius: inherit;
}
.minicolors-theme-bootstrap.minicolors-position-right .minicolors-swatch {
    left: auto;
    right: 3px;
}
.minicolors-theme-bootstrap .minicolors-input {
    float: none;
    padding-left: 44px;
}
.minicolors-theme-bootstrap.minicolors-position-right .minicolors-input {
    padding-right: 44px;
    padding-left: 12px;
}
.minicolors-theme-bootstrap .minicolors-input.input-lg + .minicolors-swatch {
    top: 4px;
    left: 4px;
    width: 37px;
    height: 37px;
    border-radius: 5px;
}
.minicolors-theme-bootstrap .minicolors-input.input-sm + .minicolors-swatch {
    width: 24px;
    height: 24px;
}
.input-group .minicolors-theme-bootstrap:not(:first-child) .minicolors-input {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

/*!
 * Datepicker for Bootstrap
 *
 * Copyright 2012 Stefan Petre
 * Improvements by Andrew Rowls
 * Licensed under the Apache License v2.0
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 */
.datepicker {
  padding: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  direction: ltr;
  /*.dow {
		border-top: 1px solid #ddd !important;
	}*/

}
.datepicker-inline {
  width: 220px;
}
.datepicker.datepicker-rtl {
  direction: rtl;
}
.datepicker.datepicker-rtl table tr td span {
  float: right;
}
.datepicker-dropdown {
  top: 0;
  left: 0;
}
.datepicker-dropdown:before {
  content: '';
  display: inline-block;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #ccc;
  border-top: 0;
  border-bottom-color: rgba(0, 0, 0, 0.2);
  position: absolute;
}
.datepicker-dropdown:after {
  content: '';
  display: inline-block;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #ffffff;
  border-top: 0;
  position: absolute;
}
.datepicker-dropdown.datepicker-orient-left:before {
  left: 6px;
}
.datepicker-dropdown.datepicker-orient-left:after {
  left: 7px;
}
.datepicker-dropdown.datepicker-orient-right:before {
  right: 6px;
}
.datepicker-dropdown.datepicker-orient-right:after {
  right: 7px;
}
.datepicker-dropdown.datepicker-orient-top:before {
  top: -7px;
}
.datepicker-dropdown.datepicker-orient-top:after {
  top: -6px;
}
.datepicker-dropdown.datepicker-orient-bottom:before {
  bottom: -7px;
  border-bottom: 0;
  border-top: 7px solid #999;
}
.datepicker-dropdown.datepicker-orient-bottom:after {
  bottom: -6px;
  border-bottom: 0;
  border-top: 6px solid #ffffff;
}
.datepicker > div {
  display: none;
}
.datepicker.days div.datepicker-days {
  display: block;
}
.datepicker.months div.datepicker-months {
  display: block;
}
.datepicker.years div.datepicker-years {
  display: block;
}
.datepicker table {
  margin: 0;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.datepicker td,
.datepicker th {
  text-align: center;
  width: 20px;
  height: 20px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  border: none;
}
.table-striped .datepicker table tr td,
.table-striped .datepicker table tr th {
  background-color: transparent;
}
.datepicker table tr td.day:hover {
  background: #eeeeee;
  cursor: pointer;
}
.datepicker table tr td.old,
.datepicker table tr td.new {
  color: #999999;
}
.datepicker table tr td.disabled,
.datepicker table tr td.disabled:hover {
  background: none;
  color: #999999;
  cursor: default;
}
.datepicker table tr td.today,
.datepicker table tr td.today:hover,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today.disabled:hover {
  background-color: #fde19a;
  background-image: -moz-linear-gradient(top, #fdd49a, #fdf59a);
  background-image: -ms-linear-gradient(top, #fdd49a, #fdf59a);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a));
  background-image: -webkit-linear-gradient(top, #fdd49a, #fdf59a);
  background-image: -o-linear-gradient(top, #fdd49a, #fdf59a);
  background-image: linear-gradient(top, #fdd49a, #fdf59a);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);
  border-color: #fdf59a #fdf59a #fbed50;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  color: #000;
}
.datepicker table tr td.today:hover,
.datepicker table tr td.today:hover:hover,
.datepicker table tr td.today.disabled:hover,
.datepicker table tr td.today.disabled:hover:hover,
.datepicker table tr td.today:active,
.datepicker table tr td.today:hover:active,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today.active,
.datepicker table tr td.today:hover.active,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today.disabled:hover.active,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today:hover.disabled,
.datepicker table tr td.today.disabled.disabled,
.datepicker table tr td.today.disabled:hover.disabled,
.datepicker table tr td.today[disabled],
.datepicker table tr td.today:hover[disabled],
.datepicker table tr td.today.disabled[disabled],
.datepicker table tr td.today.disabled:hover[disabled] {
  background-color: #fdf59a;
}
.datepicker table tr td.today:active,
.datepicker table tr td.today:hover:active,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today.active,
.datepicker table tr td.today:hover.active,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today.disabled:hover.active {
  background-color: #fbf069 \9;
}
.datepicker table tr td.today:hover:hover {
  color: #000;
}
.datepicker table tr td.today.active:hover {
  color: #fff;
}
.datepicker table tr td.range,
.datepicker table tr td.range:hover,
.datepicker table tr td.range.disabled,
.datepicker table tr td.range.disabled:hover {
  background: #eeeeee;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.datepicker table tr td.range.today,
.datepicker table tr td.range.today:hover,
.datepicker table tr td.range.today.disabled,
.datepicker table tr td.range.today.disabled:hover {
  background-color: #f3d17a;
  background-image: -moz-linear-gradient(top, #f3c17a, #f3e97a);
  background-image: -ms-linear-gradient(top, #f3c17a, #f3e97a);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f3c17a), to(#f3e97a));
  background-image: -webkit-linear-gradient(top, #f3c17a, #f3e97a);
  background-image: -o-linear-gradient(top, #f3c17a, #f3e97a);
  background-image: linear-gradient(top, #f3c17a, #f3e97a);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0);
  border-color: #f3e97a #f3e97a #edde34;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.datepicker table tr td.range.today:hover,
.datepicker table tr td.range.today:hover:hover,
.datepicker table tr td.range.today.disabled:hover,
.datepicker table tr td.range.today.disabled:hover:hover,
.datepicker table tr td.range.today:active,
.datepicker table tr td.range.today:hover:active,
.datepicker table tr td.range.today.disabled:active,
.datepicker table tr td.range.today.disabled:hover:active,
.datepicker table tr td.range.today.active,
.datepicker table tr td.range.today:hover.active,
.datepicker table tr td.range.today.disabled.active,
.datepicker table tr td.range.today.disabled:hover.active,
.datepicker table tr td.range.today.disabled,
.datepicker table tr td.range.today:hover.disabled,
.datepicker table tr td.range.today.disabled.disabled,
.datepicker table tr td.range.today.disabled:hover.disabled,
.datepicker table tr td.range.today[disabled],
.datepicker table tr td.range.today:hover[disabled],
.datepicker table tr td.range.today.disabled[disabled],
.datepicker table tr td.range.today.disabled:hover[disabled] {
  background-color: #f3e97a;
}
.datepicker table tr td.range.today:active,
.datepicker table tr td.range.today:hover:active,
.datepicker table tr td.range.today.disabled:active,
.datepicker table tr td.range.today.disabled:hover:active,
.datepicker table tr td.range.today.active,
.datepicker table tr td.range.today:hover.active,
.datepicker table tr td.range.today.disabled.active,
.datepicker table tr td.range.today.disabled:hover.active {
  background-color: #efe24b \9;
}
.datepicker table tr td.selected,
.datepicker table tr td.selected:hover,
.datepicker table tr td.selected.disabled,
.datepicker table tr td.selected.disabled:hover {
  background-color: #9e9e9e;
  background-image: -moz-linear-gradient(top, #b3b3b3, #808080);
  background-image: -ms-linear-gradient(top, #b3b3b3, #808080);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#b3b3b3), to(#808080));
  background-image: -webkit-linear-gradient(top, #b3b3b3, #808080);
  background-image: -o-linear-gradient(top, #b3b3b3, #808080);
  background-image: linear-gradient(top, #b3b3b3, #808080);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0);
  border-color: #808080 #808080 #595959;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td.selected:hover,
.datepicker table tr td.selected:hover:hover,
.datepicker table tr td.selected.disabled:hover,
.datepicker table tr td.selected.disabled:hover:hover,
.datepicker table tr td.selected:active,
.datepicker table tr td.selected:hover:active,
.datepicker table tr td.selected.disabled:active,
.datepicker table tr td.selected.disabled:hover:active,
.datepicker table tr td.selected.active,
.datepicker table tr td.selected:hover.active,
.datepicker table tr td.selected.disabled.active,
.datepicker table tr td.selected.disabled:hover.active,
.datepicker table tr td.selected.disabled,
.datepicker table tr td.selected:hover.disabled,
.datepicker table tr td.selected.disabled.disabled,
.datepicker table tr td.selected.disabled:hover.disabled,
.datepicker table tr td.selected[disabled],
.datepicker table tr td.selected:hover[disabled],
.datepicker table tr td.selected.disabled[disabled],
.datepicker table tr td.selected.disabled:hover[disabled] {
  background-color: #808080;
}
.datepicker table tr td.selected:active,
.datepicker table tr td.selected:hover:active,
.datepicker table tr td.selected.disabled:active,
.datepicker table tr td.selected.disabled:hover:active,
.datepicker table tr td.selected.active,
.datepicker table tr td.selected:hover.active,
.datepicker table tr td.selected.disabled.active,
.datepicker table tr td.selected.disabled:hover.active {
  background-color: #666666 \9;
}
.datepicker table tr td.active,
.datepicker table tr td.active:hover,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active.disabled:hover {
  background-color: #006dcc;
  background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
  background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
  background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
  background-image: -o-linear-gradient(top, #0088cc, #0044cc);
  background-image: linear-gradient(top, #0088cc, #0044cc);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
  border-color: #0044cc #0044cc #002a80;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td.active:hover,
.datepicker table tr td.active:hover:hover,
.datepicker table tr td.active.disabled:hover,
.datepicker table tr td.active.disabled:hover:hover,
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled:hover.active,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active:hover.disabled,
.datepicker table tr td.active.disabled.disabled,
.datepicker table tr td.active.disabled:hover.disabled,
.datepicker table tr td.active[disabled],
.datepicker table tr td.active:hover[disabled],
.datepicker table tr td.active.disabled[disabled],
.datepicker table tr td.active.disabled:hover[disabled] {
  background-color: #0044cc;
}
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled:hover.active {
  background-color: #003399 \9;
}
.datepicker table tr td span {
  display: block;
  width: 23%;
  height: 54px;
  line-height: 54px;
  float: left;
  margin: 1%;
  cursor: pointer;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.datepicker table tr td span:hover {
  background: #eeeeee;
}
.datepicker table tr td span.disabled,
.datepicker table tr td span.disabled:hover {
  background: none;
  color: #999999;
  cursor: default;
}
.datepicker table tr td span.active,
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active.disabled:hover {
  background-color: #006dcc;
  background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
  background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
  background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
  background-image: -o-linear-gradient(top, #0088cc, #0044cc);
  background-image: linear-gradient(top, #0088cc, #0044cc);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
  border-color: #0044cc #0044cc #002a80;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active:hover:hover,
.datepicker table tr td span.active.disabled:hover,
.datepicker table tr td span.active.disabled:hover:hover,
.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.active,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled:hover.active,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active:hover.disabled,
.datepicker table tr td span.active.disabled.disabled,
.datepicker table tr td span.active.disabled:hover.disabled,
.datepicker table tr td span.active[disabled],
.datepicker table tr td span.active:hover[disabled],
.datepicker table tr td span.active.disabled[disabled],
.datepicker table tr td span.active.disabled:hover[disabled] {
  background-color: #0044cc;
}
.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.active,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled:hover.active {
  background-color: #003399 \9;
}
.datepicker table tr td span.old,
.datepicker table tr td span.new {
  color: #999999;
}
.datepicker th.datepicker-switch {
  width: 145px;
}
.datepicker thead tr:first-child th,
.datepicker tfoot tr th {
  cursor: pointer;
}
.datepicker thead tr:first-child th:hover,
.datepicker tfoot tr th:hover {
  background: #eeeeee;
}
.datepicker .cw {
  font-size: 10px;
  width: 12px;
  padding: 0 2px 0 5px;
  vertical-align: middle;
}
.datepicker thead tr:first-child th.cw {
  cursor: default;
  background-color: transparent;
}
.input-append.date .add-on i,
.input-prepend.date .add-on i {
  cursor: pointer;
  width: 16px;
  height: 16px;
}
.input-daterange input {
  text-align: center;
}
.input-daterange input:first-child {
  -webkit-border-radius: 3px 0 0 3px;
  -moz-border-radius: 3px 0 0 3px;
  border-radius: 3px 0 0 3px;
}
.input-daterange input:last-child {
  -webkit-border-radius: 0 3px 3px 0;
  -moz-border-radius: 0 3px 3px 0;
  border-radius: 0 3px 3px 0;
}
.input-daterange .add-on {
  display: inline-block;
  width: auto;
  min-width: 16px;
  height: 20px;
  padding: 4px 5px;
  font-weight: normal;
  line-height: 20px;
  text-align: center;
  text-shadow: 0 1px 0 #ffffff;
  vertical-align: middle;
  background-color: #eeeeee;
  border: 1px solid #ccc;
  margin-left: -5px;
  margin-right: -5px;
}
.datepicker.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  float: left;
  display: none;
  min-width: 160px;
  list-style: none;
  background-color: #ffffff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  *border-right-width: 2px;
  *border-bottom-width: 2px;
  color: #333333;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  line-height: 20px;
}
.datepicker.dropdown-menu th,
.datepicker.dropdown-menu td {
  padding: 4px 5px;
}

/*!
 * Bootstrap-select v1.8.1 (http://silviomoreto.github.io/bootstrap-select)
 *
 * Copyright 2013-2015 bootstrap-select
 * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
 */

.bootstrap-select {
  width: 220px \0;
  /*IE9 and below*/
}
.bootstrap-select > .dropdown-toggle {
  width: 100%;
  padding-right: 25px;
  z-index: 1;
}
.bootstrap-select > select {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0.11px;
  height: 100%;
  opacity: 0;
  border: none;
}
.bootstrap-select > select.mobile-device {
  position: absolute !important;
  top: 0;
  left: 0;
  display: block !important;
  width: 100%;
  height: 100% !important;
  opacity: 0;
  z-index: 2;
}
.has-error .bootstrap-select .dropdown-toggle,
.error .bootstrap-select .dropdown-toggle {
  border-color: #b94a48;
}
.bootstrap-select.fit-width {
  width: auto !important;
}
.bootstrap-select:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn) {
  width: 220px;
}
.bootstrap-select .dropdown-toggle:focus {
  outline: thin dotted #333333 !important;
  outline: 5px auto -webkit-focus-ring-color !important;
  outline-offset: -2px;
}
.bootstrap-select.form-control {
  margin-bottom: 0;
  padding: 0;
  border: none;
}
.bootstrap-select.form-control:not([class*="col-"]) {
  width: 100%;
}
.bootstrap-select.form-control.input-group-btn {
  z-index: auto;
}
.bootstrap-select.btn-group:not(.input-group-btn),
.bootstrap-select.btn-group[class*="col-"] {
  float: none;
  display: inline-block;
  margin-left: 0;
}
.bootstrap-select.btn-group.dropdown-menu-right,
.bootstrap-select.btn-group[class*="col-"].dropdown-menu-right,
.row .bootstrap-select.btn-group[class*="col-"].dropdown-menu-right {
  float: right;
}
.form-inline .bootstrap-select.btn-group,
.form-horizontal .bootstrap-select.btn-group,
.form-group .bootstrap-select.btn-group {
  margin-bottom: 0;
}
.form-group-lg .bootstrap-select.btn-group.form-control,
.form-group-sm .bootstrap-select.btn-group.form-control {
  padding: 0;
}
.form-inline .bootstrap-select.btn-group .form-control {
  width: 100%;
}
.bootstrap-select.btn-group.disabled,
.bootstrap-select.btn-group > .disabled {
  cursor: not-allowed;
}
.bootstrap-select.btn-group.disabled:focus,
.bootstrap-select.btn-group > .disabled:focus {
  outline: none !important;
}
.bootstrap-select.btn-group.bs-container {
  position: absolute;
}
.bootstrap-select.btn-group.bs-container .dropdown-menu {
  z-index: 1060;
}
.bootstrap-select.btn-group .dropdown-toggle .filter-option {
  display: inline-block;
  overflow: hidden;
  width: 100%;
  text-align: left;
}
.bootstrap-select.btn-group .dropdown-toggle .caret {
  position: absolute;
  top: 50%;
  right: 12px;
  margin-top: -2px;
  vertical-align: middle;
}
.bootstrap-select.btn-group[class*="col-"] .dropdown-toggle {
  width: 100%;
}
.bootstrap-select.btn-group .dropdown-menu {
  min-width: 100%;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
.bootstrap-select.btn-group .dropdown-menu.inner {
  position: static;
  float: none;
  border: 0;
  padding: 0;
  margin: 0;
  border-radius: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.bootstrap-select.btn-group .dropdown-menu li {
  position: relative;
}
.bootstrap-select.btn-group .dropdown-menu li.active small {
  color: #fff;
}
.bootstrap-select.btn-group .dropdown-menu li.disabled a {
  cursor: not-allowed;
}
.bootstrap-select.btn-group .dropdown-menu li a {
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.bootstrap-select.btn-group .dropdown-menu li a.opt {
  position: relative;
  padding-left: 2.25em;
}
.bootstrap-select.btn-group .dropdown-menu li a span.check-mark {
  display: none;
}
.bootstrap-select.btn-group .dropdown-menu li a span.text {
  display: inline-block;
}
.bootstrap-select.btn-group .dropdown-menu li small {
  padding-left: 0.5em;
}
.bootstrap-select.btn-group .dropdown-menu .notify {
  position: absolute;
  bottom: 5px;
  width: 96%;
  margin: 0 2%;
  min-height: 26px;
  padding: 3px 5px;
  background: #f5f5f5;
  border: 1px solid #e3e3e3;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  pointer-events: none;
  opacity: 0.9;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
.bootstrap-select.btn-group .no-results {
  padding: 3px;
  background: #f5f5f5;
  margin: 0 5px;
  white-space: nowrap;
}
.bootstrap-select.btn-group.fit-width .dropdown-toggle .filter-option {
  position: static;
}
.bootstrap-select.btn-group.fit-width .dropdown-toggle .caret {
  position: static;
  top: auto;
  margin-top: -1px;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a span.check-mark {
  position: absolute;
  display: inline-block;
  right: 15px;
  margin-top: 5px;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text {
  margin-right: 34px;
}
.bootstrap-select.show-menu-arrow.open > .dropdown-toggle {
  z-index: 1061;
}
.bootstrap-select.show-menu-arrow .dropdown-toggle:before {
  content: '';
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid rgba(204, 204, 204, 0.2);
  position: absolute;
  bottom: -4px;
  left: 9px;
  display: none;
}
.bootstrap-select.show-menu-arrow .dropdown-toggle:after {
  content: '';
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid white;
  position: absolute;
  bottom: -4px;
  left: 10px;
  display: none;
}
.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before {
  bottom: auto;
  top: -3px;
  border-top: 7px solid rgba(204, 204, 204, 0.2);
  border-bottom: 0;
}
.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after {
  bottom: auto;
  top: -3px;
  border-top: 6px solid white;
  border-bottom: 0;
}
.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before {
  right: 12px;
  left: auto;
}
.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after {
  right: 13px;
  left: auto;
}
.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:before,
.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:after {
  display: block;
}
.bs-searchbox,
.bs-actionsbox,
.bs-donebutton {
  padding: 4px 8px;
}
.bs-actionsbox {
  width: 100%;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
.bs-actionsbox .btn-group button {
  width: 50%;
}
.bs-donebutton {
  float: left;
  width: 100%;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
.bs-donebutton .btn-group button {
  width: 100%;
}
.bs-searchbox + .bs-actionsbox {
  padding: 0 8px 4px;
}
.bs-searchbox .form-control {
  margin-bottom: 0;
  width: 100%;
  float: none;
}
/*# sourceMappingURL=bootstrap-select.css.map */
/*
 * Table styles
 */
table.dataTable {
  width: 100%;
  margin: 0 auto;
  clear: both;
  border-collapse: separate;
  border-spacing: 0;
  /*
   * Header and footer styles
   */
  /*
   * Body styles
   */
}
table.dataTable thead th,
table.dataTable tfoot th {
  font-weight: bold;
}
table.dataTable thead th,
table.dataTable thead td {
  padding: 10px 18px;
  border-bottom: 1px solid #111;
}
table.dataTable thead th:active,
table.dataTable thead td:active {
  outline: none;
}
table.dataTable tfoot th,
table.dataTable tfoot td {
  padding: 10px 18px 6px 18px;
  border-top: 1px solid #111;
}
table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc {
  cursor: pointer;
  *cursor: hand;
}
table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc,
table.dataTable thead .sorting_asc_disabled,
table.dataTable thead .sorting_desc_disabled {
  background-repeat: no-repeat;
  background-position: center right;
}
table.dataTable thead .sorting {
  background-image: url("../images/sort_both.png");
}
table.dataTable thead .sorting_asc {
  background-image: url("../images/sort_asc.png");
}
table.dataTable thead .sorting_desc {
  background-image: url("../images/sort_desc.png");
}
table.dataTable thead .sorting_asc_disabled {
  background-image: url("../images/sort_asc_disabled.png");
}
table.dataTable thead .sorting_desc_disabled {
  background-image: url("../images/sort_desc_disabled.png");
}
table.dataTable tbody tr {
  background-color: #ffffff;
}
table.dataTable tbody tr.selected {
  background-color: #B0BED9;
}
table.dataTable tbody th,
table.dataTable tbody td {
  padding: 8px 10px;
}
table.dataTable.row-border tbody th, table.dataTable.row-border tbody td, table.dataTable.display tbody th, table.dataTable.display tbody td {
  border-top: 1px solid #ddd;
}
table.dataTable.row-border tbody tr:first-child th,
table.dataTable.row-border tbody tr:first-child td, table.dataTable.display tbody tr:first-child th,
table.dataTable.display tbody tr:first-child td {
  border-top: none;
}
table.dataTable.cell-border tbody th, table.dataTable.cell-border tbody td {
  border-top: 1px solid #ddd;
  border-right: 1px solid #ddd;
}
table.dataTable.cell-border tbody tr th:first-child,
table.dataTable.cell-border tbody tr td:first-child {
  border-left: 1px solid #ddd;
}
table.dataTable.cell-border tbody tr:first-child th,
table.dataTable.cell-border tbody tr:first-child td {
  border-top: none;
}
table.dataTable.stripe tbody tr.odd, table.dataTable.display tbody tr.odd {
  background-color: #f9f9f9;
}
table.dataTable.stripe tbody tr.odd.selected, table.dataTable.display tbody tr.odd.selected {
  background-color: #acbad4;
}
table.dataTable.hover tbody tr:hover, table.dataTable.display tbody tr:hover {
  background-color: #f6f6f6;
}
table.dataTable.hover tbody tr:hover.selected, table.dataTable.display tbody tr:hover.selected {
  background-color: #aab7d1;
}
table.dataTable.order-column tbody tr > .sorting_1,
table.dataTable.order-column tbody tr > .sorting_2,
table.dataTable.order-column tbody tr > .sorting_3, table.dataTable.display tbody tr > .sorting_1,
table.dataTable.display tbody tr > .sorting_2,
table.dataTable.display tbody tr > .sorting_3 {
  background-color: #fafafa;
}
table.dataTable.order-column tbody tr.selected > .sorting_1,
table.dataTable.order-column tbody tr.selected > .sorting_2,
table.dataTable.order-column tbody tr.selected > .sorting_3, table.dataTable.display tbody tr.selected > .sorting_1,
table.dataTable.display tbody tr.selected > .sorting_2,
table.dataTable.display tbody tr.selected > .sorting_3 {
  background-color: #acbad5;
}
table.dataTable.display tbody tr.odd > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd > .sorting_1 {
  background-color: #f1f1f1;
}
table.dataTable.display tbody tr.odd > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd > .sorting_2 {
  background-color: #f3f3f3;
}
table.dataTable.display tbody tr.odd > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd > .sorting_3 {
  background-color: whitesmoke;
}
table.dataTable.display tbody tr.odd.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_1 {
  background-color: #a6b4cd;
}
table.dataTable.display tbody tr.odd.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_2 {
  background-color: #a8b5cf;
}
table.dataTable.display tbody tr.odd.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_3 {
  background-color: #a9b7d1;
}
table.dataTable.display tbody tr.even > .sorting_1, table.dataTable.order-column.stripe tbody tr.even > .sorting_1 {
  background-color: #fafafa;
}
table.dataTable.display tbody tr.even > .sorting_2, table.dataTable.order-column.stripe tbody tr.even > .sorting_2 {
  background-color: #fcfcfc;
}
table.dataTable.display tbody tr.even > .sorting_3, table.dataTable.order-column.stripe tbody tr.even > .sorting_3 {
  background-color: #fefefe;
}
table.dataTable.display tbody tr.even.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_1 {
  background-color: #acbad5;
}
table.dataTable.display tbody tr.even.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_2 {
  background-color: #aebcd6;
}
table.dataTable.display tbody tr.even.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_3 {
  background-color: #afbdd8;
}
table.dataTable.display tbody tr:hover > .sorting_1, table.dataTable.order-column.hover tbody tr:hover > .sorting_1 {
  background-color: #eaeaea;
}
table.dataTable.display tbody tr:hover > .sorting_2, table.dataTable.order-column.hover tbody tr:hover > .sorting_2 {
  background-color: #ececec;
}
table.dataTable.display tbody tr:hover > .sorting_3, table.dataTable.order-column.hover tbody tr:hover > .sorting_3 {
  background-color: #efefef;
}
table.dataTable.display tbody tr:hover.selected > .sorting_1, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_1 {
  background-color: #a2aec7;
}
table.dataTable.display tbody tr:hover.selected > .sorting_2, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_2 {
  background-color: #a3b0c9;
}
table.dataTable.display tbody tr:hover.selected > .sorting_3, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_3 {
  background-color: #a5b2cb;
}
table.dataTable.no-footer {
  border-bottom: 1px solid #111;
}
table.dataTable.nowrap th, table.dataTable.nowrap td {
  white-space: nowrap;
}
table.dataTable.compact thead th,
table.dataTable.compact thead td {
  padding: 4px 17px 4px 4px;
}
table.dataTable.compact tfoot th,
table.dataTable.compact tfoot td {
  padding: 4px;
}
table.dataTable.compact tbody th,
table.dataTable.compact tbody td {
  padding: 4px;
}
table.dataTable th.dt-left,
table.dataTable td.dt-left {
  text-align: left;
}
table.dataTable th.dt-center,
table.dataTable td.dt-center,
table.dataTable td.dataTables_empty {
  text-align: center;
}
table.dataTable th.dt-right,
table.dataTable td.dt-right {
  text-align: right;
}
table.dataTable th.dt-justify,
table.dataTable td.dt-justify {
  text-align: justify;
}
table.dataTable th.dt-nowrap,
table.dataTable td.dt-nowrap {
  white-space: nowrap;
}
table.dataTable thead th.dt-head-left,
table.dataTable thead td.dt-head-left,
table.dataTable tfoot th.dt-head-left,
table.dataTable tfoot td.dt-head-left {
  text-align: left;
}
table.dataTable thead th.dt-head-center,
table.dataTable thead td.dt-head-center,
table.dataTable tfoot th.dt-head-center,
table.dataTable tfoot td.dt-head-center {
  text-align: center;
}
table.dataTable thead th.dt-head-right,
table.dataTable thead td.dt-head-right,
table.dataTable tfoot th.dt-head-right,
table.dataTable tfoot td.dt-head-right {
  text-align: right;
}
table.dataTable thead th.dt-head-justify,
table.dataTable thead td.dt-head-justify,
table.dataTable tfoot th.dt-head-justify,
table.dataTable tfoot td.dt-head-justify {
  text-align: justify;
}
table.dataTable thead th.dt-head-nowrap,
table.dataTable thead td.dt-head-nowrap,
table.dataTable tfoot th.dt-head-nowrap,
table.dataTable tfoot td.dt-head-nowrap {
  white-space: nowrap;
}
table.dataTable tbody th.dt-body-left,
table.dataTable tbody td.dt-body-left {
  text-align: left;
}
table.dataTable tbody th.dt-body-center,
table.dataTable tbody td.dt-body-center {
  text-align: center;
}
table.dataTable tbody th.dt-body-right,
table.dataTable tbody td.dt-body-right {
  text-align: right;
}
table.dataTable tbody th.dt-body-justify,
table.dataTable tbody td.dt-body-justify {
  text-align: justify;
}
table.dataTable tbody th.dt-body-nowrap,
table.dataTable tbody td.dt-body-nowrap {
  white-space: nowrap;
}

table.dataTable,
table.dataTable th,
table.dataTable td {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

/*
 * Control feature layout
 */
.dataTables_wrapper {
  position: relative;
  clear: both;
  *zoom: 1;
  zoom: 1;
}
.dataTables_wrapper .dataTables_length {
  float: left;
}
.dataTables_wrapper .dataTables_filter {
  float: right;
  text-align: right;
}
.dataTables_wrapper .dataTables_filter input {
  margin-left: 0.5em;
}
.dataTables_wrapper .dataTables_info {
  clear: both;
  float: left;
  padding-top: 0.755em;
}
.dataTables_wrapper .dataTables_paginate {
  float: right;
  text-align: right;
  padding-top: 0.25em;
}
.dataTables_wrapper .dataTables_paginate .paginate_button {
  box-sizing: border-box;
  display: inline-block;
  min-width: 1.5em;
  padding: 0.5em 1em;
  margin-left: 2px;
  text-align: center;
  text-decoration: none !important;
  cursor: pointer;
  *cursor: hand;
  color: #333 !important;
  border: 1px solid transparent;
  border-radius: 2px;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current, .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
  color: #333 !important;
  border: 1px solid #979797;
  background-color: white;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #dcdcdc));
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, white 0%, #dcdcdc 100%);
  /* Chrome10+,Safari5.1+ */
  background: -moz-linear-gradient(top, white 0%, #dcdcdc 100%);
  /* FF3.6+ */
  background: -ms-linear-gradient(top, white 0%, #dcdcdc 100%);
  /* IE10+ */
  background: -o-linear-gradient(top, white 0%, #dcdcdc 100%);
  /* Opera 11.10+ */
  background: linear-gradient(to bottom, white 0%, #dcdcdc 100%);
  /* W3C */
}
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active {
  cursor: default;
  color: #666 !important;
  border: 1px solid transparent;
  background: transparent;
  box-shadow: none;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  color: white !important;
  border: 1px solid #111;
  background-color: #585858;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111));
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, #585858 0%, #111 100%);
  /* Chrome10+,Safari5.1+ */
  background: -moz-linear-gradient(top, #585858 0%, #111 100%);
  /* FF3.6+ */
  background: -ms-linear-gradient(top, #585858 0%, #111 100%);
  /* IE10+ */
  background: -o-linear-gradient(top, #585858 0%, #111 100%);
  /* Opera 11.10+ */
  background: linear-gradient(to bottom, #585858 0%, #111 100%);
  /* W3C */
}
.dataTables_wrapper .dataTables_paginate .paginate_button:active {
  outline: none;
  background-color: #2b2b2b;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c));
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
  /* Chrome10+,Safari5.1+ */
  background: -moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
  /* FF3.6+ */
  background: -ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
  /* IE10+ */
  background: -o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
  /* Opera 11.10+ */
  background: linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);
  /* W3C */
  box-shadow: inset 0 0 3px #111;
}
.dataTables_wrapper .dataTables_paginate .ellipsis {
  padding: 0 1em;
}
.dataTables_wrapper .dataTables_processing {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 40px;
  margin-left: -50%;
  margin-top: -25px;
  padding-top: 20px;
  text-align: center;
  font-size: 1.2em;
  background-color: white;
  background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(25%, rgba(255, 255, 255, 0.9)), color-stop(75%, rgba(255, 255, 255, 0.9)), color-stop(100%, rgba(255, 255, 255, 0)));
  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
  background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
  background: -ms-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
  background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
}
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_processing,
.dataTables_wrapper .dataTables_paginate {
  color: #333;
}
.dataTables_wrapper .dataTables_scroll {
  clear: both;
}
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody {
  *margin-top: -1px;
  -webkit-overflow-scrolling: touch;
}
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td {
  vertical-align: middle;
}
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th > div.dataTables_sizing,
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td > div.dataTables_sizing {
  height: 0;
  overflow: hidden;
  margin: 0 !important;
  padding: 0 !important;
}
.dataTables_wrapper.no-footer .dataTables_scrollBody {
  border-bottom: 1px solid #111;
}
.dataTables_wrapper.no-footer div.dataTables_scrollHead table,
.dataTables_wrapper.no-footer div.dataTables_scrollBody table {
  border-bottom: none;
}
.dataTables_wrapper:after {
  visibility: hidden;
  display: block;
  content: "";
  clear: both;
  height: 0;
}

@media screen and (max-width: 767px) {
  .dataTables_wrapper .dataTables_info,
  .dataTables_wrapper .dataTables_paginate {
    float: none;
    text-align: center;
  }
  .dataTables_wrapper .dataTables_paginate {
    margin-top: 0.5em;
  }
}
@media screen and (max-width: 640px) {
  .dataTables_wrapper .dataTables_length,
  .dataTables_wrapper .dataTables_filter {
    float: none;
    text-align: center;
  }
  .dataTables_wrapper .dataTables_filter {
    margin-top: 0.5em;
  }
}

.morris-hover{position:absolute;z-index:1000}.morris-hover.morris-default-style{border-radius:10px;padding:6px;color:#666;background:rgba(255,255,255,0.8);border:solid 2px rgba(230,230,230,0.8);font-family:sans-serif;font-size:12px;text-align:center}.morris-hover.morris-default-style .morris-hover-row-label{font-weight:bold;margin:0.25em 0}
.morris-hover.morris-default-style .morris-hover-point{white-space:nowrap;margin:0.1em 0}

/*!
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
.pesdk-react-editor {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC);
  position: absolute;
  overflow: hidden;
  width: 100%;
  height: 100%;
  background: #1B1B1B;
  text-align: left; }
  .pesdk-react-editor html, .pesdk-react-editor body, .pesdk-react-editor div, .pesdk-react-editor span, .pesdk-react-editor applet, .pesdk-react-editor object, .pesdk-react-editor iframe,
  .pesdk-react-editor h1, .pesdk-react-editor h2, .pesdk-react-editor h3, .pesdk-react-editor h4, .pesdk-react-editor h5, .pesdk-react-editor h6, .pesdk-react-editor p, .pesdk-react-editor blockquote, .pesdk-react-editor pre,
  .pesdk-react-editor a, .pesdk-react-editor abbr, .pesdk-react-editor acronym, .pesdk-react-editor address, .pesdk-react-editor big, .pesdk-react-editor cite, .pesdk-react-editor code,
  .pesdk-react-editor del, .pesdk-react-editor dfn, .pesdk-react-editor em, .pesdk-react-editor img, .pesdk-react-editor ins, .pesdk-react-editor kbd, .pesdk-react-editor q, .pesdk-react-editor s, .pesdk-react-editor samp,
  .pesdk-react-editor small, .pesdk-react-editor strike, .pesdk-react-editor strong, .pesdk-react-editor sub, .pesdk-react-editor sup, .pesdk-react-editor tt, .pesdk-react-editor var,
  .pesdk-react-editor b, .pesdk-react-editor u, .pesdk-react-editor i, .pesdk-react-editor center,
  .pesdk-react-editor dl, .pesdk-react-editor dt, .pesdk-react-editor dd, .pesdk-react-editor ol, .pesdk-react-editor ul, .pesdk-react-editor li,
  .pesdk-react-editor fieldset, .pesdk-react-editor form, .pesdk-react-editor label, .pesdk-react-editor legend,
  .pesdk-react-editor table, .pesdk-react-editor caption, .pesdk-react-editor tbody, .pesdk-react-editor tfoot, .pesdk-react-editor thead, .pesdk-react-editor tr, .pesdk-react-editor th, .pesdk-react-editor td,
  .pesdk-react-editor article, .pesdk-react-editor aside, .pesdk-react-editor canvas, .pesdk-react-editor details, .pesdk-react-editor embed,
  .pesdk-react-editor figure, .pesdk-react-editor figcaption, .pesdk-react-editor footer, .pesdk-react-editor header, .pesdk-react-editor hgroup,
  .pesdk-react-editor menu, .pesdk-react-editor nav, .pesdk-react-editor output, .pesdk-react-editor ruby, .pesdk-react-editor section, .pesdk-react-editor summary,
  .pesdk-react-editor time, .pesdk-react-editor mark, .pesdk-react-editor audio, .pesdk-react-editor video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    font-size: 100%;
    vertical-align: baseline; }
  .pesdk-react-editor html {
    line-height: 1; }
  .pesdk-react-editor ol, .pesdk-react-editor ul {
    list-style: none; }
  .pesdk-react-editor table {
    border-collapse: collapse;
    border-spacing: 0; }
  .pesdk-react-editor caption, .pesdk-react-editor th, .pesdk-react-editor td {
    text-align: left;
    font-weight: normal;
    vertical-align: middle; }
  .pesdk-react-editor q, .pesdk-react-editor blockquote {
    quotes: none; }
    .pesdk-react-editor q:before, .pesdk-react-editor q:after, .pesdk-react-editor blockquote:before, .pesdk-react-editor blockquote:after {
      content: "";
      content: none; }
  .pesdk-react-editor a img {
    border: none; }
  .pesdk-react-editor article, .pesdk-react-editor aside, .pesdk-react-editor details, .pesdk-react-editor figcaption, .pesdk-react-editor figure, .pesdk-react-editor footer, .pesdk-react-editor header, .pesdk-react-editor hgroup, .pesdk-react-editor main, .pesdk-react-editor menu, .pesdk-react-editor nav, .pesdk-react-editor section, .pesdk-react-editor summary {
    display: block; }
  @media only screen and (min-width: 768px) {
    .pesdk-react-editor {
      -webkit-border-radius: 5px;
      -moz-border-radius: 5px;
      -ms-border-radius: 5px;
      -o-border-radius: 5px;
      border-radius: 5px; } }
  .pesdk-react-editor, .pesdk-react-editor * {
    box-sizing: border-box; }

/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
.pesdk-react-editor .pesdk-react-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 30px;
  background: #1B1B1B;
  text-align: center; }
  .pesdk-react-editor .pesdk-react-header__label {
    font-family: "__pesdk_Montserrat";
    font-weight: normal;
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
    opacity: 0.5;
    font-size: 11px;
    line-height: 30px;
    color: white; }
  .pesdk-react-editor .pesdk-react-header__close {
    position: absolute;
    top: 10px;
    left: 15px;
    cursor: pointer; }
    .pesdk-react-editor .pesdk-react-header__close__image {
      width: 11px;
      height: 11px; }

/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
.pesdk-react-editor .pesdk-react-screen {
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  width: 100%;
  height: 100%;
  padding-top: 30px;
  background: #2B2B2B; }

/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
.pesdk-react-editor .pesdk-react-button {
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  font-family: "__pesdk_Montserrat";
  font-weight: normal;
  border: none;
  padding: 10px 15px;
  background: #43ADEB;
  cursor: pointer;
  font-size: 14px;
  color: white; }
  .pesdk-react-editor .pesdk-react-button--inline {
    display: inline-block; }

/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
.pesdk-react-editor .pesdk-react-subHeader__row {
  display: table-row;
  height: 50px;
  background: #2B2B2B;
  text-align: center; }

.pesdk-react-editor .pesdk-react-subHeader__cell {
  position: relative;
  display: table-cell;
  padding: 0 20px; }

.pesdk-react-editor .pesdk-react-subHeader__label {
  font-family: "__pesdk_Montserrat";
  font-weight: normal;
  font-size: 15px;
  line-height: 50px;
  color: white; }

.pesdk-react-editor .pesdk-react-subHeader__left, .pesdk-react-editor .pesdk-react-subHeader__right {
  position: absolute;
  top: 10px; }

.pesdk-react-editor .pesdk-react-subHeader__left {
  left: 15px; }

.pesdk-react-editor .pesdk-react-subHeader__right {
  right: 15px; }

.pesdk-react-editor .pesdk-react-subHeader__cancelButton {
  font-family: "__pesdk_Montserrat";
  font-weight: normal;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
  opacity: 0.5;
  position: absolute;
  left: 20px;
  cursor: pointer;
  font-size: 15px;
  line-height: 50px;
  color: white; }
  .pesdk-react-editor .pesdk-react-subHeader__cancelButton:hover {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }

.pesdk-react-editor .pesdk-react-subHeader__button {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
  position: relative;
  display: inline-block;
  margin: 0 5px;
  height: 30px;
  padding: 0 6px 0 9px;
  background: #1B1B1B;
  cursor: pointer; }
  @media only screen and (min-width: 768px) {
    .pesdk-react-editor .pesdk-react-subHeader__button {
      padding-right: 12px; } }
  .pesdk-react-editor .pesdk-react-subHeader__button--blue {
    background: #43ADEB; }
  .pesdk-react-editor .pesdk-react-subHeader__button--withIcon {
    padding-left: 32px; }
  .pesdk-react-editor .pesdk-react-subHeader__button__label {
    font-family: "__pesdk_Montserrat";
    font-weight: normal;
    display: none;
    font-size: 12px;
    line-height: 30px;
    color: white; }
    @media only screen and (min-width: 768px) {
      .pesdk-react-editor .pesdk-react-subHeader__button__label {
        display: inline-block; } }
  .pesdk-react-editor .pesdk-react-subHeader__button__icon {
    position: absolute;
    top: 9px;
    left: 11px;
    width: 14px; }

/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
.pesdk-react-editor .pesdk-react-canvas__container__row {
  display: table-row;
  background: #1B1B1B; }

.pesdk-react-editor .pesdk-react-canvas__container__cell {
  position: relative;
  display: table-cell;
  overflow: hidden; }

.pesdk-react-editor .pesdk-react-canvas__innerContainer, .pesdk-react-editor .pesdk-react-canvas__canvas {
  position: absolute;
  width: 100%;
  height: 100%; }
  .pesdk-react-editor .pesdk-react-canvas__innerContainer.is-draggable, .pesdk-react-editor .pesdk-react-canvas__canvas.is-draggable {
    cursor: move; }

/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
.pesdk-react-editor .pesdk-react-controls {
  position: relative; }
  .pesdk-react-editor .pesdk-react-controls__container__row {
    display: table-row;
    height: 84px;
    background: #2B2B2B; }
  .pesdk-react-editor .pesdk-react-controls__container__cell {
    display: table-cell;
    height: 84px;
    text-align: center; }
  .pesdk-react-editor .pesdk-react-controls__table {
    position: absolute;
    display: table;
    width: 100%;
    height: 84px;
    table-layout: fixed; }
  .pesdk-react-editor .pesdk-react-controls__overlay {
    position: absolute;
    z-index: 3;
    bottom: 100%;
    left: 0;
    width: 100%; }
    .pesdk-react-editor .pesdk-react-controls__overlay--large {
      padding: 15px 0 10px 0; }
    .pesdk-react-editor .pesdk-react-controls__overlay--dark {
      background: rgba(43, 43, 43, 0.7); }
  .pesdk-react-editor .pesdk-react-controls__cell {
    position: relative;
    display: table-cell;
    vertical-align: top; }
    .pesdk-react-editor .pesdk-react-controls__cell--list {
      padding: 12px 0; }
    .pesdk-react-editor .pesdk-react-controls__cell--button, .pesdk-react-editor .pesdk-react-controls__cell--colorPicker {
      width: 74px; }
    .pesdk-react-editor .pesdk-react-controls__cell--categoryDropdown {
      width: 84px;
      background: #393939; }
    .pesdk-react-editor .pesdk-react-controls__cell--largeButton {
      width: 57px; }
    .pesdk-react-editor .pesdk-react-controls__cell--slider {
      padding-top: 30px;
      padding-right: 10px;
      padding-left: 10px; }
    .pesdk-react-editor .pesdk-react-controls__cell--withBorderRight {
      border-right: 2px solid #1B1B1B; }
    .pesdk-react-editor .pesdk-react-controls__cell--withBorderLeft {
      border-left: 2px solid #1B1B1B; }
    .pesdk-react-editor .pesdk-react-controls__cell--empty {
      width: 0; }
  .pesdk-react-editor .pesdk-react-controls__largeButton {
    position: relative;
    display: inline-block;
    width: 57px;
    height: 84px;
    background: #393939;
    cursor: pointer;
    line-height: 84px; }
    .pesdk-react-editor .pesdk-react-controls__largeButton__icon {
      filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
      opacity: 0.8;
      vertical-align: middle;
      width: 36px; }
  .pesdk-react-editor .pesdk-react-controls__button {
    -webkit-border-radius: 1px;
    -moz-border-radius: 1px;
    -ms-border-radius: 1px;
    -o-border-radius: 1px;
    border-radius: 1px;
    position: relative;
    display: inline-block;
    width: 64px;
    height: 60px;
    cursor: pointer;
    line-height: 60px; }
    .pesdk-react-editor .pesdk-react-controls__button__inlineLabel {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
      .pesdk-react-editor .pesdk-react-controls__button__inlineLabel.is-active {
        background: rgba(67, 173, 235, 0.8); }
      .pesdk-react-editor .pesdk-react-controls__button__inlineLabel__label {
        background: -owg-linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.6));
        background: -webkit-linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.6));
        background: -moz-linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.6));
        background: -o-linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.6));
        -pie-background: -pie-linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.6));
        background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.6));
        font-family: "__pesdk_Montserrat";
        font-weight: 100;
        position: absolute;
        bottom: 0;
        width: 100%;
        padding: 5px 0;
        font-size: 10px;
        color: white; }
    .pesdk-react-editor .pesdk-react-controls__button.is-active {
      background: #43ADEB; }
    .pesdk-react-editor .pesdk-react-controls__button * {
      line-height: 1; }
    .pesdk-react-editor .pesdk-react-controls__button--narrow {
      width: 57px; }
    .pesdk-react-editor .pesdk-react-controls__button__icon {
      filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
      opacity: 0.8;
      width: 36px; }
    .pesdk-react-editor .pesdk-react-controls__button__canvas {
      filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
      opacity: 0.8;
      width: 36px;
      height: 36px;
      vertical-align: middle; }
      .pesdk-react-editor .pesdk-react-controls__button__canvas:hover {
        filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
        opacity: 1; }
      .pesdk-react-editor .pesdk-react-controls__button__canvas--large {
        width: 64px;
        height: 60px; }
    .pesdk-react-editor .pesdk-react-controls__button__label {
      filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
      opacity: 0.8;
      font-family: "__pesdk_Montserrat";
      font-weight: normal;
      -webkit-transform: translateX(-50%);
      -moz-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      -o-transform: translateX(-50%);
      transform: translateX(-50%);
      position: absolute;
      bottom: 9px;
      left: 50%;
      width: 100%;
      font-size: 10px;
      color: white; }
  .pesdk-react-editor .pesdk-react-controls__list {
    overflow-x: auto;
    overflow-y: hidden;
    height: 84px;
    white-space: nowrap; }
    .pesdk-react-editor .pesdk-react-controls__list__item {
      position: relative;
      display: inline-block;
      vertical-align: middle;
      padding: 0 5px; }
      .pesdk-react-editor .pesdk-react-controls__list__item--gap {
        width: 20px; }
    .pesdk-react-editor .pesdk-react-controls__list__separator {
      position: relative;
      display: inline-block;
      vertical-align: middle;
      margin: 0 5px;
      width: 1px;
      height: 64px;
      background: #464646; }

.pesdk-react-controls__button:hover .pesdk-react-controls__button__icon, .pesdk-react-controls__button:hover .pesdk-react-controls__button__label {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }

.pesdk-react-controls__largeButton:hover .pesdk-react-controls__largeButton__icon, .pesdk-react-controls__largeButton:hover .pesdk-react-controls__largeButton__label {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }

.pesdk-react-controls__button--withInlineLabel .pesdk-react-controls__button__icon {
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  -ms-border-radius: 1px;
  -o-border-radius: 1px;
  border-radius: 1px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 64px;
  height: 60px; }

.pesdk-react-controls__button--withInlineLabel .pesdk-react-controls__button__label {
  -moz-border-radius-bottomleft: 4px;
  -webkit-border-bottom-left-radius: 4px;
  border-bottom-left-radius: 4px;
  -moz-border-radius-bottomright: 4px;
  -webkit-border-bottom-right-radius: 4px;
  border-bottom-right-radius: 4px;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: none;
  width: 100%;
  background: #1B1B1B;
  line-height: 20px;
  text-align: center; }

.pesdk-react-controls__button--withInlineLabel.is-active .pesdk-react-controls__button__label {
  background: #43ADEB; }

/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
.pesdk-react-editor .pesdk-react-canvasControls__innerContainer {
  position: absolute; }

.pesdk-react-editor .pesdk-react-canvasControls__container {
  position: absolute; }
  .pesdk-react-editor .pesdk-react-canvasControls__container--full {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .pesdk-react-editor .pesdk-react-canvasControls__container--bottom {
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 15px 0 10px 0; }
  .pesdk-react-editor .pesdk-react-canvasControls__container--dark {
    background: rgba(43, 43, 43, 0.7); }

.pesdk-react-editor .pesdk-react-canvasControls__table {
  position: absolute;
  top: 0;
  left: 0;
  display: table;
  table-layout: fixed;
  width: 100%;
  height: 100%; }

.pesdk-react-editor .pesdk-react-canvasControls__row {
  display: table-row; }

.pesdk-react-editor .pesdk-react-canvasControls__cell {
  display: table-cell; }

/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
.pesdk-react-editor .pesdk-react-webcam {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  padding: 25px; }
  .pesdk-react-editor .pesdk-react-webcam__video {
    display: block;
    margin: auto; }

/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
.pesdk-react-editor .pesdk-react-scrollbar {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=30);
  opacity: 0.3;
  position: absolute;
  bottom: 25px;
  left: 0;
  display: block;
  width: 100%;
  height: 12px;
  padding: 4px;
  cursor: pointer; }
  .pesdk-react-editor .pesdk-react-scrollbar__bar {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 12px;
    padding: 4px; }
    .pesdk-react-editor .pesdk-react-scrollbar__bar:before {
      -webkit-border-radius: 4px;
      -moz-border-radius: 4px;
      -ms-border-radius: 4px;
      -o-border-radius: 4px;
      border-radius: 4px;
      display: block;
      width: 100%;
      height: 4px;
      background: white;
      content: ''; }
  .pesdk-react-editor .pesdk-react-scrollbar:hover {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
    opacity: 0.5; }

/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
.pesdk-react-editor .pesdk-react-slider {
  margin: auto;
  width: 280px; }
  .pesdk-react-editor .pesdk-react-slider--large {
    width: 100%;
    max-width: 600px; }
  .pesdk-react-editor .pesdk-react-slider__bar {
    position: relative;
    width: 100%;
    height: 6px; }
    .pesdk-react-editor .pesdk-react-slider__bar__background, .pesdk-react-editor .pesdk-react-slider__bar__foreground {
      -webkit-border-radius: 3px;
      -moz-border-radius: 3px;
      -ms-border-radius: 3px;
      -o-border-radius: 3px;
      border-radius: 3px;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .pesdk-react-editor .pesdk-react-slider__bar__background {
      background: -owg-linear-gradient(to right, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.7));
      background: -webkit-linear-gradient(to right, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.7));
      background: -moz-linear-gradient(to right, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.7));
      background: -o-linear-gradient(to right, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.7));
      -pie-background: -pie-linear-gradient(to right, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.7));
      background: linear-gradient(to right, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.7));
      cursor: pointer; }
    .pesdk-react-editor .pesdk-react-slider__bar__foreground {
      width: 0;
      background: #43ADEB; }
    .pesdk-react-editor .pesdk-react-slider__bar__knob {
      position: absolute;
      z-index: 2; }
    .pesdk-react-editor .pesdk-react-slider__bar__middleDot {
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%;
      -ms-border-radius: 50%;
      -o-border-radius: 50%;
      border-radius: 50%;
      position: absolute;
      left: 50%;
      margin: -3px 0 0 -6px;
      width: 12px;
      height: 12px;
      background: #43ADEB;
      cursor: pointer; }
  .pesdk-react-editor .pesdk-react-slider__labels {
    display: table;
    padding-top: 15px;
    table-layout: fixed;
    width: 100%; }
    .pesdk-react-editor .pesdk-react-slider__labels__label {
      font-family: "__pesdk_Montserrat";
      font-weight: 100;
      display: table-cell;
      font-size: 10px;
      text-transform: uppercase;
      color: white; }
      .pesdk-react-editor .pesdk-react-slider__labels__label--lowerBoundary {
        text-align: left; }
      .pesdk-react-editor .pesdk-react-slider__labels__label--upperBoundary {
        text-align: right; }
      .pesdk-react-editor .pesdk-react-slider__labels__label--upperBoundary, .pesdk-react-editor .pesdk-react-slider__labels__label--lowerBoundary {
        filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
        opacity: 0.5;
        width: 40px; }
      .pesdk-react-editor .pesdk-react-slider__labels__label--value {
        text-align: center; }

/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
.pesdk-react-editor .pesdk-react-miniSlider {
  margin: auto;
  width: 44px; }
  .pesdk-react-editor .pesdk-react-miniSlider__bar {
    position: relative;
    width: 100%;
    height: 2px; }
    .pesdk-react-editor .pesdk-react-miniSlider__bar__background, .pesdk-react-editor .pesdk-react-miniSlider__bar__foreground {
      -webkit-border-radius: 3px;
      -moz-border-radius: 3px;
      -ms-border-radius: 3px;
      -o-border-radius: 3px;
      border-radius: 3px;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .pesdk-react-editor .pesdk-react-miniSlider__bar__background {
      background: rgba(255, 255, 255, 0.3); }
    .pesdk-react-editor .pesdk-react-miniSlider__bar__foreground {
      width: 0;
      background: #43ADEB; }
    .pesdk-react-editor .pesdk-react-miniSlider__bar__knob {
      position: absolute;
      z-index: 2;
      bottom: 0;
      width: 2px;
      height: 4px;
      background: white; }

/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
.pesdk-react-editor .pesdk-react-knob {
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  border-radius: 50%;
  margin: -10px 0 0 -10px;
  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.5);
  width: 20px;
  height: 20px;
  background: white;
  cursor: pointer;
  line-height: 20px;
  text-align: center; }
  .pesdk-react-editor .pesdk-react-knob--transparent {
    border: 2px solid white;
    background: transparent; }
  .pesdk-react-editor .pesdk-react-knob--slider {
    margin: -7px 0 0 -7px;
    padding: 4px 0; }
    .pesdk-react-editor .pesdk-react-knob--slider:before {
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%;
      -ms-border-radius: 50%;
      -o-border-radius: 50%;
      border-radius: 50%;
      display: block;
      margin: auto;
      border: 2px solid #43ADEB;
      width: 8px;
      height: 8px;
      content: ''; }
  .pesdk-react-editor .pesdk-react-knob__icon {
    width: 8px;
    -webkit-touch-callout: none !important;
    -webkit-user-select: none !important; }
    .pesdk-react-editor .pesdk-react-knob__icon--larger {
      margin-top: 4px;
      width: 10px; }

/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
.pesdk-react-editor .pesdk-react-colorPicker {
  height: 84px;
  cursor: pointer; }
  .pesdk-react-editor .pesdk-react-colorPicker.is-active {
    background: #1B1B1B; }
  .pesdk-react-editor .pesdk-react-colorPicker__preview {
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -ms-border-radius: 2px;
    -o-border-radius: 2px;
    border-radius: 2px;
    margin-top: 15px;
    width: 30px;
    height: 30px; }
  .pesdk-react-editor .pesdk-react-colorPicker__label {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
    opacity: 0.8;
    font-family: "__pesdk_Montserrat";
    font-weight: normal;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    position: absolute;
    bottom: 19px;
    left: 50%;
    width: 100%;
    font-size: 10px;
    color: white; }
  .pesdk-react-editor .pesdk-react-colorPicker__overlay {
    -moz-border-radius-topleft: 4px;
    -webkit-border-top-left-radius: 4px;
    border-top-left-radius: 4px;
    -moz-border-radius-topright: 4px;
    -webkit-border-top-right-radius: 4px;
    border-top-right-radius: 4px;
    position: absolute;
    z-index: 4;
    bottom: 100%;
    right: 0;
    display: table;
    width: 220px;
    height: 220px;
    padding: 10px;
    background: #1B1B1B;
    cursor: default; }
    .pesdk-react-editor .pesdk-react-colorPicker__overlay__bottom {
      overflow: hidden;
      *zoom: 1;
      overflow: visible;
      margin-top: 10px; }
  .pesdk-react-editor .pesdk-react-colorPicker__saturation, .pesdk-react-editor .pesdk-react-colorPicker__hue, .pesdk-react-editor .pesdk-react-colorPicker__alpha {
    position: relative; }
    .pesdk-react-editor .pesdk-react-colorPicker__saturation__knob, .pesdk-react-editor .pesdk-react-colorPicker__hue__knob, .pesdk-react-editor .pesdk-react-colorPicker__alpha__knob {
      position: absolute; }
    .pesdk-react-editor .pesdk-react-colorPicker__saturation__canvas, .pesdk-react-editor .pesdk-react-colorPicker__hue__canvas, .pesdk-react-editor .pesdk-react-colorPicker__alpha__canvas {
      cursor: pointer; }
  .pesdk-react-editor .pesdk-react-colorPicker__saturation {
    float: left;
    width: 160px;
    height: 160px; }
    .pesdk-react-editor .pesdk-react-colorPicker__saturation__canvas {
      width: 100%;
      height: 160px; }
  .pesdk-react-editor .pesdk-react-colorPicker__hue {
    float: right;
    width: 30px;
    height: 160px; }
    .pesdk-react-editor .pesdk-react-colorPicker__hue__canvas {
      width: 100%;
      height: 160px; }
  .pesdk-react-editor .pesdk-react-colorPicker__alpha {
    width: 100%;
    height: 30px; }
    .pesdk-react-editor .pesdk-react-colorPicker__alpha__canvas {
      width: 100%;
      height: 30px; }

.pesdk-react-colorPicker:hover .pesdk-react-colorPicker__icon, .pesdk-react-colorPicker:hover .pesdk-react-colorPicker__label {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }

/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
.pesdk-react-editor .pesdk-react-controls__categoryDropdown {
  position: relative;
  height: 84px;
  background: #393939;
  cursor: pointer; }
  .pesdk-react-editor .pesdk-react-controls__categoryDropdown.is-active {
    background: #1B1B1B; }
  .pesdk-react-editor .pesdk-react-controls__categoryDropdown__label {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
    opacity: 0.8;
    font-family: "__pesdk_Montserrat";
    font-weight: normal;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    position: absolute;
    bottom: 19px;
    left: 50%;
    width: 100%;
    font-size: 10px;
    color: white; }
  .pesdk-react-editor .pesdk-react-controls__categoryDropdown__icon {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
    opacity: 0.8;
    margin-top: 13px;
    width: 36px;
    height: 36px; }

.pesdk-react-editor .pesdk-react-categoryDropdown__overlay {
  -moz-border-radius-topleft: 4px;
  -webkit-border-top-left-radius: 4px;
  border-top-left-radius: 4px;
  -moz-border-radius-topright: 4px;
  -webkit-border-top-right-radius: 4px;
  border-top-right-radius: 4px;
  position: absolute;
  z-index: 4;
  bottom: 100%;
  left: 0;
  display: table;
  width: 220px;
  padding: 10px;
  background: rgba(27, 27, 27, 0.9);
  cursor: default; }
  .pesdk-react-editor .pesdk-react-categoryDropdown__overlay__list__item {
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -ms-border-radius: 2px;
    -o-border-radius: 2px;
    border-radius: 2px;
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=90);
    opacity: 0.9;
    margin-bottom: 2px;
    height: 48px;
    cursor: pointer; }
    .pesdk-react-editor .pesdk-react-categoryDropdown__overlay__list__item:hover {
      background: #1B1B1B; }
    .pesdk-react-editor .pesdk-react-categoryDropdown__overlay__list__item.is-active {
      filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
      opacity: 1;
      background: #43ADEB; }
    .pesdk-react-editor .pesdk-react-categoryDropdown__overlay__list__item__label {
      font-family: "__pesdk_Montserrat";
      font-weight: normal;
      padding: 0 15px;
      font-size: 13px;
      line-height: 48px;
      text-align: left;
      color: white; }
    .pesdk-react-editor .pesdk-react-categoryDropdown__overlay__list__item__icon {
      float: left;
      margin: 6px 10px 0 6px;
      width: 36px; }

.pesdk-react-controls__categoryDropdown:hover .pesdk-react-controls__categoryDropdown__icon, .pesdk-react-controls__categoryDropdown:hover .pesdk-react-controls__categoryDropdown__label {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }

/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
.pesdk-react-editor .pesdk-react-hiddenFileInput {
  position: absolute;
  top: 0;
  left: 0;
  visibility: hidden;
  width: 0;
  height: 0; }

/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
.pesdk-react-editor .pesdk-react-modals__modal {
  -webkit-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  -o-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  position: absolute;
  z-index: 6;
  top: 50%;
  left: 50%;
  border-top: 2px solid grey;
  border-radius: 5px;
  max-width: 90%;
  padding: 20px;
  background: rgba(43, 43, 43, 0.9);
  text-align: center; }
  .pesdk-react-editor .pesdk-react-modals__modal--error {
    border-color: #FF3E3E; }
  .pesdk-react-editor .pesdk-react-modals__modal--warning {
    border-color: #FFBF3E; }

.pesdk-react-editor .pesdk-react-modals__overlay {
  position: absolute;
  z-index: 5;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(27, 27, 27, 0.8); }

.pesdk-react-editor .pesdk-react-modals__button {
  margin-top: 0.5em; }

.pesdk-react-editor .pesdk-react-modals__title, .pesdk-react-editor .pesdk-react-modals__text {
  font-family: "__pesdk_Montserrat";
  font-weight: normal;
  display: block;
  font-size: 15px;
  color: white; }

.pesdk-react-editor .pesdk-react-modals__title {
  margin-bottom: 0.5em; }

.pesdk-react-editor .pesdk-react-modals__text {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5); }

/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
.pesdk-react-editor .pesdk-react-cropCanvasControls {
  position: absolute;
  top: 0;
  left: 0;
  display: table;
  width: 100%;
  height: 100%;
  table-layout: fixed; }
  .pesdk-react-editor .pesdk-react-cropCanvasControls__knob {
    position: absolute;
    z-index: 2; }
    .pesdk-react-editor .pesdk-react-cropCanvasControls__knob--topLeft {
      top: 0;
      left: 0;
      margin: -10px 0 0 -10px; }
    .pesdk-react-editor .pesdk-react-cropCanvasControls__knob--bottomRight {
      bottom: 0;
      right: 0;
      margin: 0 -10px -10px 0; }
  .pesdk-react-editor .pesdk-react-cropCanvasControls__row {
    display: table-row; }
  .pesdk-react-editor .pesdk-react-cropCanvasControls__cell {
    position: relative;
    display: table-cell;
    cursor: move; }
    .pesdk-react-editor .pesdk-react-cropCanvasControls__cell--dark {
      background: rgba(27, 27, 27, 0.8);
      cursor: default;
      font-size: 0px; }
    .pesdk-react-editor .pesdk-react-cropCanvasControls__cell--bordered {
      -webkit-box-shadow: 0px 1px 2px 0px black;
      -moz-box-shadow: 0px 1px 2px 0px black;
      box-shadow: 0px 1px 2px 0px black; }
  .pesdk-react-editor .pesdk-react-cropCanvasControls__dimensions {
    font-family: "__pesdk_Montserrat";
    font-weight: 100;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px;
    border-radius: 4px;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    -o-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    position: absolute;
    top: 50%;
    left: 50%;
    padding: 0 10px;
    background: rgba(27, 27, 27, 0.7);
    font-size: 10px;
    line-height: 24px;
    white-space: nowrap;
    color: white; }

/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
.pesdk-react-editor .pesdk-react-linearFocusCanvasControls {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: 100%; }
  .pesdk-react-editor .pesdk-react-linearFocusCanvasControls__knob {
    position: absolute;
    z-index: 2;
    margin: -10px 0 0 -10px; }
  .pesdk-react-editor .pesdk-react-linearFocusCanvasControls__area {
    -webkit-box-shadow: 0px 1px 2px 0px black;
    -moz-box-shadow: 0px 1px 2px 0px black;
    box-shadow: 0px 1px 2px 0px black;
    position: absolute;
    border: 1px solid white;
    cursor: move; }

/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
.pesdk-react-editor .pesdk-react-radialFocusCanvasControls {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: 100%; }
  .pesdk-react-editor .pesdk-react-radialFocusCanvasControls__knob {
    position: absolute;
    z-index: 2;
    margin: -10px 0 0 -10px; }
  .pesdk-react-editor .pesdk-react-radialFocusCanvasControls__area {
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
    -webkit-box-shadow: 0px 1px 2px 0px black;
    -moz-box-shadow: 0px 1px 2px 0px black;
    box-shadow: 0px 1px 2px 0px black;
    position: absolute;
    border: 1px solid white;
    cursor: move; }

/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
.pesdk-react-editor .pesdk-react-stickersControls__tooltip {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
  position: absolute;
  border-color: #2B2B2B;
  position: absolute;
  bottom: 100%;
  left: 0;
  margin: 0 0 20px -65px;
  width: 130px;
  height: 200px;
  padding: 10px;
  background: #2B2B2B; }
  .pesdk-react-editor .pesdk-react-stickersControls__tooltip:before {
    position: absolute;
    border-color: #2B2B2B;
    width: 0;
    height: 0;
    content: "";
    top: 100%;
    left: 50%;
    margin-top: -1px;
    margin-left: -10px;
    border-top: 10px solid #2B2B2B;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
    border-top-color: inherit; }
  .pesdk-react-editor .pesdk-react-stickersControls__tooltip__canvas {
    width: 100%;
    height: 100%; }

.pesdk-react-editor .pesdk-react-stickersControls__item {
  display: inline-block;
  margin: 0 4px;
  width: 84px;
  height: 60px;
  padding: 5px;
  background: #313131;
  cursor: pointer; }
  .pesdk-react-editor .pesdk-react-stickersControls__item:first-child, .pesdk-react-editor .pesdk-react-stickersControls__item:last-child {
    margin-left: 8px; }
  .pesdk-react-editor .pesdk-react-stickersControls__item__canvas {
    width: 100%;
    height: 100%; }

/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
.pesdk-react-editor .pesdk-react-spritesCanvasControls {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
  cursor: default; }
  .pesdk-react-editor .pesdk-react-spritesCanvasControls__item__knob {
    position: absolute;
    z-index: 3; }
  .pesdk-react-editor .pesdk-react-spritesCanvasControls__item__container {
    position: absolute; }
  .pesdk-react-editor .pesdk-react-spritesCanvasControls__item__text, .pesdk-react-editor .pesdk-react-spritesCanvasControls__item__sticker, .pesdk-react-editor .pesdk-react-spritesCanvasControls__item__knob {
    position: absolute; }
  .pesdk-react-editor .pesdk-react-spritesCanvasControls__item__text, .pesdk-react-editor .pesdk-react-spritesCanvasControls__item__sticker {
    cursor: pointer; }
    .pesdk-react-editor .pesdk-react-spritesCanvasControls__item__text.is-selected, .pesdk-react-editor .pesdk-react-spritesCanvasControls__item__sticker.is-selected {
      -webkit-box-shadow: 0px 1px 2px 0px black;
      -moz-box-shadow: 0px 1px 2px 0px black;
      box-shadow: 0px 1px 2px 0px black;
      outline: 1px solid white;
      cursor: move; }
  .pesdk-react-editor .pesdk-react-spritesCanvasControls__item__text__disabledOverlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .pesdk-react-editor .pesdk-react-spritesCanvasControls__item__text__content {
    overflow: hidden;
    border: none;
    width: 100%;
    resize: none; }

/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
.pesdk-react-editor .pesdk-react-stickerControlsOverlay {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 0 4px 9px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 4px 9px rgba(0, 0, 0, 0.2);
  box-shadow: 0 4px 9px rgba(0, 0, 0, 0.2);
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  position: absolute;
  top: 20px;
  left: 50%;
  height: 31px;
  background: #43ADEB; }
  .pesdk-react-editor .pesdk-react-stickerControlsOverlay__item, .pesdk-react-editor .pesdk-react-stickerControlsOverlay__separator {
    display: inline-block; }
  .pesdk-react-editor .pesdk-react-stickerControlsOverlay__item {
    width: 35px;
    cursor: pointer;
    line-height: 31px;
    text-align: center; }
    .pesdk-react-editor .pesdk-react-stickerControlsOverlay__item:hover {
      background: rgba(0, 0, 0, 0.1); }
    .pesdk-react-editor .pesdk-react-stickerControlsOverlay__item__icon {
      vertical-align: middle;
      width: 30px;
      height: 30px; }
  .pesdk-react-editor .pesdk-react-stickerControlsOverlay__separator {
    width: 1px;
    height: 19px;
    background: rgba(0, 0, 0, 0.1);
    vertical-align: middle; }

/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
.pesdk-react-editor .pesdk-react-adjustmentsControls__miniSlider {
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -22px; }

/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
.pesdk-react-editor .pesdk-react-textFontSizeControls {
  display: inline-block;
  width: 110px;
  height: 60px; }
  .pesdk-react-editor .pesdk-react-textFontSizeControls__buttons {
    float: left;
    margin: 9px 0 0 15px; }
    .pesdk-react-editor .pesdk-react-textFontSizeControls__buttons__button {
      filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=20);
      opacity: 0.2;
      width: 20px;
      height: 20px;
      background: white;
      cursor: pointer;
      line-height: 20px; }
      .pesdk-react-editor .pesdk-react-textFontSizeControls__buttons__button:hover {
        filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
        opacity: 0.5; }
      .pesdk-react-editor .pesdk-react-textFontSizeControls__buttons__button--plus {
        -moz-border-radius-topleft: 2px;
        -webkit-border-top-left-radius: 2px;
        border-top-left-radius: 2px;
        -moz-border-radius-topright: 2px;
        -webkit-border-top-right-radius: 2px;
        border-top-right-radius: 2px;
        margin-bottom: 1px; }
      .pesdk-react-editor .pesdk-react-textFontSizeControls__buttons__button--minus {
        -moz-border-radius-bottomleft: 2px;
        -webkit-border-bottom-left-radius: 2px;
        border-bottom-left-radius: 2px;
        -moz-border-radius-bottomright: 2px;
        -webkit-border-bottom-right-radius: 2px;
        border-bottom-right-radius: 2px; }
      .pesdk-react-editor .pesdk-react-textFontSizeControls__buttons__button__icon {
        width: 10px;
        vertical-align: middle; }
  .pesdk-react-editor .pesdk-react-textFontSizeControls__right {
    float: right;
    margin-top: 7px;
    width: 60px;
    text-align: left; }
    .pesdk-react-editor .pesdk-react-textFontSizeControls__right__size {
      font-family: "__pesdk_Montserrat";
      font-weight: normal;
      font-size: 24px;
      color: white; }
    .pesdk-react-editor .pesdk-react-textFontSizeControls__right__label {
      font-family: "__pesdk_Montserrat";
      font-weight: normal;
      font-size: 10px;
      color: white; }

/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
.pesdk-react-editor .pesdk-react-fontSize__text {
  font-family: "__pesdk_Montserrat";
  font-weight: normal;
  margin-top: 10px;
  font-size: 24px;
  color: white; }

/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
.pesdk-react-editor .pesdk-react-fontFamily__canvas {
  width: 60px;
  height: 42px; }

.pesdk-react-editor .pesdk-react-fontFamily__list {
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  padding: 5px 0 10px 0;
  white-space: nowrap; }

.pesdk-react-editor .pesdk-react-fontFamily__item {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 60px;
  vertical-align: middle;
  margin: 0 2px;
  border: 1px solid transparent;
  padding-bottom: 5px;
  cursor: pointer; }
  .pesdk-react-editor .pesdk-react-fontFamily__item.is-active {
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
    border-radius: 3px;
    border: 1px solid white; }

.pesdk-react-editor .pesdk-react-fontFamily__label {
  font-family: "__pesdk_Montserrat";
  font-weight: normal;
  position: absolute;
  bottom: 5px;
  text-overflow: ellipsis;
  overflow: hidden;
  width: 100%;
  padding: 0 5px;
  font-size: 10px;
  color: white; }

/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
.pesdk-react-editor .pesdk-react-brushCanvasControls {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
  cursor: none; }
  .pesdk-react-editor .pesdk-react-brushCanvasControls__cursor {
    -webkit-box-shadow: 0px 1px 2px 0px black;
    -moz-box-shadow: 0px 1px 2px 0px black;
    box-shadow: 0px 1px 2px 0px black;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
    position: absolute;
    display: none;
    border: 2px solid white;
    cursor: none; }
    .pesdk-react-editor .pesdk-react-brushCanvasControls__cursor.is-visible {
      display: block; }

/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
.pesdk-react-editor .pesdk-react-splashScreen__cell {
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  position: relative;
  vertical-align: middle;
  border: 20px solid transparent;
  width: 100%;
  height: 100%;
  text-align: center; }
  .pesdk-react-editor .pesdk-react-splashScreen__cell--halfHeight {
    height: 50%; }
  .pesdk-react-editor .pesdk-react-splashScreen__cell__image {
    display: block;
    margin: 0 auto 15px;
    height: 57px; }
  .pesdk-react-editor .pesdk-react-splashScreen__cell__button {
    margin-bottom: 10px; }
  .pesdk-react-editor .pesdk-react-splashScreen__cell__description {
    font-family: "__pesdk_Montserrat";
    font-weight: 100;
    margin: auto;
    max-width: 255px;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.2); }
  .pesdk-react-editor .pesdk-react-splashScreen__cell__contentWrapper {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: table;
    width: 100%;
    height: 100%;
    table-layout: fixed; }
  .pesdk-react-editor .pesdk-react-splashScreen__cell__contentRow {
    display: table-row; }
  .pesdk-react-editor .pesdk-react-splashScreen__cell__contentCell {
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    border-radius: 5px;
    display: table-cell;
    vertical-align: middle; }
    .pesdk-react-editor .pesdk-react-splashScreen__cell__contentCell--withBorder {
      border: 1px dashed rgba(255, 255, 255, 0.2); }
  .pesdk-react-editor .pesdk-react-splashScreen__cell--upload.is-hovered {
    border-color: rgba(255, 255, 255, 0.5); }
  .pesdk-react-editor .pesdk-react-splashScreen__cell--upload__or {
    font-family: "__pesdk_Montserrat";
    font-weight: 100;
    position: absolute;
    top: -10px;
    left: 50%;
    margin-left: -25px;
    width: 50px;
    background: #2B2B2B;
    font-size: 14px;
    line-height: 20px;
    text-align: center;
    color: rgba(255, 255, 255, 0.2); }

/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
.pesdk-react-editor .pesdk-react-webcamScreen {
  position: relative;
  top: 0;
  left: 0;
  display: table;
  table-layout: fixed;
  width: 100%;
  height: 100%; }
  .pesdk-react-editor .pesdk-react-webcamScreen__row {
    display: table-row; }
  .pesdk-react-editor .pesdk-react-webcamScreen__cell {
    position: relative;
    display: table-cell; }
  .pesdk-react-editor .pesdk-react-webcamScreen__shutterButton {
    -webkit-border-radius: 26px;
    -moz-border-radius: 26px;
    -ms-border-radius: 26px;
    -o-border-radius: 26px;
    border-radius: 26px;
    display: inline-block;
    vertical-align: middle;
    margin: 15px auto auto auto;
    width: 115px;
    height: 53px;
    background: #979797;
    cursor: pointer; }
    .pesdk-react-editor .pesdk-react-webcamScreen__shutterButton.is-active {
      background: #43ADEB; }
    .pesdk-react-editor .pesdk-react-webcamScreen__shutterButton__icon {
      margin-top: 8px;
      width: 39px;
      height: 39px; }

/*
 * This file is part of PhotoEditorSDK.
 *
 * Copyright (C) 2016 9elements GmbH <contact@9elements.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, without
 * modification, are permitted provided that the following license agreement
 * is approved and a legal/financial contract was signed by the user.
 * The license agreement can be found under following link:
 *
 * https://www.photoeditorsdk.com/LICENSE.txt
 */
.pesdk-react-editor .pesdk-react-editorScreen {
  position: relative;
  top: 0;
  left: 0;
  display: table;
  table-layout: fixed;
  width: 100%;
  height: 100%; }
  .pesdk-react-editor .pesdk-react-editorScreen__zoom {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
    opacity: 0.7;
    display: table;
    margin: auto;
    width: auto;
    height: 100%;
    table-layout: fixed; }
    .pesdk-react-editor .pesdk-react-editorScreen__zoom__button {
      filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
      opacity: 0.5;
      display: table-cell;
      cursor: pointer;
      vertical-align: middle;
      padding: 0 17px; }
      .pesdk-react-editor .pesdk-react-editorScreen__zoom__button:hover {
        filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
        opacity: 1; }
      .pesdk-react-editor .pesdk-react-editorScreen__zoom__button.is-disabled {
        filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=10);
        opacity: 0.1; }
      .pesdk-react-editor .pesdk-react-editorScreen__zoom__button__image {
        width: 20px;
        height: 20px;
        vertical-align: middle; }
    .pesdk-react-editor .pesdk-react-editorScreen__zoom__label {
      font-family: "__pesdk_Montserrat";
      font-weight: 100;
      display: table-cell;
      vertical-align: middle;
      font-size: 11px;
      color: white; }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGhvdG9FZGl0b3JSZWFjdFVJLmNzcyIsInNvdXJjZXMiOlsiUGhvdG9FZGl0b3JSZWFjdFVJLnNhc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL19jb21wYXNzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvX2Z1bmN0aW9ucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2Z1bmN0aW9ucy9fbGlzdHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9mdW5jdGlvbnMvX2Nyb3NzX2Jyb3dzZXJfc3VwcG9ydC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2Z1bmN0aW9ucy9fZ3JhZGllbnRfc3VwcG9ydC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2Z1bmN0aW9ucy9fY29uc3RhbnRzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvZnVuY3Rpb25zL19kaXNwbGF5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvZnVuY3Rpb25zL19jb2xvcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9fdXRpbGl0aWVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL19jb2xvci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3V0aWxpdGllcy9jb2xvci9fY29udHJhc3Quc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy91dGlsaXRpZXMvX2dlbmVyYWwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy91dGlsaXRpZXMvZ2VuZXJhbC9fcmVzZXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9yZXNldC9fdXRpbGl0aWVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL2dlbmVyYWwvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL2dlbmVyYWwvX2hhY2tzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvX3N1cHBvcnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy91dGlsaXRpZXMvZ2VuZXJhbC9fZmxvYXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy91dGlsaXRpZXMvZ2VuZXJhbC9fdGFnLWNsb3VkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL2dlbmVyYWwvX21pbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3V0aWxpdGllcy9fc3ByaXRlcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3V0aWxpdGllcy9zcHJpdGVzL19iYXNlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL3Nwcml0ZXMvX3Nwcml0ZS1pbWcuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy91dGlsaXRpZXMvX3RhYmxlcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3V0aWxpdGllcy90YWJsZXMvX2FsdGVybmF0aW5nLXJvd3MtYW5kLWNvbHVtbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy91dGlsaXRpZXMvdGFibGVzL19ib3JkZXJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL3RhYmxlcy9fc2NhZmZvbGRpbmcuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L19saW5rcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3R5cG9ncmFwaHkvbGlua3MvX2hvdmVyLWxpbmsuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L2xpbmtzL19saW5rLWNvbG9ycy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3R5cG9ncmFwaHkvbGlua3MvX3Vuc3R5bGVkLWxpbmsuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L19saXN0cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3R5cG9ncmFwaHkvbGlzdHMvX2hvcml6b250YWwtbGlzdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3R5cG9ncmFwaHkvbGlzdHMvX2J1bGxldHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L2xpc3RzL19pbmxpbmUtbGlzdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3R5cG9ncmFwaHkvbGlzdHMvX2lubGluZS1ibG9jay1saXN0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9faW5saW5lLWJsb2NrLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fc2hhcmVkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdHlwb2dyYXBoeS9fdGV4dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3R5cG9ncmFwaHkvdGV4dC9fZWxsaXBzaXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L3RleHQvX25vd3JhcC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3R5cG9ncmFwaHkvdGV4dC9fcmVwbGFjZW1lbnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L3RleHQvX2ZvcmNlLXdyYXAuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3R5cG9ncmFwaHkvX3ZlcnRpY2FsX3JoeXRobS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2xheW91dC9fZ3JpZC1iYWNrZ3JvdW5kLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9faW1hZ2VzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fYmFja2dyb3VuZC1zaXplLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvX2NzczMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19ib3JkZXItcmFkaXVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fb3BhY2l0eS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2JveC1zaGFkb3cuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL190ZXh0LXNoYWRvdy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2NvbHVtbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19ib3gtc2l6aW5nLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fYm94LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fYmFja2dyb3VuZC1jbGlwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fYmFja2dyb3VuZC1vcmlnaW4uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19mb250LWZhY2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL190cmFuc2Zvcm0uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL190cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fYXBwZWFyYW5jZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX3JlZ2lvbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19oeXBoZW5hdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2ZpbHRlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX3BpZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX3VzZXItaW50ZXJmYWNlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fZmxleGJveC5zY3NzIiwicmVhY3QtdWkvX3ZhcmlhYmxlcy5zYXNzIiwicmVhY3QtdWkvbWl4aW5zL19iZW0uc2FzcyIsInJlYWN0LXVpL21peGlucy9fZm9udHMuc2FzcyIsInJlYWN0LXVpL21peGlucy9fcmVzcG9uc2l2ZS5zYXNzIiwicmVhY3QtdWkvbWl4aW5zL19hcnJvdy5zYXNzIiwicmVhY3QtdWkvY29tcG9uZW50cy9fZWRpdG9yLnNhc3MiLCJyZWFjdC11aS9jb21wb25lbnRzL19oZWFkZXIuc2FzcyIsInJlYWN0LXVpL2NvbXBvbmVudHMvX3NjcmVlbi5zYXNzIiwicmVhY3QtdWkvY29tcG9uZW50cy9fYnV0dG9uLnNhc3MiLCJyZWFjdC11aS9jb21wb25lbnRzL19zdWJIZWFkZXIuc2FzcyIsInJlYWN0LXVpL2NvbXBvbmVudHMvX2NhbnZhcy5zYXNzIiwicmVhY3QtdWkvY29tcG9uZW50cy9fY29udHJvbHMuc2FzcyIsInJlYWN0LXVpL2NvbXBvbmVudHMvX2NhbnZhc0NvbnRyb2xzLnNhc3MiLCJyZWFjdC11aS9jb21wb25lbnRzL193ZWJjYW0uc2FzcyIsInJlYWN0LXVpL2NvbXBvbmVudHMvX3Njcm9sbGJhci5zYXNzIiwicmVhY3QtdWkvY29tcG9uZW50cy9fc2xpZGVyLnNhc3MiLCJyZWFjdC11aS9jb21wb25lbnRzL19taW5pU2xpZGVyLnNhc3MiLCJyZWFjdC11aS9jb21wb25lbnRzL19rbm9iLnNhc3MiLCJyZWFjdC11aS9jb21wb25lbnRzL19jb2xvclBpY2tlci5zYXNzIiwicmVhY3QtdWkvY29tcG9uZW50cy9fY2F0ZWdvcnlEcm9wZG93bi5zYXNzIiwicmVhY3QtdWkvY29tcG9uZW50cy9faGlkZGVuRmlsZUlucHV0LnNhc3MiLCJyZWFjdC11aS9jb21wb25lbnRzL19tb2RhbHMuc2FzcyIsInJlYWN0LXVpL2NvbXBvbmVudHMvY29udHJvbHMvY3JvcC9fY3JvcENhbnZhc0NvbnRyb2xzLnNhc3MiLCJyZWFjdC11aS9jb21wb25lbnRzL2NvbnRyb2xzL2xpbmVhci1mb2N1cy9fbGluZWFyRm9jdXNDYW52YXNDb250cm9scy5zYXNzIiwicmVhY3QtdWkvY29tcG9uZW50cy9jb250cm9scy9yYWRpYWwtZm9jdXMvX3JhZGlhbEZvY3VzQ2FudmFzQ29udHJvbHMuc2FzcyIsInJlYWN0LXVpL2NvbXBvbmVudHMvY29udHJvbHMvc3RpY2tlcnMvX3N0aWNrZXJzQ29udHJvbHMuc2FzcyIsInJlYWN0LXVpL2NvbXBvbmVudHMvY29udHJvbHMvc3ByaXRlcy9fc3ByaXRlc0NhbnZhc0NvbnRyb2xzLnNhc3MiLCJyZWFjdC11aS9jb21wb25lbnRzL2NvbnRyb2xzL3Nwcml0ZXMvX3N0aWNrZXJDb250cm9sc092ZXJsYXkuc2FzcyIsInJlYWN0LXVpL2NvbXBvbmVudHMvY29udHJvbHMvYWRqdXN0bWVudHMvYWRqdXN0bWVudHNDb250cm9scy5zYXNzIiwicmVhY3QtdWkvY29tcG9uZW50cy9jb250cm9scy90ZXh0L190ZXh0Rm9udFNpemVDb250cm9scy5zYXNzIiwicmVhY3QtdWkvY29tcG9uZW50cy9jb250cm9scy90ZXh0L19mb250U2l6ZS5zYXNzIiwicmVhY3QtdWkvY29tcG9uZW50cy9jb250cm9scy90ZXh0L19mb250RmFtaWx5LnNhc3MiLCJyZWFjdC11aS9jb21wb25lbnRzL2NvbnRyb2xzL2JydXNoL19icnVzaENhbnZhc0NvbnRyb2xzLnNhc3MiLCJyZWFjdC11aS9jb21wb25lbnRzL3NjcmVlbnMvX3NwbGFzaC1zY3JlZW4uc2FzcyIsInJlYWN0LXVpL2NvbXBvbmVudHMvc2NyZWVucy9fd2ViY2FtLXNjcmVlbi5zYXNzIiwicmVhY3QtdWkvY29tcG9uZW50cy9zY3JlZW5zL19lZGl0b3Itc2NyZWVuLnNhc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBQaG90b0VkaXRvclNESy5cbiAqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTYgOWVsZW1lbnRzIEdtYkggPGNvbnRhY3RAOWVsZW1lbnRzLmNvbT5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aG91dFxuICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBsaWNlbnNlIGFncmVlbWVudFxuICogaXMgYXBwcm92ZWQgYW5kIGEgbGVnYWwvZmluYW5jaWFsIGNvbnRyYWN0IHdhcyBzaWduZWQgYnkgdGhlIHVzZXIuXG4gKiBUaGUgbGljZW5zZSBhZ3JlZW1lbnQgY2FuIGJlIGZvdW5kIHVuZGVyIGZvbGxvd2luZyBsaW5rOlxuICpcbiAqIGh0dHBzOi8vd3d3LnBob3RvZWRpdG9yc2RrLmNvbS9MSUNFTlNFLnR4dFxuICovXG5cbkBpbXBvcnQgXCJjb21wYXNzXCI7XG5cbkBpbXBvcnQgXCJyZWFjdC11aS92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJyZWFjdC11aS9taXhpbnMvYmVtXCI7XG5AaW1wb3J0IFwicmVhY3QtdWkvbWl4aW5zL2ZvbnRzXCI7XG5AaW1wb3J0IFwicmVhY3QtdWkvbWl4aW5zL3Jlc3BvbnNpdmVcIjtcbkBpbXBvcnQgXCJyZWFjdC11aS9taXhpbnMvYXJyb3dcIjtcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCBcInJlYWN0LXVpL2NvbXBvbmVudHMvZWRpdG9yXCI7XG5AaW1wb3J0IFwicmVhY3QtdWkvY29tcG9uZW50cy9oZWFkZXJcIjtcbkBpbXBvcnQgXCJyZWFjdC11aS9jb21wb25lbnRzL3NjcmVlblwiO1xuQGltcG9ydCBcInJlYWN0LXVpL2NvbXBvbmVudHMvYnV0dG9uXCI7XG5AaW1wb3J0IFwicmVhY3QtdWkvY29tcG9uZW50cy9zdWJIZWFkZXJcIjtcbkBpbXBvcnQgXCJyZWFjdC11aS9jb21wb25lbnRzL2NhbnZhc1wiO1xuQGltcG9ydCBcInJlYWN0LXVpL2NvbXBvbmVudHMvY29udHJvbHNcIjtcbkBpbXBvcnQgXCJyZWFjdC11aS9jb21wb25lbnRzL2NhbnZhc0NvbnRyb2xzXCI7XG5AaW1wb3J0IFwicmVhY3QtdWkvY29tcG9uZW50cy93ZWJjYW1cIjtcbkBpbXBvcnQgXCJyZWFjdC11aS9jb21wb25lbnRzL3Njcm9sbGJhclwiO1xuQGltcG9ydCBcInJlYWN0LXVpL2NvbXBvbmVudHMvc2xpZGVyXCI7XG5AaW1wb3J0IFwicmVhY3QtdWkvY29tcG9uZW50cy9taW5pU2xpZGVyXCI7XG5AaW1wb3J0IFwicmVhY3QtdWkvY29tcG9uZW50cy9rbm9iXCI7XG5AaW1wb3J0IFwicmVhY3QtdWkvY29tcG9uZW50cy9jb2xvclBpY2tlclwiO1xuQGltcG9ydCBcInJlYWN0LXVpL2NvbXBvbmVudHMvY2F0ZWdvcnlEcm9wZG93blwiO1xuQGltcG9ydCBcInJlYWN0LXVpL2NvbXBvbmVudHMvaGlkZGVuRmlsZUlucHV0XCI7XG5AaW1wb3J0IFwicmVhY3QtdWkvY29tcG9uZW50cy9tb2RhbHNcIjtcblxuLy8gQ29udHJvbHNcbkBpbXBvcnQgXCJyZWFjdC11aS9jb21wb25lbnRzL2NvbnRyb2xzL2Nyb3AvY3JvcENhbnZhc0NvbnRyb2xzXCI7XG5AaW1wb3J0IFwicmVhY3QtdWkvY29tcG9uZW50cy9jb250cm9scy9saW5lYXItZm9jdXMvbGluZWFyRm9jdXNDYW52YXNDb250cm9sc1wiO1xuQGltcG9ydCBcInJlYWN0LXVpL2NvbXBvbmVudHMvY29udHJvbHMvcmFkaWFsLWZvY3VzL3JhZGlhbEZvY3VzQ2FudmFzQ29udHJvbHNcIjtcbkBpbXBvcnQgXCJyZWFjdC11aS9jb21wb25lbnRzL2NvbnRyb2xzL3N0aWNrZXJzL3N0aWNrZXJzQ29udHJvbHNcIjtcbkBpbXBvcnQgXCJyZWFjdC11aS9jb21wb25lbnRzL2NvbnRyb2xzL3Nwcml0ZXMvc3ByaXRlc0NhbnZhc0NvbnRyb2xzXCI7XG5AaW1wb3J0IFwicmVhY3QtdWkvY29tcG9uZW50cy9jb250cm9scy9zcHJpdGVzL3N0aWNrZXJDb250cm9sc092ZXJsYXlcIjtcbkBpbXBvcnQgXCJyZWFjdC11aS9jb21wb25lbnRzL2NvbnRyb2xzL2FkanVzdG1lbnRzL2FkanVzdG1lbnRzQ29udHJvbHNcIjtcbkBpbXBvcnQgXCJyZWFjdC11aS9jb21wb25lbnRzL2NvbnRyb2xzL3RleHQvdGV4dEZvbnRTaXplQ29udHJvbHNcIjtcbkBpbXBvcnQgXCJyZWFjdC11aS9jb21wb25lbnRzL2NvbnRyb2xzL3RleHQvZm9udFNpemVcIjtcbkBpbXBvcnQgXCJyZWFjdC11aS9jb21wb25lbnRzL2NvbnRyb2xzL3RleHQvZm9udEZhbWlseVwiO1xuQGltcG9ydCBcInJlYWN0LXVpL2NvbXBvbmVudHMvY29udHJvbHMvYnJ1c2gvYnJ1c2hDYW52YXNDb250cm9sc1wiO1xuXG4vLyBTY3JlZW5zXG5AaW1wb3J0IFwicmVhY3QtdWkvY29tcG9uZW50cy9zY3JlZW5zL3NwbGFzaC1zY3JlZW5cIjtcbkBpbXBvcnQgXCJyZWFjdC11aS9jb21wb25lbnRzL3NjcmVlbnMvd2ViY2FtLXNjcmVlblwiO1xuQGltcG9ydCBcInJlYWN0LXVpL2NvbXBvbmVudHMvc2NyZWVucy9lZGl0b3Itc2NyZWVuXCI7XG4iLCJAaW1wb3J0IFwiY29tcGFzcy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJjb21wYXNzL3V0aWxpdGllc1wiO1xuQGltcG9ydCBcImNvbXBhc3MvdHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcImNvbXBhc3MvY3NzM1wiO1xuIiwiQGltcG9ydCBcImZ1bmN0aW9ucy9saXN0c1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jcm9zc19icm93c2VyX3N1cHBvcnRcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvZ3JhZGllbnRfc3VwcG9ydFwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jb25zdGFudHNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvZGlzcGxheVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jb2xvcnNcIjtcbiIsIi8vXG4vLyBBIHBhcnRpYWwgaW1wbGVtZW50YXRpb24gb2YgdGhlIFJ1YnkgbGlzdCBmdW5jdGlvbnMgZnJvbSBDb21wYXNzOlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL0NvbXBhc3MvY29tcGFzcy9ibG9iL3N0YWJsZS9saWIvY29tcGFzcy9zYXNzX2V4dGVuc2lvbnMvZnVuY3Rpb25zL2xpc3RzLnJiXG4vL1xuXG5cbi8vIGNvbXBhY3QgaXMgcGFydCBvZiBsaWJzYXNzXG5cbkBmdW5jdGlvbiAtY29tcGFzcy1udGgoJGxpc3QsICRwbGFjZSkge1xuICAvLyBZZXAsIFNhc3MtbGlzdHMgYXJlIDEtaW5kZXhlZC5cbiAgQGlmICRwbGFjZSA9PSBcImZpcnN0XCIge1xuICAgICRwbGFjZTogMTtcbiAgfVxuICBAaWYgJHBsYWNlID09IFwibGFzdFwiIHtcbiAgICAkcGxhY2U6IGxlbmd0aCgkbGlzdCk7XG4gIH1cbiAgQHJldHVybiBudGgoJGxpc3QsICRwbGFjZSk7XG59XG5cbi8vIGNvbXBhc3NfbGlzdCBjYW4ndCBiZSBpbXBsZW1lbnRlZCBpbiBzYXNzIHNjcmlwdFxuXG5AZnVuY3Rpb24gLWNvbXBhc3Mtc3BhY2UtbGlzdCgkaXRlbTEsICRpdGVtMjpudWxsLCAkaXRlbTM6bnVsbCwgJGl0ZW00Om51bGwsICRpdGVtNTpudWxsLCAkaXRlbTY6bnVsbCwgJGl0ZW03Om51bGwsICRpdGVtODpudWxsLCAkaXRlbTk6bnVsbCkge1xuICAvLyBTdXBwb3J0IGZvciBwb2x5bW9ycGhpc20uXG4gIEBpZiB0eXBlLW9mKCRpdGVtMSkgPT0gJ2xpc3QnIHtcbiAgICAvLyBQYXNzaW5nIGEgc2luZ2xlIGFycmF5IG9mIHByb3BlcnRpZXMuXG4gICAgJGl0ZW1zOiAkaXRlbTE7XG4gIH0gQGVsc2Uge1xuICAgICRpdGVtczogJGl0ZW0xICRpdGVtMiAkaXRlbTMgJGl0ZW00ICRpdGVtNSAkaXRlbTYgJGl0ZW03ICRpdGVtOCAkaXRlbTk7XG4gIH1cblxuICAkZnVsbDogZmlyc3QtdmFsdWUtb2YoJGl0ZW1zKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkaXRlbXMpIHtcbiAgICAkaXRlbTogbnRoKCRpdGVtcywgJGkpO1xuICAgIEBpZiAkaXRlbSAhPSBudWxsIHtcbiAgICAgICRmdWxsOiAkZnVsbCAkaXRlbTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRmdWxsO1xufVxuXG5AZnVuY3Rpb24gLWNvbXBhc3MtbGlzdC1zaXplKCRsaXN0KSB7XG4gIEByZXR1cm4gbGVuZ3RoKCRsaXN0KTtcbn1cblxuQGZ1bmN0aW9uIC1jb21wYXNzLXNsaWNlKCRsaXN0LCAkc3RhcnQsICRlbmQ6IGZhbHNlKSB7XG4gIEBpZiAkZW5kID09IGZhbHNlIHtcbiAgICAkZW5kOiBsZW5ndGgoJGxpc3QpO1xuICB9XG4gICRmdWxsOiBudGgoJGxpc3QsICRzdGFydCk7XG4gIEBmb3IgJGkgZnJvbSAkc3RhcnQgKyAxIHRocm91Z2ggJGVuZCB7XG4gICAgJGZ1bGw6ICRmdWxsLCBudGgoJGxpc3QsICRpKTtcbiAgfVxuICBAcmV0dXJuICRmdWxsO1xufVxuXG5AZnVuY3Rpb24gcmVqZWN0KCRsaXN0LCAkcmVqZWN0MSwgJHJlamVjdDI6bnVsbCwgJHJlamVjdDM6bnVsbCwgJHJlamVjdDQ6bnVsbCwgJHJlamVjdDU6bnVsbCwgJHJlamVjdDY6bnVsbCwgJHJlamVjdDc6bnVsbCwgJHJlamVjdDg6bnVsbCwgJHJlamVjdDk6bnVsbCkge1xuICAkcmVqZWN0czogJHJlamVjdDEsICRyZWplY3QyLCAkcmVqZWN0MywgJHJlamVjdDQsICRyZWplY3Q1LCAkcmVqZWN0NiwgJHJlamVjdDcsICRyZWplY3Q4LCAkcmVqZWN0OTtcblxuICAkZnVsbDogZmFsc2U7XG4gIEBlYWNoICRpdGVtIGluICRsaXN0IHtcbiAgICBAaWYgaW5kZXgoJHJlamVjdHMsICRpdGVtKSB7fVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAkZnVsbCB7XG4gICAgICAgICRmdWxsOiAkZnVsbCwgJGl0ZW07XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRmdWxsOiAkaXRlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQHJldHVybiAkZnVsbDtcbn1cblxuQGZ1bmN0aW9uIGZpcnN0LXZhbHVlLW9mKCRsaXN0KSB7XG4gIEByZXR1cm4gbnRoKCRsaXN0LCAxKTtcbn1cblxuXG5AZnVuY3Rpb24gY29tcGFjdCgkdmFycy4uLikge1xuICAkbGlzdDogKCk7XG4gIEBlYWNoICR2YXIgaW4gJHZhcnMge1xuICAgICAgQGlmICR2YXIge1xuICAgICAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICR2YXIsIGNvbW1hKTtcbiAgICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4iLCIvLyBcbi8vIEEgcGFydGlhbCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgUnVieSBjcm9zcyBicm93c2VyIHN1cHBvcnQgZnVuY3Rpb25zIGZyb20gQ29tcGFzczpcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Db21wYXNzL2NvbXBhc3MvYmxvYi9zdGFibGUvbGliL2NvbXBhc3Mvc2Fzc19leHRlbnNpb25zL2Z1bmN0aW9ucy9jcm9zc19icm93c2VyX3N1cHBvcnQucmJcbi8vIFxuXG5AZnVuY3Rpb24gcHJlZml4ZWQoJHByZWZpeCwgJHByb3BlcnR5MSwgJHByb3BlcnR5MjpudWxsLCAkcHJvcGVydHkzOm51bGwsICRwcm9wZXJ0eTQ6bnVsbCwgJHByb3BlcnR5NTpudWxsLCAkcHJvcGVydHk2Om51bGwsICRwcm9wZXJ0eTc6bnVsbCwgJHByb3BlcnR5ODpudWxsLCAkcHJvcGVydHk5Om51bGwpIHtcbiAgJHByb3BlcnRpZXM6ICRwcm9wZXJ0eTEsICRwcm9wZXJ0eTIsICRwcm9wZXJ0eTMsICRwcm9wZXJ0eTQsICRwcm9wZXJ0eTUsICRwcm9wZXJ0eTYsICRwcm9wZXJ0eTcsICRwcm9wZXJ0eTgsICRwcm9wZXJ0eTk7XG4gICRwcmVmaXhlZDogZmFsc2U7XG4gIEBlYWNoICRpdGVtIGluICRwcm9wZXJ0aWVzIHtcbiAgICBAaWYgdHlwZS1vZigkaXRlbSkgPT0gJ3N0cmluZycge1xuICAgICAgJHByZWZpeGVkOiAkcHJlZml4ZWQgb3Igc3RyLWluZGV4KCRpdGVtLCAndXJsJykgIT0gMSBhbmQgc3RyLWluZGV4KCRpdGVtLCAncmdiJykgIT0gMSBhbmQgc3RyLWluZGV4KCRpdGVtLCAnIycpICE9IDE7XG4gICAgfSBAZWxzZWlmIHR5cGUtb2YoJGl0ZW0pID09ICdjb2xvcicge1xuICAgIH0gQGVsc2VpZiAkaXRlbSAhPSBudWxsIHtcbiAgICAgICRwcmVmaXhlZDogdHJ1ZTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcHJlZml4ZWQ7XG59XG5cbkBmdW5jdGlvbiBwcmVmaXgoJHByZWZpeCwgJHByb3BlcnR5MSwgJHByb3BlcnR5MjpudWxsLCAkcHJvcGVydHkzOm51bGwsICRwcm9wZXJ0eTQ6bnVsbCwgJHByb3BlcnR5NTpudWxsLCAkcHJvcGVydHk2Om51bGwsICRwcm9wZXJ0eTc6bnVsbCwgJHByb3BlcnR5ODpudWxsLCAkcHJvcGVydHk5Om51bGwpIHtcbiAgJHByb3BlcnRpZXM6IFwiXCI7XG5cbiAgLy8gU3VwcG9ydCBmb3IgcG9seW1vcnBoaXNtLlxuICBAaWYgdHlwZS1vZigkcHJvcGVydHkxKSA9PSAnbGlzdCcge1xuICAgIC8vIFBhc3NpbmcgYSBzaW5nbGUgYXJyYXkgb2YgcHJvcGVydGllcy5cbiAgICAkcHJvcGVydGllczogJHByb3BlcnR5MTtcbiAgfSBAZWxzZSB7XG4gICAgLy8gUGFzc2luZyBtdWx0aXBsZSBwcm9wZXJ0aWVzLlxuICAgICRwcm9wZXJ0aWVzOiAkcHJvcGVydHkxLCAkcHJvcGVydHkyLCAkcHJvcGVydHkzLCAkcHJvcGVydHk0LCAkcHJvcGVydHk1LCAkcHJvcGVydHk2LCAkcHJvcGVydHk3LCAkcHJvcGVydHk4LCAkcHJvcGVydHk5O1xuICB9XG5cbiAgJHByb3BzOiBmYWxzZTtcbiAgQGVhY2ggJGl0ZW0gaW4gJHByb3BlcnRpZXMge1xuICAgIEBpZiAkaXRlbSA9PSBudWxsIHt9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmIHByZWZpeGVkKCRwcmVmaXgsICRpdGVtKSB7XG4gICAgICAgICRpdGVtOiAjeyRwcmVmaXh9LSN7JGl0ZW19O1xuICAgICAgfVxuICAgICAgQGlmICRwcm9wcyB7XG4gICAgICAgICRwcm9wczogJHByb3BzLCAkaXRlbTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHByb3BzOiAkaXRlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcHJvcHM7XG59XG5cbkBmdW5jdGlvbiAtc3ZnKCRwcm9wZXJ0eTEsICRwcm9wZXJ0eTI6bnVsbCwgJHByb3BlcnR5MzpudWxsLCAkcHJvcGVydHk0Om51bGwsICRwcm9wZXJ0eTU6bnVsbCwgJHByb3BlcnR5NjpudWxsLCAkcHJvcGVydHk3Om51bGwsICRwcm9wZXJ0eTg6bnVsbCwgJHByb3BlcnR5OTpudWxsKSB7XG4gIEByZXR1cm4gcHJlZml4KCctc3ZnJywgJHByb3BlcnR5MSwgJHByb3BlcnR5MiwgJHByb3BlcnR5MywgJHByb3BlcnR5NCwgJHByb3BlcnR5NSwgJHByb3BlcnR5NiwgJHByb3BlcnR5NywgJHByb3BlcnR5OCwgJHByb3BlcnR5OSk7XG59XG5cbkBmdW5jdGlvbiAtb3dnKCRwcm9wZXJ0eTEsICRwcm9wZXJ0eTI6bnVsbCwgJHByb3BlcnR5MzpudWxsLCAkcHJvcGVydHk0Om51bGwsICRwcm9wZXJ0eTU6bnVsbCwgJHByb3BlcnR5NjpudWxsLCAkcHJvcGVydHk3Om51bGwsICRwcm9wZXJ0eTg6bnVsbCwgJHByb3BlcnR5OTpudWxsKSB7XG4gIEByZXR1cm4gcHJlZml4KCctb3dnJywgJHByb3BlcnR5MSwgJHByb3BlcnR5MiwgJHByb3BlcnR5MywgJHByb3BlcnR5NCwgJHByb3BlcnR5NSwgJHByb3BlcnR5NiwgJHByb3BlcnR5NywgJHByb3BlcnR5OCwgJHByb3BlcnR5OSk7XG59XG5cbkBmdW5jdGlvbiAtd2Via2l0KCRwcm9wZXJ0eTEsICRwcm9wZXJ0eTI6bnVsbCwgJHByb3BlcnR5MzpudWxsLCAkcHJvcGVydHk0Om51bGwsICRwcm9wZXJ0eTU6bnVsbCwgJHByb3BlcnR5NjpudWxsLCAkcHJvcGVydHk3Om51bGwsICRwcm9wZXJ0eTg6bnVsbCwgJHByb3BlcnR5OTpudWxsKSB7XG4gIEByZXR1cm4gcHJlZml4KCctd2Via2l0JywgJHByb3BlcnR5MSwgJHByb3BlcnR5MiwgJHByb3BlcnR5MywgJHByb3BlcnR5NCwgJHByb3BlcnR5NSwgJHByb3BlcnR5NiwgJHByb3BlcnR5NywgJHByb3BlcnR5OCwgJHByb3BlcnR5OSk7XG59XG5cbkBmdW5jdGlvbiAtbW96KCRwcm9wZXJ0eTEsICRwcm9wZXJ0eTI6bnVsbCwgJHByb3BlcnR5MzpudWxsLCAkcHJvcGVydHk0Om51bGwsICRwcm9wZXJ0eTU6bnVsbCwgJHByb3BlcnR5NjpudWxsLCAkcHJvcGVydHk3Om51bGwsICRwcm9wZXJ0eTg6bnVsbCwgJHByb3BlcnR5OTpudWxsKSB7XG4gIEByZXR1cm4gcHJlZml4KCctbW96JywgJHByb3BlcnR5MSwgJHByb3BlcnR5MiwgJHByb3BlcnR5MywgJHByb3BlcnR5NCwgJHByb3BlcnR5NSwgJHByb3BlcnR5NiwgJHByb3BlcnR5NywgJHByb3BlcnR5OCwgJHByb3BlcnR5OSk7XG59XG5cbkBmdW5jdGlvbiAtbygkcHJvcGVydHkxLCAkcHJvcGVydHkyOm51bGwsICRwcm9wZXJ0eTM6bnVsbCwgJHByb3BlcnR5NDpudWxsLCAkcHJvcGVydHk1Om51bGwsICRwcm9wZXJ0eTY6bnVsbCwgJHByb3BlcnR5NzpudWxsLCAkcHJvcGVydHk4Om51bGwsICRwcm9wZXJ0eTk6bnVsbCkge1xuICBAcmV0dXJuIHByZWZpeCgnLW8nLCAkcHJvcGVydHkxLCAkcHJvcGVydHkyLCAkcHJvcGVydHkzLCAkcHJvcGVydHk0LCAkcHJvcGVydHk1LCAkcHJvcGVydHk2LCAkcHJvcGVydHk3LCAkcHJvcGVydHk4LCAkcHJvcGVydHk5KTtcbn1cblxuQGZ1bmN0aW9uIC1waWUoJHByb3BlcnR5MSwgJHByb3BlcnR5MjpudWxsLCAkcHJvcGVydHkzOm51bGwsICRwcm9wZXJ0eTQ6bnVsbCwgJHByb3BlcnR5NTpudWxsLCAkcHJvcGVydHk2Om51bGwsICRwcm9wZXJ0eTc6bnVsbCwgJHByb3BlcnR5ODpudWxsLCAkcHJvcGVydHk5Om51bGwpIHtcbiAgQHJldHVybiBwcmVmaXgoJy1waWUnLCAkcHJvcGVydHkxLCAkcHJvcGVydHkyLCAkcHJvcGVydHkzLCAkcHJvcGVydHk0LCAkcHJvcGVydHk1LCAkcHJvcGVydHk2LCAkcHJvcGVydHk3LCAkcHJvcGVydHk4LCAkcHJvcGVydHk5KTtcbn1cbiIsIi8vIFxuLy8gQSBwYXJ0aWFsIGltcGxlbWVudGF0aW9uIG9mIHRoZSBSdWJ5IGdyYWRpZW50IHN1cHBvcnQgZnVuY3Rpb25zIGZyb20gQ29tcGFzczpcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Db21wYXNzL2NvbXBhc3MvYmxvYi92MC4xMi4yL2xpYi9jb21wYXNzL3Nhc3NfZXh0ZW5zaW9ucy9mdW5jdGlvbnMvZ3JhZGllbnRfc3VwcG9ydC5yYlxuLy8gXG5cbkBmdW5jdGlvbiBjb2xvci1zdG9wcygkaXRlbTEsICRpdGVtMjpudWxsLCAkaXRlbTM6bnVsbCwgJGl0ZW00Om51bGwsICRpdGVtNTpudWxsLCAkaXRlbTY6bnVsbCwgJGl0ZW03Om51bGwsICRpdGVtODpudWxsLCAkaXRlbTk6bnVsbCkge1xuICAkaXRlbXM6ICRpdGVtMiwgJGl0ZW0zLCAkaXRlbTQsICRpdGVtNSwgJGl0ZW02LCAkaXRlbTcsICRpdGVtOCwgJGl0ZW05O1xuICAkZnVsbDogJGl0ZW0xO1xuICBAZWFjaCAkaXRlbSBpbiAkaXRlbXMge1xuICAgIEBpZiAkaXRlbSAhPSBudWxsIHtcbiAgICAgICRmdWxsOiAkZnVsbCwgJGl0ZW07XG4gICAgfSAgICBcbiAgfVxuICBAcmV0dXJuICRmdWxsO1xufSIsIi8vIFxuLy8gQSBwYXJ0aWFsIGltcGxlbWVudGF0aW9uIG9mIHRoZSBSdWJ5IGNvbnN0YW50cyBmdW5jdGlvbnMgZnJvbSBDb21wYXNzOlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL0NvbXBhc3MvY29tcGFzcy9ibG9iL3N0YWJsZS9saWIvY29tcGFzcy9zYXNzX2V4dGVuc2lvbnMvZnVuY3Rpb25zL2NvbnN0YW50cy5yYlxuLy8gXG5cbkBmdW5jdGlvbiBvcHBvc2l0ZS1wb3NpdGlvbigkZnJvbSkge1xuICAgIEBpZiAoJGZyb20gPT0gdG9wKSB7XG4gICAgICAgIEByZXR1cm4gYm90dG9tO1xuICAgIH0gQGVsc2UgaWYgKCRmcm9tID09IGJvdHRvbSkge1xuICAgICAgICBAcmV0dXJuIHRvcDtcbiAgICB9IEBlbHNlIGlmICgkZnJvbSA9PSBsZWZ0KSB7XG4gICAgICAgIEByZXR1cm4gcmlnaHQ7XG4gICAgfSBAZWxzZSBpZiAoJGZyb20gPT0gcmlnaHQpIHtcbiAgICAgICAgQHJldHVybiBsZWZ0O1xuICAgIH0gQGVsc2UgaWYgKCRmcm9tID09IGNlbnRlcikge1xuICAgICAgICBAcmV0dXJuIGNlbnRlcjtcbiAgICB9XG59XG4iLCIvLyBcbi8vIEEgcGFydGlhbCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgUnVieSBkaXNwbGF5IGZ1bmN0aW9ucyBmcm9tIENvbXBhc3M6XG4vLyBodHRwczovL2dpdGh1Yi5jb20vQ29tcGFzcy9jb21wYXNzL2Jsb2Ivc3RhYmxlL2NvcmUvbGliL2NvbXBhc3MvY29yZS9zYXNzX2V4dGVuc2lvbnMvZnVuY3Rpb25zL2Rpc3BsYXkucmJcbi8vIFxuXG5AZnVuY3Rpb24gZWxlbWVudHMtb2YtdHlwZSgkdHlwZSl7XG4gICAgQGlmICgkdHlwZSA9PSBibG9jayl7XG4gICAgICAgIEByZXR1cm4gYWRkcmVzcywgYXJ0aWNsZSwgYXNpZGUsIGJsb2NrcXVvdGUsIGNlbnRlciwgZGlyLCBkaXYsIGRkLCBkZXRhaWxzLCBkbCwgZHQsIGZpZWxkc2V0LCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvcm0sIGZvb3RlciwgZnJhbWVzZXQsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIGhyLCBoZWFkZXIsIGhncm91cCwgaXNpbmRleCwgbWFpbiwgbWVudSwgbmF2LCBub2ZyYW1lcywgbm9zY3JpcHQsIG9sLCBwLCBwcmUsIHNlY3Rpb24sIHN1bW1hcnksIHVsO1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IGlubGluZSl7XG4gICAgICAgIEByZXR1cm4gYSwgYWJiciwgYWNyb255bSwgYXVkaW8sIGIsIGJhc2Vmb250LCBiZG8sIGJpZywgYnIsIGNhbnZhcywgY2l0ZSwgY29kZSwgY29tbWFuZCwgZGF0YWxpc3QsIGRmbiwgZW0sIGVtYmVkLCBmb250LCBpLCBpbWcsIGlucHV0LCBrZXlnZW4sIGtiZCwgbGFiZWwsIG1hcmssIG1ldGVyLCBvdXRwdXQsIHByb2dyZXNzLCBxLCBycCwgcnQsIHJ1YnksIHMsIHNhbXAsIHNlbGVjdCwgc21hbGwsIHNwYW4sIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdGV4dGFyZWEsIHRpbWUsIHR0LCB1LCB2YXIsIHZpZGVvLCB3YnI7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gaW5saW5lLWJsb2NrKXtcbiAgICAgICAgQHJldHVybiBpbWc7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gdGFibGUpe1xuICAgICAgICBAcmV0dXJuIHRhYmxlO1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IGxpc3QtaXRlbSl7XG4gICAgICAgIEByZXR1cm4gbGk7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gdGFibGUtcm93LWdyb3VwKXtcbiAgICAgICAgQHJldHVybiB0Ym9keTtcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSB0YWJsZS1oZWFkZXItZ3JvdXApe1xuICAgICAgICBAcmV0dXJuIHRoZWFkO1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IHRhYmxlLWZvb3Rlci1ncm91cCl7XG4gICAgICAgIEByZXR1cm4gdGZvb3Q7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gdGFibGUtcm93KXtcbiAgICAgICAgQHJldHVybiB0cjtcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSB0YWJsZS1jZWxsKXtcbiAgICAgICAgQHJldHVybiB0aCwgdGQ7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gaHRtbDUtYmxvY2spe1xuICAgICAgICBAcmV0dXJuIGFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1haW4sIG1lbnUsIG5hdiwgc2VjdGlvbiwgc3VtbWFyeTtcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSBodG1sNS1pbmxpbmUpe1xuICAgICAgICBAcmV0dXJuIGF1ZGlvLCBjYW52YXMsIGNvbW1hbmQsIGRhdGFsaXN0LCBlbWJlZCwga2V5Z2VuLCBtYXJrLCBtZXRlciwgb3V0cHV0LCBwcm9ncmVzcywgcnAsIHJ0LCBydWJ5LCB0aW1lLCB2aWRlbywgd2JyO1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IGh0bWw1KXtcbiAgICAgICAgQHJldHVybiBhcnRpY2xlLCBhc2lkZSwgYXVkaW8sIGNhbnZhcywgY29tbWFuZCwgZGF0YWxpc3QsIGRldGFpbHMsIGVtYmVkLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIGtleWdlbiwgbWFpbiwgbWFyaywgbWVudSwgbWV0ZXIsIG5hdiwgb3V0cHV0LCBwcm9ncmVzcywgcnAsIHJ0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LCB0aW1lLCB2aWRlbywgd2JyO1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IHRleHQtaW5wdXQpe1xuICAgICAgICBAcmV0dXJuIGlucHV0LCB0ZXh0YXJlYTtcbiAgICB9XG59XG4iLCIvLyBcbi8vIEEgcGFydGlhbCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgUnVieSBjb2xvcnMgZnVuY3Rpb25zIGZyb20gQ29tcGFzczpcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Db21wYXNzL2NvbXBhc3MvYmxvYi9zdGFibGUvY29yZS9saWIvY29tcGFzcy9jb3JlL3Nhc3NfZXh0ZW5zaW9ucy9mdW5jdGlvbnMvY29sb3JzLnJiXG4vL1xuXG4vLyBhIGdlbmVyaWNpemVkIHZlcnNpb24gb2YgbGlnaHRlbi9kYXJrZW4gc28gdGhhdCBuZWdhdGl2ZSB2YWx1ZXMgY2FuIGJlIHVzZWQuXG5AZnVuY3Rpb24gYWRqdXN0LWxpZ2h0bmVzcygkY29sb3IsICRhbW91bnQpIHtcbiAgICBAcmV0dXJuIGFkanVzdC1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRhbW91bnQpO1xufVxuXG4vLyBTY2FsZXMgYSBjb2xvcidzIGxpZ2h0bmVzcyBieSBzb21lIHBlcmNlbnRhZ2UuXG4vLyBJZiB0aGUgYW1vdW50IGlzIG5lZ2F0aXZlLCB0aGUgY29sb3IgaXMgc2NhbGVkIGRhcmtlciwgaWYgcG9zaXRpdmUsIGl0IGlzIHNjYWxlZCBsaWdodGVyLlxuLy8gVGhpcyB3aWxsIG5ldmVyIHJldHVybiBhIHB1cmUgbGlnaHQgb3IgZGFyayBjb2xvciB1bmxlc3MgdGhlIGFtb3VudCBpcyAxMDAlLlxuQGZ1bmN0aW9uIHNjYWxlLWxpZ2h0bmVzcygkY29sb3IsICRhbW91bnQpIHtcbiAgICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGFtb3VudCk7XG59XG5cbi8vIGEgZ2VuZXJpY2l6ZWQgdmVyc2lvbiBvZiBzYXR1cmF0ZS9kZXNhdHVyYXRlIHNvIHRoYXQgbmVnYXRpdmUgdmFsdWVzIGNhbiBiZSB1c2VkLlxuQGZ1bmN0aW9uIGFkanVzdC1zYXR1cmF0aW9uKCRjb2xvciwgJGFtb3VudCkge1xuICAgIEByZXR1cm4gYWRqdXN0LWNvbG9yKCRjb2xvciwgJHNhdHVyYXRpb246ICRhbW91bnQpO1xufVxuXG4vLyBTY2FsZXMgYSBjb2xvcidzIHNhdHVyYXRpb24gYnkgc29tZSBwZXJjZW50YWdlLlxuLy8gSWYgdGhlIGFtb3VudCBpcyBuZWdhdGl2ZSwgdGhlIGNvbG9yIGlzIGRlc2F0dXJhdGVkLCBpZiBwb3NpdGl2ZSwgaXQgaXMgc2F0dXJhdGVkLlxuLy8gVGhpcyB3aWxsIG5ldmVyIHJldHVybiBhIHB1cmUgc2F0dXJhdGVkIG9yIGRlc2F0dXJhdGVkIGNvbG9yIHVubGVzcyB0aGUgYW1vdW50IGlzIDEwMCUuXG5AZnVuY3Rpb24gc2NhbGUtc2F0dXJhdGlvbigkY29sb3IsICRhbW91bnQpIHtcbiAgICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJHNhdHVyYXRpb246ICRhbW91bnQpO1xufVxuXG5AZnVuY3Rpb24gc2hhZGUoJGNvbG9yLCAkcGVyY2VudGFnZSkge1xuICAgIEByZXR1cm4gbWl4KCMwMDAwMDAsICRjb2xvciwgJHBlcmNlbnRhZ2UpO1xufVxuXG5AZnVuY3Rpb24gdGludCgkY29sb3IsICRwZXJjZW50YWdlKSB7XG4gICAgQHJldHVybiBtaXgoI2ZmZmZmZiwgJGNvbG9yLCAkcGVyY2VudGFnZSk7XG59XG5cbiIsIkBpbXBvcnQgXCJ1dGlsaXRpZXMvY29sb3JcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvZ2VuZXJhbFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9zcHJpdGVzXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3RhYmxlc1wiO1xuXG4vLyBkZXByZWNhdGVkXG5AaW1wb3J0IFwidHlwb2dyYXBoeS9saW5rc1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHkvbGlzdHNcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5L3RleHRcIjtcbiIsIkBpbXBvcnQgXCJjb2xvci9jb250cmFzdFwiOyIsIiRjb250cmFzdGVkLWRhcmstZGVmYXVsdDogICAjMDAwICFkZWZhdWx0O1xuJGNvbnRyYXN0ZWQtbGlnaHQtZGVmYXVsdDogICNmZmYgIWRlZmF1bHQ7XG4kY29udHJhc3RlZC1saWdodG5lc3MtdGhyZXNob2xkOiAzMCUgIWRlZmF1bHQ7XG5cbi8vIFJldHVybnMgdGhlIGAkbGlnaHRgIGNvbG9yIHdoZW4gdGhlIGAkY29sb3JgIGlzIGRhcmtcbi8vIGFuZCB0aGUgYCRkYXJrYCBjb2xvciB3aGVuIHRoZSBgJGNvbG9yYCBpcyBsaWdodC5cbi8vIFRoZSBgJHRocmVzaG9sZGAgaXMgYSBwZXJjZW50IGJldHdlZW4gYDAlYCBhbmQgYDEwMCVgIGFuZCBpdCBkZXRlcm1pbmVzXG4vLyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgYCRjb2xvcmAgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi5cbkBmdW5jdGlvbiBjb250cmFzdC1jb2xvcihcbiAgJGNvbG9yLFxuICAkZGFyazogJGNvbnRyYXN0ZWQtZGFyay1kZWZhdWx0LFxuICAkbGlnaHQ6ICRjb250cmFzdGVkLWxpZ2h0LWRlZmF1bHQsXG4gICR0aHJlc2hvbGQ6ICRjb250cmFzdGVkLWxpZ2h0bmVzcy10aHJlc2hvbGRcbikge1xuICBAcmV0dXJuIGlmKGxpZ2h0bmVzcygkY29sb3IpIDwgJHRocmVzaG9sZCwgJGxpZ2h0LCAkZGFyaylcbn1cblxuLy8gU2V0cyB0aGUgc3BlY2lmaWVkIGJhY2tncm91bmQgY29sb3IgYW5kIGNhbGN1bGF0ZXMgYSBkYXJrIG9yIGxpZ2h0IGNvbnRyYXN0ZWQgdGV4dCBjb2xvci5cbi8vIFRoZSBhcmd1bWVudHMgYXJlIHBhc3NlZCB0aHJvdWdoIHRvIHRoZSBbY29udHJhc3QtY29sb3IgZnVuY3Rpb25dKCNmdW5jdGlvbi1jb250cmFzdC1jb2xvcikuXG5AbWl4aW4gY29udHJhc3RlZChcbiAgJGJhY2tncm91bmQtY29sb3IsXG4gICRkYXJrOiAkY29udHJhc3RlZC1kYXJrLWRlZmF1bHQsXG4gICRsaWdodDogJGNvbnRyYXN0ZWQtbGlnaHQtZGVmYXVsdCxcbiAgJHRocmVzaG9sZDogJGNvbnRyYXN0ZWQtbGlnaHRuZXNzLXRocmVzaG9sZFxuKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICBjb2xvcjogY29udHJhc3QtY29sb3IoJGJhY2tncm91bmQtY29sb3IsICRkYXJrLCAkbGlnaHQsICR0aHJlc2hvbGQpO1xufSIsIkBpbXBvcnQgXCJnZW5lcmFsL3Jlc2V0XCI7XG5AaW1wb3J0IFwiZ2VuZXJhbC9jbGVhcmZpeFwiO1xuQGltcG9ydCBcImdlbmVyYWwvZmxvYXRcIjtcbkBpbXBvcnQgXCJnZW5lcmFsL3RhZy1jbG91ZFwiO1xuQGltcG9ydCBcImdlbmVyYWwvaGFja3NcIjtcbkBpbXBvcnQgXCJnZW5lcmFsL21pblwiO1xuIiwiLy8gVGhpcyBtb2R1bGUgaGFzIG1vdmVkLlxuQGltcG9ydCBcIi4uLy4uL3Jlc2V0L3V0aWxpdGllc1wiO1xuIiwiLy8gQmFzZWQgb24gW0VyaWMgTWV5ZXIncyByZXNldCAyLjBdKGh0dHA6Ly9tZXllcndlYi5jb20vZXJpYy90b29scy9jc3MvcmVzZXQvaW5kZXguaHRtbClcbi8vIEdsb2JhbCByZXNldCBydWxlcy5cbi8vIEZvciBtb3JlIHNwZWNpZmljIHJlc2V0cywgdXNlIHRoZSByZXNldCBtaXhpbnMgcHJvdmlkZWQgYmVsb3dcbkBtaXhpbiBnbG9iYWwtcmVzZXQge1xuICBodG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXG4gIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSxcbiAgYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLFxuICBkZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXG4gIHNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsXG4gIGIsIHUsIGksIGNlbnRlcixcbiAgZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcbiAgZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXG4gIHRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLFxuICBhcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCwgXG4gIGZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgXG4gIG1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LFxuICB0aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc2V0LWJveC1tb2RlbDtcbiAgICBAaW5jbHVkZSByZXNldC1mb250OyB9XG4gIC8vIFVubGlrZSBFcmljJ3Mgb3JpZ2luYWwgcmVzZXQsIHdlIHJlc2V0IHRoZSBodG1sIGVsZW1lbnQgdG8gYmUgY29tcGF0aWJsZVxuICAvLyB3aXRoIHRoZSB2ZXJ0aWNhbCByaHl0aG0gbWl4aW5zLlxuICBodG1sIHtcbiAgICBAaW5jbHVkZSByZXNldC1ib2R5OyB9XG4gIG9sLCB1bCB7XG4gICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZTsgfVxuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgcmVzZXQtdGFibGU7IH1cbiAgY2FwdGlvbiwgdGgsIHRkIHtcbiAgICBAaW5jbHVkZSByZXNldC10YWJsZS1jZWxsOyB9XG4gIHEsIGJsb2NrcXVvdGUge1xuICAgIEBpbmNsdWRlIHJlc2V0LXF1b3RhdGlvbjsgfVxuICBhIGltZyB7XG4gICAgQGluY2x1ZGUgcmVzZXQtaW1hZ2UtYW5jaG9yLWJvcmRlcjsgfVxuICBAaW5jbHVkZSByZXNldC1odG1sNTsgfVxuXG4vLyBSZXNldCBhbGwgZWxlbWVudHMgd2l0aGluIHNvbWUgc2VsZWN0b3Igc2NvcGUuIFRvIHJlc2V0IHRoZSBzZWxlY3RvciBpdHNlbGYsXG4vLyBtaXhpbiB0aGUgYXBwcm9wcmlhdGUgcmVzZXQgbWl4aW4gZm9yIHRoYXQgZWxlbWVudCB0eXBlIGFzIHdlbGwuIFRoaXMgY291bGQgYmVcbi8vIHVzZWZ1bCBpZiB5b3Ugd2FudCB0byBzdHlsZSBhIHBhcnQgb2YgeW91ciBwYWdlIGluIGEgZHJhbWF0aWNhbGx5IGRpZmZlcmVudCB3YXkuXG5AbWl4aW4gbmVzdGVkLXJlc2V0IHtcbiAgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLFxuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG4gIGEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSxcbiAgZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLFxuICBzbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLFxuICBiLCB1LCBpLCBjZW50ZXIsXG4gIGRsLCBkdCwgZGQsIG9sLCB1bCwgbGksXG4gIGZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxuICB0YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCxcbiAgYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZW1iZWQsIFxuICBmaWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIFxuICBtZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSxcbiAgdGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNldC1ib3gtbW9kZWw7XG4gICAgQGluY2x1ZGUgcmVzZXQtZm9udDsgfVxuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgcmVzZXQtdGFibGU7IH1cbiAgY2FwdGlvbiwgdGgsIHRkIHtcbiAgICBAaW5jbHVkZSByZXNldC10YWJsZS1jZWxsOyB9XG4gIHEsIGJsb2NrcXVvdGUge1xuICAgIEBpbmNsdWRlIHJlc2V0LXF1b3RhdGlvbjsgfVxuICBhIGltZyB7XG4gICAgQGluY2x1ZGUgcmVzZXQtaW1hZ2UtYW5jaG9yLWJvcmRlcjsgfSB9XG5cbi8vIFJlc2V0IHRoZSBib3ggbW9kZWwgbWVhc3VyZW1lbnRzLlxuQG1peGluIHJlc2V0LWJveC1tb2RlbCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbi8vIFJlc2V0IHRoZSBmb250IGFuZCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gcmVzZXQtZm9udCB7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbi8vIFJlc2V0cyB0aGUgb3V0bGluZSB3aGVuIGZvY3VzLlxuLy8gRm9yIGFjY2Vzc2liaWxpdHkgeW91IG5lZWQgdG8gYXBwbHkgc29tZSBzdHlsaW5nIGluIGl0cyBwbGFjZS5cbkBtaXhpbiByZXNldC1mb2N1cyB7XG4gIG91dGxpbmU6IDA7IH1cblxuLy8gUmVzZXQgYSBib2R5IGVsZW1lbnQuXG5AbWl4aW4gcmVzZXQtYm9keSB7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi8vIFJlc2V0IHRoZSBsaXN0IHN0eWxlIG9mIGFuIGVsZW1lbnQuXG5AbWl4aW4gcmVzZXQtbGlzdC1zdHlsZSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLy8gUmVzZXQgYSB0YWJsZVxuQG1peGluIHJlc2V0LXRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxuLy8gUmVzZXQgYSB0YWJsZSBjZWxsIChgdGhgLCBgdGRgKVxuQG1peGluIHJlc2V0LXRhYmxlLWNlbGwge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi8vIFJlc2V0IGEgcXVvdGF0aW9uIChgcWAsIGBibG9ja3F1b3RlYClcbkBtaXhpbiByZXNldC1xdW90YXRpb24ge1xuICBxdW90ZXM6IG5vbmU7XG4gICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiOyBcbiAgICBjb250ZW50OiBub25lOyB9IH1cblxuLy8gUmVzZXRzIHRoZSBib3JkZXIuXG5AbWl4aW4gcmVzZXQtaW1hZ2UtYW5jaG9yLWJvcmRlciB7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4vLyBVbnJlY29nbml6ZWQgZWxlbWVudHMgYXJlIGRpc3BsYXllZCBpbmxpbmUuXG4vLyBUaGlzIHJlc2V0IHByb3ZpZGVzIGEgYmFzaWMgcmVzZXQgZm9yIGJsb2NrIGh0bWw1IGVsZW1lbnRzXG4vLyBzbyB0aGV5IGFyZSByZW5kZXJlZCBjb3JyZWN0bHkgaW4gYnJvd3NlcnMgdGhhdCBkb24ndCByZWNvZ25pemUgdGhlbVxuLy8gYW5kIHJlc2V0IGluIGJyb3dzZXJzIHRoYXQgaGF2ZSBkZWZhdWx0IHN0eWxlcyBmb3IgdGhlbS5cbkBtaXhpbiByZXNldC1odG1sNSB7XG4gICN7ZWxlbWVudHMtb2YtdHlwZShodG1sNS1ibG9jayl9IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi8vIFJlc2V0cyB0aGUgZGlzcGxheSBvZiBpbmxpbmUgYW5kIGJsb2NrIGVsZW1lbnRzIHRvIHRoZWlyIGRlZmF1bHQgZGlzcGxheVxuLy8gYWNjb3JkaW5nIHRvIHRoZWlyIHRhZyB0eXBlLiBFbGVtZW50cyB0aGF0IGhhdmUgYSBkZWZhdWx0IGRpc3BsYXkgdGhhdCB2YXJpZXMgYWNyb3NzXG4vLyB2ZXJzaW9ucyBvZiBodG1sIG9yIGJyb3dzZXIgYXJlIG5vdCBoYW5kbGVkIGhlcmUsIGJ1dCB0aGlzIGNvdmVycyB0aGUgOTAlIHVzZSBjYXNlLlxuLy8gVXNhZ2UgRXhhbXBsZTpcbi8vXG4vLyAgICAgLy8gVHVybiBvZmYgdGhlIGRpc3BsYXkgZm9yIGJvdGggb2YgdGhlc2UgY2xhc3Nlc1xuLy8gICAgIC51bnJlZ2lzdGVyZWQtb25seSwgLnJlZ2lzdGVyZWQtb25seVxuLy8gICAgICAgZGlzcGxheTogbm9uZVxuLy8gICAgIC8vIE5vdyB0dXJuIG9ubHkgb25lIG9mIHRoZW0gYmFjayBvbiBkZXBlbmRpbmcgb24gc29tZSBvdGhlciBjb250ZXh0LlxuLy8gICAgIGJvZHkucmVnaXN0ZXJlZFxuLy8gICAgICAgK3Jlc2V0LWRpc3BsYXkoXCIucmVnaXN0ZXJlZC1vbmx5XCIpXG4vLyAgICAgYm9keS51bnJlZ2lzdGVyZWRcbi8vICAgICAgICtyZXNldC1kaXNwbGF5KFwiLnVucmVnaXN0ZXJlZC1vbmx5XCIpXG5AbWl4aW4gcmVzZXQtZGlzcGxheSgkc2VsZWN0b3I6IFwiXCIsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gICN7YXBwZW5kLXNlbGVjdG9yKGVsZW1lbnRzLW9mLXR5cGUoXCJpbmxpbmVcIiksICRzZWxlY3Rvcil9IHtcbiAgICBAaWYgJGltcG9ydGFudCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTsgfSB9XG4gICN7YXBwZW5kLXNlbGVjdG9yKGVsZW1lbnRzLW9mLXR5cGUoXCJibG9ja1wiKSwgJHNlbGVjdG9yKX0ge1xuICAgIEBpZiAkaW1wb3J0YW50IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9IH1cbiIsIi8vIEBkb2Mgb2ZmXG4vLyBFeHRlbmRzIHRoZSBib3R0b20gb2YgdGhlIGVsZW1lbnQgdG8gZW5jbG9zZSBhbnkgZmxvYXRzIGl0IGNvbnRhaW5zLlxuLy8gQGRvYyBvblxuXG5AaW1wb3J0IFwiaGFja3NcIjtcblxuLy8gVGhpcyBiYXNpYyBtZXRob2QgaXMgcHJlZmVycmVkIGZvciB0aGUgdXN1YWwgY2FzZSwgd2hlbiBwb3NpdGlvbmVkXG4vLyBjb250ZW50IHdpbGwgbm90IHNob3cgb3V0c2lkZSB0aGUgYm91bmRzIG9mIHRoZSBjb250YWluZXIuXG4vL1xuLy8gUmVjb21tZW5kYXRpb25zIGluY2x1ZGUgdXNpbmcgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGEgd2lkdGguXG4vLyBDcmVkaXQ6IFtxdWlya3Ntb2RlLm9yZ10oaHR0cDovL3d3dy5xdWlya3Ntb2RlLm9yZy9ibG9nL2FyY2hpdmVzLzIwMDUvMDMvY2xlYXJpbmdfZmxvYXRzLmh0bWwpXG5AbWl4aW4gY2xlYXJmaXgge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSBoYXMtbGF5b3V0O1xufVxuXG4vLyBUaGlzIG9sZGVyIG1ldGhvZCBmcm9tIFBvc2l0aW9uIElzIEV2ZXJ5dGhpbmcgY2FsbGVkXG4vLyBbRWFzeSBDbGVhcmluZ10oaHR0cDovL3d3dy5wb3NpdGlvbmlzZXZlcnl0aGluZy5uZXQvZWFzeWNsZWFyaW5nLmh0bWwpXG4vLyBoYXMgdGhlIGFkdmFudGFnZSBvZiBhbGxvd2luZyBwb3NpdGlvbmVkIGVsZW1lbnRzIHRvIGhhbmdcbi8vIG91dHNpZGUgdGhlIGJvdW5kcyBvZiB0aGUgY29udGFpbmVyIGF0IHRoZSBleHBlbnNlIG9mIG1vcmUgdHJpY2t5IENTUy5cbkBtaXhpbiBsZWdhY3ktcGllLWNsZWFyZml4IHtcbiAgJjphZnRlciB7XG4gICAgY29udGVudCAgICA6IFwiXFwwMDIwXCI7XG4gICAgZGlzcGxheSAgICA6IGJsb2NrO1xuICAgIGhlaWdodCAgICAgOiAwO1xuICAgIGNsZWFyICAgICAgOiBib3RoO1xuICAgIG92ZXJmbG93ICAgOiBoaWRkZW47XG4gICAgdmlzaWJpbGl0eSA6IGhpZGRlbjtcbiAgfVxuICBAaW5jbHVkZSBoYXMtbGF5b3V0O1xufVxuXG4vLyBUaGlzIGlzIGFuIHVwZGF0ZWQgdmVyc2lvbiBvZiB0aGUgUElFIGNsZWFyZml4IG1ldGhvZCB0aGF0IHJlZHVjZXMgdGhlIGFtb3VudCBvZiBDU1Mgb3V0cHV0LlxuLy8gSWYgeW91IG5lZWQgdG8gc3VwcG9ydCBGaXJlZm94IGJlZm9yZSAzLjUgeW91IG5lZWQgdG8gdXNlIGBsZWdhY3ktcGllLWNsZWFyZml4YCBpbnN0ZWFkLlxuLy9cbi8vIEFkYXB0ZWQgZnJvbTogW0EgbmV3IG1pY3JvIGNsZWFyZml4IGhhY2tdKGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLylcbkBtaXhpbiBwaWUtY2xlYXJmaXgge1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIEBpbmNsdWRlIGhhcy1sYXlvdXQ7XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc3VwcG9ydFwiO1xuXG4vLyBUaGUgYHpvb21gIGFwcHJvYWNoIGdlbmVyYXRlcyBsZXNzIENTUyBidXQgZG9lcyBub3QgdmFsaWRhdGUuXG4vLyBTZXQgdGhpcyB0byBgYmxvY2tgIHRvIHVzZSB0aGUgZGlzcGxheS1wcm9wZXJ0eSB0byBoYWNrIHRoZVxuLy8gZWxlbWVudCB0byBnYWluIGxheW91dC5cbiRkZWZhdWx0LWhhcy1sYXlvdXQtYXBwcm9hY2g6IHpvb20gIWRlZmF1bHQ7XG5cbi8vIFRoaXMgbWl4aW4gY2F1c2VzIGFuIGVsZW1lbnQgbWF0Y2hpbmcgdGhlIHNlbGVjdG9yXG4vLyB0byBnYWluIHRoZSBcImhhc0xheW91dFwiIHByb3BlcnR5IGluIGludGVybmV0IGV4cGxvcmVyLlxuLy8gTW9yZSBpbmZvcm1hdGlvbiBvbiBbaGFzTGF5b3V0XShodHRwOi8vcmVmZXJlbmNlLnNpdGVwb2ludC5jb20vY3NzL2hhc2xheW91dCkuXG5AbWl4aW4gaGFzLWxheW91dCgkYXBwcm9hY2g6ICRkZWZhdWx0LWhhcy1sYXlvdXQtYXBwcm9hY2gpIHtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWUge1xuICAgIEBpZiAkYXBwcm9hY2ggPT0gem9vbSB7XG4gICAgICBAaW5jbHVkZSBoYXMtbGF5b3V0LXpvb207XG4gICAgfSBAZWxzZSBpZiAkYXBwcm9hY2ggPT0gYmxvY2sge1xuICAgICAgQGluY2x1ZGUgaGFzLWxheW91dC1ibG9jaztcbiAgICB9IEBlbHNlIHtcbiAgICAgIEB3YXJuIFwiVW5rbm93biBoYXMtbGF5b3V0IGFwcHJvYWNoOiAjeyRhcHByb2FjaH1cIjtcbiAgICAgIEBpbmNsdWRlIGhhcy1sYXlvdXQtem9vbTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGhhcy1sYXlvdXQtem9vbSB7XG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNiBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNyB7XG4gICAgKnpvb206IDE7XG4gIH1cbn1cblxuQG1peGluIGhhcy1sYXlvdXQtYmxvY2sge1xuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSB7XG4gICAgLy8gVGhpcyBtYWtlcyBpZTYgZ2V0IGxheW91dFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvLyBhbmQgdGhpcyBwdXRzIGl0IGJhY2sgdG8gYmxvY2tcbiAgICAmIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgfVxufVxuXG4vLyBBIGhhY2sgdG8gc3VwcGx5IElFNiAoYW5kIGJlbG93KSB3aXRoIGEgZGlmZmVyZW50IHByb3BlcnR5IHZhbHVlLlxuLy8gW1JlYWQgbW9yZV0oaHR0cDovL3d3dy5jc3Nwb3J0YWwuY29tL2Nzcy1oYWNrcy8jaW5fY3NzLWltcG9ydGFudCkuXG5AbWl4aW4gYmFuZy1oYWNrKCRwcm9wZXJ0eSwgJHZhbHVlLCAkaWU2LXZhbHVlKSB7XG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNiB7XG4gICAgI3skcHJvcGVydHl9OiAjeyR2YWx1ZX0gIWltcG9ydGFudDtcbiAgICAjeyRwcm9wZXJ0eX06ICN7JGllNi12YWx1ZX07XG4gIH1cbn1cbiIsIi8vIFVzdWFsbHkgY29tcGFzcyBoYWNrcyBhcHBseSB0byBib3RoIGllNiAmIDcgLS0gc2V0IHRoaXMgdG8gZmFsc2UgdG8gZGlzYWJsZSBzdXBwb3J0IGZvciBib3RoLlxuJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gU2V0dGluZyB0aGlzIHRvIGZhbHNlIHdpbGwgcmVzdWx0IGluIHNtYWxsZXIgb3V0cHV0LCBidXQgbm8gc3VwcG9ydCBmb3IgaWU2IGhhY2tzXG4kbGVnYWN5LXN1cHBvcnQtZm9yLWllNjogJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSAhZGVmYXVsdDtcblxuLy8gU2V0dGluZyB0aGlzIHRvIGZhbHNlIHdpbGwgcmVzdWx0IGluIHNtYWxsZXIgb3V0cHV0LCBidXQgbm8gc3VwcG9ydCBmb3IgaWU3IGhhY2tzXG4kbGVnYWN5LXN1cHBvcnQtZm9yLWllNzogJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSAhZGVmYXVsdDtcblxuLy8gU2V0dGluZyB0aGlzIHRvIGZhbHNlIHdpbGwgcmVzdWx0IGluIHNtYWxsZXIgb3V0cHV0LCBidXQgbm8gc3VwcG9ydCBmb3IgbGVnYWN5IGllOCBoYWNrc1xuJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTg6ICRsZWdhY3ktc3VwcG9ydC1mb3ItaWUgIWRlZmF1bHQ7XG5cbi8vIEBwcml2YXRlXG4vLyBUaGUgdXNlciBjYW4gc2ltcGx5IHNldCAkbGVnYWN5LXN1cHBvcnQtZm9yLWllIGFuZCA2LCA3LCBhbmQgOCB3aWxsIGJlIHNldCBhY2NvcmRpbmdseSxcbi8vIEJ1dCBpbiBjYXNlIHRoZSB1c2VyIHNldCBlYWNoIG9mIHRob3NlIGV4cGxpY2l0bHksIHdlIG5lZWQgdG8gc3luYyB0aGUgdmFsdWUgb2Zcbi8vIHRoaXMgY29tYmluZWQgdmFyaWFibGUuXG4kbGVnYWN5LXN1cHBvcnQtZm9yLWllOiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNiBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNyBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllODtcblxuLy8gV2hldGhlciB0byBvdXRwdXQgbGVnYWN5IHN1cHBvcnQgZm9yIG1vemlsbGEuXG4vLyBVc3VhbGx5IHRoaXMgbWVhbnMgaGFja3MgdG8gc3VwcG9ydCBGaXJlZm94IDMuNiBvciBlYXJsaWVyLlxuJGxlZ2FjeS1zdXBwb3J0LWZvci1tb3ppbGxhOiB0cnVlO1xuXG4vLyBTdXBwb3J0IGZvciBtb3ppbGxhIGluIGV4cGVyaW1lbnRhbCBjc3MzIHByb3BlcnRpZXMgKC1tb3opLlxuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgOiB0cnVlICFkZWZhdWx0O1xuLy8gU3VwcG9ydCBmb3Igd2Via2l0IGluIGV4cGVyaW1lbnRhbCBjc3MzIHByb3BlcnRpZXMgKC13ZWJraXQpLlxuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgICAgOiB0cnVlICFkZWZhdWx0O1xuLy8gU3VwcG9ydCBmb3Igd2Via2l0J3Mgb3JpZ2luYWwgKG5vbi1zdGFuZGFyZCkgZ3JhZGllbnQgc3ludGF4LlxuJHN1cHBvcnQtZm9yLW9yaWdpbmFsLXdlYmtpdC1ncmFkaWVudHMgOiB0cnVlICFkZWZhdWx0O1xuLy8gU3VwcG9ydCBmb3Igb3BlcmEgaW4gZXhwZXJpbWVudGFsIGNzczMgcHJvcGVydGllcyAoLW8pLlxuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgOiB0cnVlICFkZWZhdWx0O1xuLy8gU3VwcG9ydCBmb3IgbWljcm9zb2Z0IGluIGV4cGVyaW1lbnRhbCBjc3MzIHByb3BlcnRpZXMgKC1tcykuXG4kZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCAgICA6IHRydWUgIWRlZmF1bHQ7XG4vLyBTdXBwb3J0IGZvciBraHRtbCBpbiBleHBlcmltZW50YWwgY3NzMyBwcm9wZXJ0aWVzICgta2h0bWwpLlxuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbi8vIFN1cHBvcnQgZm9yIHN2ZyBpbiBleHBlcmltZW50YWwgY3NzMyBwcm9wZXJ0aWVzLlxuLy8gU2V0dGluZyB0aGlzIHRvIHRydWUgbWlnaHQgYWRkIHNpZ25pZmljYW50IHNpemUgdG8geW91clxuLy8gZ2VuZXJhdGVkIHN0eWxlc2hlZXRzLlxuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbi8vIFN1cHBvcnQgZm9yIENTUyBQSUUgaW4gZXhwZXJpbWVudGFsIGNzczMgcHJvcGVydGllcyAoLXBpZSkuXG4kZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXBpZSAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuIiwiLy8gSW1wbGVtZW50YXRpb24gb2YgZmxvYXQ6bGVmdCB3aXRoIGZpeCBmb3IgdGhlXG4vLyBbZG91YmxlLW1hcmdpbiBidWcgaW4gSUU1LzZdKGh0dHA6Ly93d3cucG9zaXRpb25pc2V2ZXJ5dGhpbmcubmV0L2V4cGxvcmVyL2RvdWJsZWQtbWFyZ2luLmh0bWwpXG5AbWl4aW4gZmxvYXQtbGVmdCB7XG4gIEBpbmNsdWRlIGZsb2F0KGxlZnQpOyB9XG5cbi8vIEltcGxlbWVudGF0aW9uIG9mIGZsb2F0OnJpZ2h0IHdpdGggZml4IGZvciB0aGVcbi8vIFtkb3VibGUtbWFyZ2luIGJ1ZyBpbiBJRTUvNl0oaHR0cDovL3d3dy5wb3NpdGlvbmlzZXZlcnl0aGluZy5uZXQvZXhwbG9yZXIvZG91YmxlZC1tYXJnaW4uaHRtbClcbkBtaXhpbiBmbG9hdC1yaWdodCB7XG4gIEBpbmNsdWRlIGZsb2F0KHJpZ2h0KTsgfVxuXG4vLyBEaXJlY3Rpb24gaW5kZXBlbmRlbnQgZmxvYXQgbWl4aW4gdGhhdCBmaXhlcyB0aGVcbi8vIFtkb3VibGUtbWFyZ2luIGJ1ZyBpbiBJRTUvNl0oaHR0cDovL3d3dy5wb3NpdGlvbmlzZXZlcnl0aGluZy5uZXQvZXhwbG9yZXIvZG91YmxlZC1tYXJnaW4uaHRtbClcbkBtaXhpbiBmbG9hdCgkc2lkZTogbGVmdCkge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGZsb2F0OiB1bnF1b3RlKCRzaWRlKTsgfVxuXG4vLyBSZXNldHMgZmxvYXRlZCBlbGVtZW50cyBiYWNrIHRvIHRoZWlyIGRlZmF1bHQgb2YgYGZsb2F0OiBub25lYCBhbmQgZGVmYXVsdHNcbi8vIHRvIGBkaXNwbGF5OiBibG9ja2AgdW5sZXNzIHlvdSBwYXNzIGBpbmxpbmVgIGFzIGFuIGFyZ3VtZW50XG4vL1xuLy8gVXNhZ2UgRXhhbXBsZTpcbi8vXG4vLyAgICAgYm9keS5ob21lcGFnZVxuLy8gICAgICAgI2Zvb3RlciBsaVxuLy8gICAgICAgICArZmxvYXQtbGVmdFxuLy8gICAgIGJvZHkuc2lnbnVwXG4vLyAgICAgICAjZm9vdGVyIGxpXG4vLyAgICAgICAgICtyZXNldC1mbG9hdFxuQG1peGluIHJlc2V0LWZsb2F0KCRkaXNwbGF5OiBibG9jaykge1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogJGRpc3BsYXk7IH0iLCIvLyBFbWl0cyBzdHlsZXMgZm9yIGEgdGFnIGNsb3VkXG5AbWl4aW4gdGFnLWNsb3VkKCRiYXNlLXNpemU6IDFlbSkge1xuICBmb250LXNpemU6ICRiYXNlLXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxLjIgKiAkYmFzZS1zaXplO1xuICAueHhzLCAueHMsIC5zLCAubCwgLnhsLCAueHhsIHtcbiAgICBsaW5lLWhlaWdodDogMS4yICogJGJhc2Utc2l6ZTsgfVxuICAueHhzIHtcbiAgICBmb250LXNpemU6ICRiYXNlLXNpemUgLyAyOyB9XG4gIC54cyB7XG4gICAgZm9udC1zaXplOiAyICogJGJhc2Utc2l6ZSAvIDM7IH1cbiAgLnMge1xuICAgIGZvbnQtc2l6ZTogMyAqICRiYXNlLXNpemUgLyA0OyB9XG4gIC5sIHtcbiAgICBmb250LXNpemU6IDQgKiAkYmFzZS1zaXplIC8gMzsgfVxuICAueGwge1xuICAgIGZvbnQtc2l6ZTogMyAqICRiYXNlLXNpemUgLyAyOyB9XG4gIC54eGwge1xuICAgIGZvbnQtc2l6ZTogMiAqICRiYXNlLXNpemU7IH0gfVxuIiwiQGltcG9ydCBcImhhY2tzXCI7XG5cbi8vKipcbi8vIENyb3NzIGJyb3dzZXIgbWluLWhlaWdodCBtaXhpbi5cbkBtaXhpbiBtaW4taGVpZ2h0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSBoYWNrZWQtbWluaW11bShoZWlnaHQsICR2YWx1ZSk7IH1cblxuLy8qKlxuLy8gQ3Jvc3MgYnJvd3NlciBtaW4td2lkdGggbWl4aW4uXG5AbWl4aW4gbWluLXdpZHRoKCR2YWx1ZSkge1xuICBAaW5jbHVkZSBoYWNrZWQtbWluaW11bSh3aWR0aCwgJHZhbHVlKTsgfVxuXG4vLyBAcHJpdmF0ZSBUaGlzIG1peGluIGlzIG5vdCBtZWFudCB0byBiZSB1c2VkIGRpcmVjdGx5LlxuQG1peGluIGhhY2tlZC1taW5pbXVtKCRwcm9wZXJ0eSwgJHZhbHVlKSB7XG4gIG1pbi0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgQGluY2x1ZGUgYmFuZy1oYWNrKCRwcm9wZXJ0eSwgYXV0bywgJHZhbHVlKTsgfVxuIiwiQGltcG9ydCBcInNwcml0ZXMvYmFzZVwiO1xuQGltcG9ydCBcInNwcml0ZXMvc3ByaXRlLWltZ1wiO1xuIiwiLy8gRGV0ZXJtaW5lcyB0aG9zZSBzdGF0ZXMgZm9yIHdoaWNoIHlvdSB3YW50IHRvIGVuYWJsZSBtYWdpYyBzcHJpdGUgc2VsZWN0b3JzXG4kc3ByaXRlLXNlbGVjdG9yczogaG92ZXIsIHRhcmdldCwgYWN0aXZlICFkZWZhdWx0O1xuXG4vLyBTZXQgdGhlIHdpZHRoIGFuZCBoZWlnaHQgb2YgYW4gZWxlbWVudCB0byB0aGUgb3JpZ2luYWxcbi8vIGRpbWVuc2lvbnMgb2YgYW4gaW1hZ2UgYmVmb3JlIGl0IHdhcyBpbmNsdWRlZCBpbiB0aGUgc3ByaXRlLlxuQG1peGluIHNwcml0ZS1kaW1lbnNpb25zKCRtYXAsICRzcHJpdGUpIHtcbiAgaGVpZ2h0OiBpbWFnZS1oZWlnaHQoc3ByaXRlLWZpbGUoJG1hcCwgJHNwcml0ZSkpO1xuICB3aWR0aDogaW1hZ2Utd2lkdGgoc3ByaXRlLWZpbGUoJG1hcCwgJHNwcml0ZSkpO1xufVxuXG4vLyBTZXQgdGhlIGJhY2tncm91bmQgcG9zaXRpb24gb2YgdGhlIGdpdmVuIHNwcml0ZSBgJG1hcGAgdG8gZGlzcGxheSB0aGVcbi8vIHNwcml0ZSBvZiB0aGUgZ2l2ZW4gYCRzcHJpdGVgIG5hbWUuIFlvdSBjYW4gbW92ZSB0aGUgaW1hZ2UgcmVsYXRpdmUgdG8gaXRzXG4vLyBuYXR1cmFsIHBvc2l0aW9uIGJ5IHBhc3NpbmcgYCRvZmZzZXQteGAgYW5kIGAkb2Zmc2V0LXlgLlxuQG1peGluIHNwcml0ZS1iYWNrZ3JvdW5kLXBvc2l0aW9uKCRtYXAsICRzcHJpdGUsICRvZmZzZXQteDogMCwgJG9mZnNldC15OiAwKSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHNwcml0ZS1wb3NpdGlvbigkbWFwLCAkc3ByaXRlLCAkb2Zmc2V0LXgsICRvZmZzZXQteSk7ICBcbn1cblxuXG4vLyBEZXRlcm1pbmVzIGlmIHlvdSB3YW50IHRvIGluY2x1ZGUgbWFnaWMgc2VsZWN0b3JzIGluIHlvdXIgc3ByaXRlc1xuJGRpc2FibGUtbWFnaWMtc3ByaXRlLXNlbGVjdG9yczpmYWxzZSAhZGVmYXVsdDtcblxuLy8gSW5jbHVkZSB0aGUgcG9zaXRpb24gYW5kIChvcHRpb25hbGx5KSBkaW1lbnNpb25zIG9mIHRoaXMgYCRzcHJpdGVgXG4vLyBpbiB0aGUgZ2l2ZW4gc3ByaXRlIGAkbWFwYC4gVGhlIHNwcml0ZSB1cmwgc2hvdWxkIGNvbWUgZnJvbSBlaXRoZXIgYSBiYXNlXG4vLyBjbGFzcyBvciB5b3UgY2FuIHNwZWNpZnkgdGhlIGBzcHJpdGUtdXJsYCBleHBsaWNpdGx5IGxpa2UgdGhpczpcbi8vXG4vLyAgICAgYmFja2dyb3VuZDogJG1hcCBuby1yZXBlYXQ7XG5AbWl4aW4gc3ByaXRlKCRtYXAsICRzcHJpdGUsICRkaW1lbnNpb25zOiBmYWxzZSwgJG9mZnNldC14OiAwLCAkb2Zmc2V0LXk6IDApIHtcbiAgQGluY2x1ZGUgc3ByaXRlLWJhY2tncm91bmQtcG9zaXRpb24oJG1hcCwgJHNwcml0ZSwgJG9mZnNldC14LCAkb2Zmc2V0LXkpO1xuICBAaWYgJGRpbWVuc2lvbnMge1xuICAgIEBpbmNsdWRlIHNwcml0ZS1kaW1lbnNpb25zKCRtYXAsICRzcHJpdGUpO1xuICB9XG4gIEBpZiBub3QoJGRpc2FibGUtbWFnaWMtc3ByaXRlLXNlbGVjdG9ycykge1xuICAgIEBpbmNsdWRlIHNwcml0ZS1zZWxlY3RvcnMoJG1hcCwgJHNwcml0ZSwgJHNwcml0ZSwgJG9mZnNldC14LCAkb2Zmc2V0LXkpO1xuICB9XG59XG5cbi8vIEluY2x1ZGUgdGhlIHNlbGVjdG9ycyBmb3IgdGhlIGAkc3ByaXRlYCBnaXZlbiB0aGUgYCRtYXBgIGFuZCB0aGUgXG4vLyBgJGZ1bGwtc3ByaXRlLW5hbWVgXG4vLyBAcHJpdmF0ZVxuQG1peGluIHNwcml0ZS1zZWxlY3RvcnMoJG1hcCwgJHNwcml0ZS1uYW1lLCAkZnVsbC1zcHJpdGUtbmFtZSwgJG9mZnNldC14OiAwLCAkb2Zmc2V0LXk6IDApIHtcbiAgQGVhY2ggJHNlbGVjdG9yIGluICRzcHJpdGUtc2VsZWN0b3JzIHtcbiAgICBAaWYgc3ByaXRlX2hhc19zZWxlY3RvcigkbWFwLCAkc3ByaXRlLW5hbWUsICRzZWxlY3Rvcikge1xuICAgICAgJjojeyRzZWxlY3Rvcn0sICYuI3skZnVsbC1zcHJpdGUtbmFtZX1fI3skc2VsZWN0b3J9LCAmLiN7JGZ1bGwtc3ByaXRlLW5hbWV9LSN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgc3ByaXRlLWJhY2tncm91bmQtcG9zaXRpb24oJG1hcCwgXCIjeyRzcHJpdGUtbmFtZX1fI3skc2VsZWN0b3J9XCIsICRvZmZzZXQteCwgJG9mZnNldC15KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gR2VuZXJhdGVzIGEgY2xhc3MgZm9yIGVhY2ggc3BhY2Ugc2VwYXJhdGVkIG5hbWUgaW4gYCRzcHJpdGUtbmFtZXNgLlxuLy8gVGhlIGNsYXNzIHdpbGwgYmUgb2YgdGhlIGZvcm0gLjxtYXAtbmFtZT4tPHNwcml0ZS1uYW1lPi5cbi8vXG4vLyBJZiBhIGJhc2UgY2xhc3MgaXMgcHJvdmlkZWQsIHRoZW4gZWFjaCBjbGFzcyB3aWxsIGV4dGVuZCBpdC5cbi8vXG4vLyBJZiBgJGRpbWVuc2lvbnNgIGlzIGB0cnVlYCwgdGhlIHNwcml0ZSBkaW1lbnNpb25zIHdpbGwgc3BlY2lmaWVkLlxuQG1peGluIHNwcml0ZXMoJG1hcCwgJHNwcml0ZS1uYW1lcywgJGJhc2UtY2xhc3M6IGZhbHNlLCAkZGltZW5zaW9uczogZmFsc2UsICRwcmVmaXg6IHNwcml0ZS1tYXAtbmFtZSgkbWFwKSwgJG9mZnNldC14OiAwLCAkb2Zmc2V0LXk6IDApIHtcbiAgQGVhY2ggJHNwcml0ZS1uYW1lIGluICRzcHJpdGUtbmFtZXMge1xuICAgIEBpZiBzcHJpdGVfZG9lc19ub3RfaGF2ZV9wYXJlbnQoJG1hcCwgJHNwcml0ZS1uYW1lKSB7XG4gICAgICAkZnVsbC1zcHJpdGUtbmFtZTogXCIjeyRwcmVmaXh9LSN7JHNwcml0ZS1uYW1lfVwiO1xuICAgICAgLiN7JGZ1bGwtc3ByaXRlLW5hbWV9IHtcbiAgICAgICAgQGlmICRiYXNlLWNsYXNzIHsgQGV4dGVuZCAjeyRiYXNlLWNsYXNzfTsgfVxuICAgICAgICBAaW5jbHVkZSBzcHJpdGUoJG1hcCwgJHNwcml0ZS1uYW1lLCAkZGltZW5zaW9ucywgJG9mZnNldC14LCAkb2Zmc2V0LXkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8vIEBkb2Mgb2ZmXG4vLyBFeGFtcGxlIDE6XG4vL1xuLy8gICAgIGEudHdpdHRlclxuLy8gICAgICAgK3Nwcml0ZS1pbWcoXCJpY29ucy0zMi5wbmdcIiwgMSlcbi8vICAgICBhLmZhY2Vib29rXG4vLyAgICAgICArc3ByaXRlLWltZyhcImljb25zLTMycG5nXCIsIDIpXG4vL1xuLy8gRXhhbXBsZSAyOlxuLy9cbi8vICAgICBhXG4vLyAgICAgICArc3ByaXRlLWJhY2tncm91bmQoXCJpY29ucy0zMi5wbmdcIilcbi8vICAgICAgIGEudHdpdHRlclxuLy8gICAgICAgICArc3ByaXRlLWNvbHVtbigxKVxuLy8gICAgICAgYS5mYWNlYm9va1xuLy8gICAgICAgICArc3ByaXRlLXJvdygyKVxuLy8gQGRvYyBvblxuXG4kc3ByaXRlLWRlZmF1bHQtc2l6ZTogMzJweCAhZGVmYXVsdDtcblxuJHNwcml0ZS1kZWZhdWx0LW1hcmdpbjogMHB4ICFkZWZhdWx0O1xuXG4kc3ByaXRlLWltYWdlLWRlZmF1bHQtd2lkdGg6ICRzcHJpdGUtZGVmYXVsdC1zaXplICFkZWZhdWx0O1xuXG4kc3ByaXRlLWltYWdlLWRlZmF1bHQtaGVpZ2h0OiAkc3ByaXRlLWRlZmF1bHQtc2l6ZSAhZGVmYXVsdDtcblxuLy8gU2V0cyBhbGwgdGhlIHJ1bGVzIGZvciBhIHNwcml0ZSBmcm9tIGEgZ2l2ZW4gc3ByaXRlIGltYWdlIHRvIHNob3cganVzdCBvbmUgb2YgdGhlIHNwcml0ZXMuXG4vLyBUbyByZWR1Y2UgZHVwbGljYXRpb24gdXNlIGEgc3ByaXRlLWJnIG1peGluIGZvciBjb21tb24gcHJvcGVydGllcyBhbmQgYSBzcHJpdGUtc2VsZWN0IG1peGluIGZvciBwb3NpdGlvbmluZy5cbkBtaXhpbiBzcHJpdGUtaW1nKCRpbWcsICRjb2wsICRyb3c6IDEsICR3aWR0aDogJHNwcml0ZS1pbWFnZS1kZWZhdWx0LXdpZHRoLCAkaGVpZ2h0OiAkc3ByaXRlLWltYWdlLWRlZmF1bHQtaGVpZ2h0LCAkbWFyZ2luOiAkc3ByaXRlLWRlZmF1bHQtbWFyZ2luKSB7XG4gIEBpbmNsdWRlIHNwcml0ZS1iYWNrZ3JvdW5kKCRpbWcsICR3aWR0aCwgJGhlaWdodCk7XG4gIEBpbmNsdWRlIHNwcml0ZS1wb3NpdGlvbigkY29sLCAkcm93LCAkd2lkdGgsICRoZWlnaHQsICRtYXJnaW4pOyBcbn1cblxuLy8gU2V0cyBydWxlcyBjb21tb24gZm9yIGFsbCBzcHJpdGVzLCBhc3N1bWVzIHlvdSB3YW50IGEgc3F1YXJlLCBidXQgYWxsb3dzIGEgcmVjdGFuZ3VsYXIgcmVnaW9uLlxuQG1peGluIHNwcml0ZS1iYWNrZ3JvdW5kKCRpbWcsICR3aWR0aDogJHNwcml0ZS1kZWZhdWx0LXNpemUsICRoZWlnaHQ6ICR3aWR0aCkge1xuICBAaW5jbHVkZSBzcHJpdGUtYmFja2dyb3VuZC1yZWN0YW5nbGUoJGltZywgJHdpZHRoLCAkaGVpZ2h0KTsgXG59XG5cbi8vIFNldHMgcnVsZXMgY29tbW9uIGZvciBhbGwgc3ByaXRlcywgYXNzdW1lcyBhIHJlY3Rhbmd1bGFyIHJlZ2lvbi5cbkBtaXhpbiBzcHJpdGUtYmFja2dyb3VuZC1yZWN0YW5nbGUoJGltZywgJHdpZHRoOiAkc3ByaXRlLWltYWdlLWRlZmF1bHQtd2lkdGgsICRoZWlnaHQ6ICRzcHJpdGUtaW1hZ2UtZGVmYXVsdC1oZWlnaHQpIHtcbiAgYmFja2dyb3VuZDogaW1hZ2UtdXJsKCRpbWcpIG5vLXJlcGVhdDtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBvdmVyZmxvdzogaGlkZGVuOyBcbn1cblxuLy8gQWxsb3dzIGhvcml6b250YWwgc3ByaXRlIHBvc2l0aW9uaW5nIG9wdGltaXplZCBmb3IgYSBzaW5nbGUgcm93IG9mIHNwcml0ZXMuXG5AbWl4aW4gc3ByaXRlLWNvbHVtbigkY29sLCAkd2lkdGg6ICRzcHJpdGUtaW1hZ2UtZGVmYXVsdC13aWR0aCwgJG1hcmdpbjogJHNwcml0ZS1kZWZhdWx0LW1hcmdpbikge1xuICBAaW5jbHVkZSBzcHJpdGUtcG9zaXRpb24oJGNvbCwgMSwgJHdpZHRoLCAwcHgsICRtYXJnaW4pOyBcbn1cblxuLy8gQWxsb3dzIHZlcnRpY2FsIHNwcml0ZSBwb3NpdGlvbmluZyBvcHRpbWl6ZWQgZm9yIGEgc2luZ2xlIGNvbHVtbiBvZiBzcHJpdGVzLlxuQG1peGluIHNwcml0ZS1yb3coJHJvdywgJGhlaWdodDogJHNwcml0ZS1pbWFnZS1kZWZhdWx0LWhlaWdodCwgJG1hcmdpbjogJHNwcml0ZS1kZWZhdWx0LW1hcmdpbikge1xuICBAaW5jbHVkZSBzcHJpdGUtcG9zaXRpb24oMSwgJHJvdywgMHB4LCAkaGVpZ2h0LCAkbWFyZ2luKTsgXG59XG5cbi8vIEFsbG93cyB2ZXJ0aWNhbCBhbmQgaG9yaXpvbnRhbCBzcHJpdGUgcG9zaXRpb25pbmcgZnJvbSBhIGdyaWQgb2YgZXF1YWwgZGltZW5zaW9uZWQgc3ByaXRlcy5cbkBtaXhpbiBzcHJpdGUtcG9zaXRpb24oJGNvbCwgJHJvdzogMSwgJHdpZHRoOiAkc3ByaXRlLWltYWdlLWRlZmF1bHQtd2lkdGgsICRoZWlnaHQ6ICRzcHJpdGUtaW1hZ2UtZGVmYXVsdC1oZWlnaHQsICRtYXJnaW46ICRzcHJpdGUtZGVmYXVsdC1tYXJnaW4pIHtcbiAgJHg6ICgkY29sIC0gMSkgKiAtJHdpZHRoIC0gKCRjb2wgLSAxKSAqICRtYXJnaW47XG4gICR5OiAoJHJvdyAtIDEpICogLSRoZWlnaHQgLSAoJHJvdyAtIDEpICogJG1hcmdpbjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogJHggJHk7IFxufVxuXG5cblxuLy8gU2ltaWxhciB0byAnc3ByaXRlLXJlcGxhY2UtdGV4dC13aXRoLWRpbWVuc2lvbnMnIGJ1dCBkb2VzIG5vdCBhdXRtYXRpY2x5IHNldCB0aGUgZGVtZW5zaW9uc1xuQG1peGluIHNwcml0ZS1yZXBsYWNlLXRleHQgKCRtYXAsICRzcHJpdGUsICRkaW1lbnNpb25zOiBmYWxzZSwgJG9mZnNldC14OiAwLCAkb2Zmc2V0LXk6IDApIHsgICAgXG4gIEBpbmNsdWRlIGhpZGUtdGV4dDtcbiAgQGluY2x1ZGUgc3ByaXRlKCRtYXAsICRzcHJpdGUsICRkaW1lbnNpb25zLCAkb2Zmc2V0LXgsICRvZmZzZXQteSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRtYXA7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi8vIFNpbWlsYXIgdG8gJ3JlcGxhY2UtdGV4dC13aXRoLWRpbWVuc2lvbnMnIGJ1dCB3aXRoIHNwcml0ZXNcbi8vIFRvIHVzZSwgY3JlYXRlIHlvdXIgc3ByaXRlIGFuZCB0aGVuIHBhc3MgaXQgaW4gdGhlIGAkbWFwYCBwYXJhbVxuLy8gVGhlIG5hbWUgb2YgdGhlIGltYWdlIGluIHRoZSBzcHJpdGUgZm9sZGVyIHNob3VsZCBiZSBgJGltZy1uYW1lYFxuQG1peGluIHNwcml0ZS1yZXBsYWNlLXRleHQtd2l0aC1kaW1lbnNpb25zICgkbWFwLCAkc3ByaXRlLCAkb2Zmc2V0LXg6IDAsICRvZmZzZXQteTogMCl7ICAgIFxuICBAaW5jbHVkZSBzcHJpdGUtcmVwbGFjZS10ZXh0ICgkbWFwLCAkc3ByaXRlLCB0cnVlLCAkb2Zmc2V0LXgsICRvZmZzZXQteSk7XG59IiwiQGltcG9ydCBcInRhYmxlcy9hbHRlcm5hdGluZy1yb3dzLWFuZC1jb2x1bW5zXCI7XG5AaW1wb3J0IFwidGFibGVzL2JvcmRlcnNcIjtcbkBpbXBvcnQgXCJ0YWJsZXMvc2NhZmZvbGRpbmdcIjtcbiIsIkBtaXhpbiBhbHRlcm5hdGluZy1yb3dzLWFuZC1jb2x1bW5zKCRldmVuLXJvdy1jb2xvciwgJG9kZC1yb3ctY29sb3IsICRkYXJrLWludGVyc2VjdGlvbiwgJGhlYWRlci1jb2xvcjogd2hpdGUsICRmb290ZXItY29sb3I6IHdoaXRlKSB7XG4gIHRoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgICYuZXZlbiwgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItY29sb3IgLSAkZGFyay1pbnRlcnNlY3Rpb247IH0gfVxuICB0ciB7XG4gICAgJi5vZGQsICY6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgIHRkIHtcbiAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2RkLXJvdy1jb2xvcjtcbiAgICAgICAmLmV2ZW4sICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2RkLXJvdy1jb2xvciAtICRkYXJrLWludGVyc2VjdGlvbjsgfSB9IH1cbiAgICB9XG4gIHRyLmV2ZW4ge1xuICAgIHRkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRldmVuLXJvdy1jb2xvcjtcbiAgICAgICYuZXZlbiwgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGV2ZW4tcm93LWNvbG9yIC0gJGRhcmstaW50ZXJzZWN0aW9uOyB9IH0gfVxuICB0Zm9vdCB7XG4gICAgdGgsIHRkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItY29sb3I7XG4gICAgICAmLmV2ZW4sICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItY29sb3IgLSAkZGFyay1pbnRlcnNlY3Rpb247IH0gfSB9IH1cbiIsIkBtaXhpbiBvdXRlci10YWJsZS1ib3JkZXJzKCR3aWR0aDogMnB4LCAkY29sb3I6IGJsYWNrKSB7XG4gIGJvcmRlcjogJHdpZHRoIHNvbGlkICRjb2xvcjtcbiAgdGhlYWQge1xuICAgIHRoIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkY29sb3I7IH0gfVxuICB0Zm9vdCB7XG4gICAgdGgsIHRkIHtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkY29sb3I7IH0gfVxuICB0aCB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkY29sb3I7IH0gfSB9XG5cbkBtaXhpbiBpbm5lci10YWJsZS1ib3JkZXJzKCR3aWR0aDogMnB4LCAkY29sb3I6IGJsYWNrKSB7XG4gIHRoLCB0ZCB7XG4gICAgYm9yZGVyOiB7XG4gICAgICByaWdodDogJHdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICAgIGJvdHRvbTogJHdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICAgIGxlZnQtd2lkdGg6IDBweDtcbiAgICAgIHRvcC13aWR0aDogMHB4OyB9O1xuICAgICY6bGFzdC1jaGlsZCxcbiAgICAmLmxhc3Qge1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwcHg7IH0gfVxuXG4vLyBJRTggaWdub3JlcyBydWxlcyB0aGF0IGFyZSBpbmNsdWRlZCBvbiB0aGUgc2FtZSBsaW5lIGFzIDpsYXN0LWNoaWxkXG4vLyBzZWUgaHR0cDovL3d3dy5yaWNoYXJkc2NhcnJvdHQuY28udWsvcG9zdHMvdmlldy9pZTgtbGFzdC1jaGlsZC1idWcgZm9yIGRldGFpbHNcblxuICB0Ym9keSwgdGZvb3Qge1xuICAgIHRyOmxhc3QtY2hpbGQge1xuICAgICAgdGgsIHRkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMHB4OyB9IH1cbiAgICB0ci5sYXN0IHtcbiAgICAgIHRoLCB0ZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDBweDsgfSB9IH0gfVxuIiwiQG1peGluIHRhYmxlLXNjYWZmb2xkaW5nIHtcbiAgdGgge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICB0ZCxcbiAgdGgge1xuICAgIHBhZGRpbmc6IDJweDtcbiAgICAmLm51bWVyaWMge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfSB9XG4iLCJAaW1wb3J0IFwibGlua3MvaG92ZXItbGlua1wiO1xuQGltcG9ydCBcImxpbmtzL2xpbmstY29sb3JzXCI7XG5AaW1wb3J0IFwibGlua3MvdW5zdHlsZWQtbGlua1wiO1xuIiwiLy8gYSBsaW5rIHRoYXQgb25seSBoYXMgYW4gdW5kZXJsaW5lIHdoZW4geW91IGhvdmVyIG92ZXIgaXRcbkBtaXhpbiBob3Zlci1saW5rIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfSB9XG4iLCIvLyBTZXQgYWxsIHRoZSBjb2xvcnMgZm9yIGEgbGluayB3aXRoIG9uZSBtaXhpbiBjYWxsLlxuLy8gT3JkZXIgb2YgYXJndW1lbnRzIGlzOlxuLy9cbi8vIDEuIG5vcm1hbFxuLy8gMi4gaG92ZXJcbi8vIDMuIGFjdGl2ZVxuLy8gNC4gdmlzaXRlZFxuLy8gNS4gZm9jdXNcbi8vXG4vLyBUaG9zZSBzdGF0ZXMgbm90IHNwZWNpZmllZCB3aWxsIGluaGVyaXQuXG4vLyBNaXhpbiB0byBhbiBhbmNob3IgbGluayBsaWtlIHNvOlxuLy8gICAgIGFcbi8vICAgICAgICtsaW5rLWNvbG9ycygjMDBjLCAjMGNjLCAjYzBjLCAjY2NjLCAjY2MwKVxuXG5AbWl4aW4gbGluay1jb2xvcnMoJG5vcm1hbCwgJGhvdmVyOiBmYWxzZSwgJGFjdGl2ZTogZmFsc2UsICR2aXNpdGVkOiBmYWxzZSwgJGZvY3VzOiBmYWxzZSkge1xuICBjb2xvcjogJG5vcm1hbDtcbiAgQGlmICR2aXNpdGVkIHtcbiAgICAmOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICR2aXNpdGVkOyB9IH1cbiAgQGlmICRmb2N1cyB7XG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGZvY3VzOyB9IH1cbiAgQGlmICRob3ZlciB7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGhvdmVyOyB9IH1cbiAgQGlmICRhY3RpdmUge1xuICAgICY6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkYWN0aXZlOyB9IH0gfVxuIiwiLy8gQSBsaW5rIHRoYXQgbG9va3MgYW5kIGFjdHMgbGlrZSB0aGUgdGV4dCBpdCBpcyBjb250YWluZWQgd2l0aGluXG5AbWl4aW4gdW5zdHlsZWQtbGluayB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIGN1cnNvcjogaW5oZXJpdDtcbiAgJjphY3RpdmUsICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH0gfVxuIiwiQGltcG9ydCBcImxpc3RzL2hvcml6b250YWwtbGlzdFwiO1xuQGltcG9ydCBcImxpc3RzL2lubGluZS1saXN0XCI7XG5AaW1wb3J0IFwibGlzdHMvaW5saW5lLWJsb2NrLWxpc3RcIjtcbkBpbXBvcnQgXCJsaXN0cy9idWxsZXRzXCI7XG4iLCIvLyBIb3Jpem9udGFsIGxpc3QgbGF5b3V0IG1vZHVsZS5cbi8vXG4vLyBFYXN5IG1vZGUgdXNpbmcgc2ltcGxlIGRlc2NlbmRhbnQgbGkgc2VsZWN0b3JzOlxuLy9cbi8vICAgdWwubmF2XG4vLyAgICAgK2hvcml6b250YWwtbGlzdFxuLy9cbi8vIEFkdmFuY2VkIG1vZGU6XG4vLyBJZiB5b3UgbmVlZCB0byB0YXJnZXQgdGhlIGxpc3QgaXRlbXMgdXNpbmcgYSBkaWZmZXJlbnQgc2VsZWN0b3IgdGhlbiB1c2Vcbi8vICtob3Jpem9udGFsLWxpc3QtY29udGFpbmVyIG9uIHlvdXIgdWwvb2wgYW5kICtob3Jpem9udGFsLWxpc3QtaXRlbSBvbiB5b3VyIGxpLlxuLy8gVGhpcyBtYXkgaGVscCB3aGVuIHdvcmtpbmcgb24gbGF5b3V0cyBpbnZvbHZpbmcgbmVzdGVkIGxpc3RzLiBGb3IgZXhhbXBsZTpcbi8vXG4vLyAgIHVsLm5hdlxuLy8gICAgICtob3Jpem9udGFsLWxpc3QtY29udGFpbmVyXG4vLyAgICAgPiBsaVxuLy8gICAgICAgK2hvcml6b250YWwtbGlzdC1pdGVtXG5cbkBpbXBvcnQgXCJidWxsZXRzXCI7XG5AaW1wb3J0IFwiLi4vLi4vdXRpbGl0aWVzL2dlbmVyYWwvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCIuLi8uLi91dGlsaXRpZXMvZ2VuZXJhbC9yZXNldFwiO1xuQGltcG9ydCBcIi4uLy4uL3V0aWxpdGllcy9nZW5lcmFsL2Zsb2F0XCI7XG5cbi8vIENhbiBiZSBtaXhlZCBpbnRvIGFueSBzZWxlY3RvciB0aGF0IHRhcmdldCBhIHVsIG9yIG9sIHRoYXQgaXMgbWVhbnRcbi8vIHRvIGhhdmUgYSBob3Jpem9udGFsIGxheW91dC4gVXNlZCB0byBpbXBsZW1lbnQgK2hvcml6b250YWwtbGlzdC5cbkBtaXhpbiBob3Jpem9udGFsLWxpc3QtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgcmVzZXQtYm94LW1vZGVsO1xuICBAaW5jbHVkZSBjbGVhcmZpeDsgfVxuXG4vLyBDYW4gYmUgbWl4ZWQgaW50byBhbnkgbGkgc2VsZWN0b3IgdGhhdCBpcyBtZWFudCB0byBwYXJ0aWNpcGF0ZSBpbiBhIGhvcml6b250YWwgbGF5b3V0LlxuLy8gVXNlZCB0byBpbXBsZW1lbnQgK2hvcml6b250YWwtbGlzdC5cbi8vXG4vLyA6bGFzdC1jaGlsZCBpcyBub3QgZnVsbHkgc3VwcG9ydGVkXG4vLyBzZWUgaHR0cDovL3d3dy5xdWlya3Ntb2RlLm9yZy9jc3MvY29udGVudHMuaHRtbCN0MjkgZm9yIHRoZSBzdXBwb3J0IG1hdHJpeFxuLy9cbi8vIElFOCBpZ25vcmVzIHJ1bGVzIHRoYXQgYXJlIGluY2x1ZGVkIG9uIHRoZSBzYW1lIGxpbmUgYXMgOmxhc3QtY2hpbGRcbi8vIHNlZSBodHRwOi8vd3d3LnJpY2hhcmRzY2Fycm90dC5jby51ay9wb3N0cy92aWV3L2llOC1sYXN0LWNoaWxkLWJ1ZyBmb3IgZGV0YWlsc1xuLy9cbi8vIFNldHRpbmcgYCRwYWRkaW5nYCB0byBgZmFsc2VgIGRpc2FibGVzIHRoZSBwYWRkaW5nIGJldHdlZW4gbGlzdCBlbGVtZW50c1xuQG1peGluIGhvcml6b250YWwtbGlzdC1pdGVtKCRwYWRkaW5nOiA0cHgsICRkaXJlY3Rpb246IGxlZnQpIHtcbiAgQGluY2x1ZGUgbm8tYnVsbGV0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBAaW5jbHVkZSBmbG9hdCgkZGlyZWN0aW9uKTtcbiAgQGlmICRwYWRkaW5nIHtcbiAgICBwYWRkaW5nOiB7XG4gICAgICBsZWZ0OiAkcGFkZGluZztcbiAgICAgIHJpZ2h0OiAkcGFkZGluZztcbiAgICB9XG4gICAgJjpmaXJzdC1jaGlsZCwgJi5maXJzdCB7IHBhZGRpbmctI3skZGlyZWN0aW9ufTogMDsgfVxuICAgICY6bGFzdC1jaGlsZCB7IHBhZGRpbmctI3tvcHBvc2l0ZS1wb3NpdGlvbigkZGlyZWN0aW9uKX06IDA7IH1cbiAgICAmLmxhc3QgeyBwYWRkaW5nLSN7b3Bwb3NpdGUtcG9zaXRpb24oJGRpcmVjdGlvbil9OiAwOyB9XG4gIH1cbn1cblxuLy8gQSBsaXN0KG9sLHVsKSB0aGF0IGlzIGxheWVkIG91dCBzdWNoIHRoYXQgdGhlIGVsZW1lbnRzIGFyZSBmbG9hdGVkIGxlZnQgYW5kIHdvbid0IHdyYXAuXG4vLyBUaGlzIGlzIG5vdCBhbiBpbmxpbmUgbGlzdC5cbi8vXG4vLyBTZXR0aW5nIGAkcGFkZGluZ2AgdG8gYGZhbHNlYCBkaXNhYmxlcyB0aGUgcGFkZGluZyBiZXR3ZWVuIGxpc3QgZWxlbWVudHNcbkBtaXhpbiBob3Jpem9udGFsLWxpc3QoJHBhZGRpbmc6IDRweCwgJGRpcmVjdGlvbjogbGVmdCkge1xuICBAaW5jbHVkZSBob3Jpem9udGFsLWxpc3QtY29udGFpbmVyO1xuICBsaSB7XG4gICAgQGluY2x1ZGUgaG9yaXpvbnRhbC1saXN0LWl0ZW0oJHBhZGRpbmcsICRkaXJlY3Rpb24pOyB9IH1cbiIsIi8vIFR1cm4gb2ZmIHRoZSBidWxsZXQgZm9yIGFuIGVsZW1lbnQgb2YgYSBsaXN0XG5AbWl4aW4gbm8tYnVsbGV0IHtcbiAgbGlzdC1zdHlsZS1pbWFnZSA6IG5vbmU7XG4gIGxpc3Qtc3R5bGUtdHlwZSAgOiBub25lO1xuICBtYXJnaW4tbGVmdCAgICAgIDogMDtcbn1cblxuLy8gdHVybnMgb2ZmIHRoZSBidWxsZXRzIGZvciBhbiBlbnRpcmUgbGlzdFxuQG1peGluIG5vLWJ1bGxldHMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBsaSB7IEBpbmNsdWRlIG5vLWJ1bGxldDsgfVxufVxuXG4vLyBNYWtlIGEgbGlzdCh1bC9vbCkgaGF2ZSBhbiBpbWFnZSBidWxsZXQuXG4vL1xuLy8gVGhlIG1peGluIHNob3VsZCBiZSB1c2VkIGxpa2UgdGhpcyBmb3IgYW4gaWNvbiB0aGF0IGlzIDV4Nzpcbi8vXG4vLyAgICAgdWwucHJldHR5XG4vLyAgICAgICArcHJldHR5LWJ1bGxldHMoXCJteS1pY29uLnBuZ1wiLCA1cHgsIDdweClcbi8vXG4vLyBBZGRpdGlvbmFsbHksIGlmIHRoZSBpbWFnZSBkaW1lbnNpb25zIGFyZSBub3QgcHJvdmlkZWQsXG4vLyBUaGUgaW1hZ2UgZGltZW5zaW9ucyB3aWxsIGJlIGV4dHJhY3RlZCBmcm9tIHRoZSBpbWFnZSBpdHNlbGYuXG4vL1xuLy8gICAgIHVsLnByZXR0eVxuLy8gICAgICAgK3ByZXR0eS1idWxsZXRzKFwibXktaWNvbi5wbmdcIilcbi8vXG5AbWl4aW4gcHJldHR5LWJ1bGxldHMoJGJ1bGxldC1pY29uLCAkd2lkdGg6IGltYWdlLXdpZHRoKCRidWxsZXQtaWNvbiksICRoZWlnaHQ6IGltYWdlLWhlaWdodCgkYnVsbGV0LWljb24pLCAkbGluZS1oZWlnaHQ6IDE4cHgsICRwYWRkaW5nOiAxNHB4KSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiBpbWFnZS11cmwoJGJ1bGxldC1pY29uKSBuby1yZXBlYXQgKCRwYWRkaW5nIC0gJHdpZHRoKSAvIDIgKCRsaW5lLWhlaWdodCAtICRoZWlnaHQpIC8gMjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIG1ha2VzIGEgbGlzdCBpbmxpbmUuXG5cbkBtaXhpbiBpbmxpbmUtbGlzdCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgJiwgJiBsaSB7XG4gICAgbWFyZ2luOiAwcHg7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgfVxufVxuXG4vLyBtYWtlcyBhbiBpbmxpbmUgbGlzdCBkZWxpbWl0ZWQgd2l0aCB0aGUgcGFzc2VkIHN0cmluZy5cbi8vIERlZmF1bHRzIHRvIG1ha2luZyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LlxuLy9cbi8vIFBsZWFzZSBtYWtlIG5vdGUgb2YgdGhlIGJyb3dzZXIgc3VwcG9ydCBpc3N1ZXMgYmVmb3JlIHVzaW5nIHRoaXMgbWl4aW46XG4vL1xuLy8gdXNlIG9mIGBjb250ZW50YCBhbmQgYDphZnRlcmAgaXMgbm90IGZ1bGx5IHN1cHBvcnRlZCBpbiBhbGwgYnJvd3NlcnMuXG4vLyBTZWUgcXVpcmtzbW9kZSBmb3IgdGhlIFtzdXBwb3J0IG1hdHJpeF0oaHR0cDovL3d3dy5xdWlya3Ntb2RlLm9yZy9jc3MvY29udGVudHMuaHRtbCN0MTUpXG4vL1xuLy8gYDpsYXN0LWNoaWxkYCBpcyBub3QgZnVsbHkgc3VwcG9ydGVkLlxuLy8gc2VlIHF1aXJrc21vZGUgZm9yIHRoZSBbc3VwcG9ydCBtYXRyaXhdKGh0dHA6Ly93d3cucXVpcmtzbW9kZS5vcmcvY3NzL2NvbnRlbnRzLmh0bWwjdDI5KS5cbi8vXG4vLyBJRTggaWdub3JlcyBydWxlcyB0aGF0IGFyZSBpbmNsdWRlZCBvbiB0aGUgc2FtZSBsaW5lIGFzIDpsYXN0LWNoaWxkXG4vLyBzZWUgaHR0cDovL3d3dy5yaWNoYXJkc2NhcnJvdHQuY28udWsvcG9zdHMvdmlldy9pZTgtbGFzdC1jaGlsZC1idWcgZm9yIGRldGFpbHNcblxuQG1peGluIGRlbGltaXRlZC1saXN0KCRzZXBhcmF0b3I6IFwiLCBcIikge1xuICBAaW5jbHVkZSBpbmxpbmUtbGlzdDtcbiAgbGkge1xuICAgICY6YWZ0ZXIgeyBjb250ZW50OiAkc2VwYXJhdG9yOyB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICY6YWZ0ZXIgeyBjb250ZW50OiBcIlwiOyB9XG4gICAgfVxuICAgICYubGFzdCB7XG4gICAgICAmOmFmdGVyIHsgY29udGVudDogXCJcIjsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBTZWUgW2RlbGltaXRlZC1saXN0XSgjbWl4aW4tZGVsaW1pdGVkLWxpc3QpXG4vLyBAZGVwcmVjYXRlZFxuQG1peGluIGNvbW1hLWRlbGltaXRlZC1saXN0IHtcbiAgQHdhcm4gXCJjb21tYS1kZWxpbWl0ZWQtbGlzdCBpcyBkZXByZWNhdGVkLiBQbGVhc2UgdXNlIGRlbGltaXRlZC1saXN0IGluc3RlYWQuXCI7XG4gIEBpbmNsdWRlIGRlbGltaXRlZC1saXN0O1xufVxuIiwiLy8gSW5saW5lLUJsb2NrIGxpc3QgbGF5b3V0IG1vZHVsZS5cbi8vXG4vLyBFYXN5IG1vZGUgdXNpbmcgc2ltcGxlIGRlc2NlbmRhbnQgbGkgc2VsZWN0b3JzOlxuLy9cbi8vICAgICB1bC5uYXYge1xuLy8gICAgICAgQGltcG9ydCBpbmxpbmUtYmxvY2stbGlzdDtcbi8vICAgICB9XG4vL1xuLy8gQWR2YW5jZWQgbW9kZTpcbi8vIElmIHlvdSBuZWVkIHRvIHRhcmdldCB0aGUgbGlzdCBpdGVtcyB1c2luZyBhIGRpZmZlcmVudCBzZWxlY3RvciB0aGVuIHVzZVxuLy8gYEBpbmNsdWRlIGlubGluZS1ibG9jay1saXN0LWNvbnRhaW5lcmAgb24geW91ciB1bC9vbCBhbmRcbi8vIGBAaW5jbHVkZSBpbmxpbmUtYmxvY2stbGlzdC1pdGVtYCBvbiB5b3VyIGxpLiBUaGlzIG1heSBoZWxwIHdoZW4gd29ya2luZ1xuLy8gb24gbGF5b3V0cyBpbnZvbHZpbmcgbmVzdGVkIGxpc3RzLiBGb3IgZXhhbXBsZTpcbi8vXG4vLyAgICAgdWwubmF2IHtcbi8vICAgICAgIEBpbmNsdWRlIGlubGluZS1ibG9jay1saXN0LWNvbnRhaW5lcjtcbi8vICAgICAgID4gbGkge1xuLy8gICAgICAgICBAaW5jbHVkZSBpbmxpbmUtYmxvY2stbGlzdC1pdGVtO1xuLy8gICAgICAgfVxuLy8gICAgIH1cblxuQGltcG9ydCBcImJ1bGxldHNcIjtcbkBpbXBvcnQgXCJob3Jpem9udGFsLWxpc3RcIjtcbkBpbXBvcnQgXCIuLi8uLi91dGlsaXRpZXMvZ2VuZXJhbC9mbG9hdFwiO1xuQGltcG9ydCBcIi4uLy4uL2NzczMvaW5saW5lLWJsb2NrXCI7XG5cbi8vIENhbiBiZSBtaXhlZCBpbnRvIGFueSBzZWxlY3RvciB0aGF0IHRhcmdldCBhIHVsIG9yIG9sIHRoYXQgaXMgbWVhbnRcbi8vIHRvIGhhdmUgYW4gaW5saW5lLWJsb2NrIGxheW91dC4gVXNlZCB0byBpbXBsZW1lbnQgYGlubGluZS1ibG9jay1saXN0YC5cbkBtaXhpbiBpbmxpbmUtYmxvY2stbGlzdC1jb250YWluZXIge1xuICBAaW5jbHVkZSBob3Jpem9udGFsLWxpc3QtY29udGFpbmVyOyB9XG5cbi8vIENhbiBiZSBtaXhlZCBpbnRvIGFueSBsaSBzZWxlY3RvciB0aGF0IGlzIG1lYW50IHRvIHBhcnRpY2lwYXRlIGluIGEgaG9yaXpvbnRhbCBsYXlvdXQuXG4vLyBVc2VkIHRvIGltcGxlbWVudCBgaW5saW5lLWJsb2NrLWxpc3RgLlxuQG1peGluIGlubGluZS1ibG9jay1saXN0LWl0ZW0oJHBhZGRpbmc6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIG5vLWJ1bGxldDtcbiAgQGluY2x1ZGUgaW5saW5lLWJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBAaWYgJHBhZGRpbmcge1xuICAgIHBhZGRpbmc6IHtcbiAgICAgIGxlZnQ6ICRwYWRkaW5nO1xuICAgICAgcmlnaHQ6ICRwYWRkaW5nO1xuICAgIH07XG4gIH1cbn1cblxuLy8gQSBsaXN0KG9sLHVsKSB0aGF0IGlzIGxheWVkIG91dCBzdWNoIHRoYXQgdGhlIGVsZW1lbnRzIGFyZSBpbmxpbmUtYmxvY2sgYW5kIHdvbid0IHdyYXAuXG5AbWl4aW4gaW5saW5lLWJsb2NrLWxpc3QoJHBhZGRpbmc6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIGlubGluZS1ibG9jay1saXN0LWNvbnRhaW5lcjtcbiAgbGkge1xuICAgIEBpbmNsdWRlIGlubGluZS1ibG9jay1saXN0LWl0ZW0oJHBhZGRpbmcpOyB9IH1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gU2V0IGAkaW5saW5lLWJsb2NrLWFsaWdubWVudGAgdG8gYG5vbmVgIG9yIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGUgb3V0cHV0XG4vLyBvZiBhIHZlcnRpY2FsLWFsaWduIHByb3BlcnR5IGluIHRoZSBpbmxpbmUtYmxvY2sgbWl4aW4uXG4vLyBPciBzZXQgaXQgdG8gYSBsZWdhbCB2YWx1ZSBmb3IgYHZlcnRpY2FsLWFsaWduYCB0byBjaGFuZ2UgdGhlIGRlZmF1bHQuXG4kaW5saW5lLWJsb2NrLWFsaWdubWVudDogbWlkZGxlICFkZWZhdWx0O1xuXG4vLyBQcm92aWRlcyBhIGNyb3NzLWJyb3dzZXIgbWV0aG9kIHRvIGltcGxlbWVudCBgZGlzcGxheTogaW5saW5lLWJsb2NrO2BcbkBtaXhpbiBpbmxpbmUtYmxvY2soJGFsaWdubWVudDogJGlubGluZS1ibG9jay1hbGlnbm1lbnQpIHtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItbW96aWxsYSB7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gIH1cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBAaWYgJGFsaWdubWVudCBhbmQgJGFsaWdubWVudCAhPSBub25lIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogJGFsaWdubWVudDtcbiAgfVxuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSB7XG4gICAgKnZlcnRpY2FsLWFsaWduOiBhdXRvO1xuICAgIHpvb206IDE7XG4gICAgKmRpc3BsYXk6IGlubGluZTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL3N1cHBvcnRcIjtcblxuLy8gVGhpcyBtaXhpbiBwcm92aWRlcyBiYXNpYyBzdXBwb3J0IGZvciBDU1MzIHByb3BlcnRpZXMgYW5kXG4vLyB0aGVpciBjb3JyZXNwb25kaW5nIGV4cGVyaW1lbnRhbCBDU1MyIHByb3BlcnRpZXMgd2hlblxuLy8gdGhlIGltcGxlbWVudGF0aW9ucyBhcmUgaWRlbnRpY2FsIGV4Y2VwdCBmb3IgdGhlIHByb3BlcnR5XG4vLyBwcmVmaXguXG5AbWl4aW4gZXhwZXJpbWVudGFsKCRwcm9wZXJ0eSwgJHZhbHVlLFxuICAkbW96ICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEsXG4gICR3ZWJraXQgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0LFxuICAkbyAgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhLFxuICAkbXMgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCxcbiAgJGtodG1sICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCxcbiAgJG9mZmljaWFsIDogdHJ1ZVxuKSB7XG4gIEBpZiAkd2Via2l0ICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgeyAtd2Via2l0LSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJGtodG1sICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Ita2h0bWwgICAgIHsgIC1raHRtbC0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRtb3ogICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICB7ICAgIC1tb3otI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG4gIEBpZiAkbXMgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQgeyAgICAgLW1zLSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJG8gICAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgIHsgICAgICAtby0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRvZmZpY2lhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICAgICAgICAgI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG59XG5cbi8vIFNhbWUgYXMgZXhwZXJpbWVudGFsKCksIGJ1dCBmb3IgY2FzZXMgd2hlbiB0aGUgcHJvcGVydHkgaXMgdGhlIHNhbWUgYW5kIHRoZSB2YWx1ZSBpcyB2ZW5kb3JpemVkXG5AbWl4aW4gZXhwZXJpbWVudGFsLXZhbHVlKCRwcm9wZXJ0eSwgJHZhbHVlLFxuICAkbW96ICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEsXG4gICR3ZWJraXQgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0LFxuICAkbyAgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhLFxuICAkbXMgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCxcbiAgJGtodG1sICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCxcbiAgJG9mZmljaWFsIDogdHJ1ZVxuKSB7XG4gIEBpZiAkd2Via2l0ICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgeyAjeyRwcm9wZXJ0eX0gOiAtd2Via2l0LSN7JHZhbHVlfTsgfVxuICBAaWYgJGtodG1sICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Ita2h0bWwgICAgIHsgI3skcHJvcGVydHl9IDogIC1raHRtbC0jeyR2YWx1ZX07IH1cbiAgQGlmICRtb3ogICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICB7ICN7JHByb3BlcnR5fSA6ICAgIC1tb3otI3skdmFsdWV9OyB9XG4gIEBpZiAkbXMgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQgeyAjeyRwcm9wZXJ0eX0gOiAgICAgLW1zLSN7JHZhbHVlfTsgfVxuICBAaWYgJG8gICAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgIHsgI3skcHJvcGVydHl9IDogICAgICAtby0jeyR2YWx1ZX07IH1cbiAgQGlmICRvZmZpY2lhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICN7JHByb3BlcnR5fSA6ICAgICAgICAgI3skdmFsdWV9OyB9XG59XG4iLCJAaW1wb3J0IFwidGV4dC9lbGxpcHNpc1wiO1xuQGltcG9ydCBcInRleHQvbm93cmFwXCI7XG5AaW1wb3J0IFwidGV4dC9yZXBsYWNlbWVudFwiO1xuQGltcG9ydCBcInRleHQvZm9yY2Utd3JhcFwiO1xuIiwiQGltcG9ydCBcIi4uLy4uL2NzczMvc2hhcmVkXCI7XG5cbi8vIFRvIGdldCBmdWxsIGZpcmVmb3ggc3VwcG9ydCwgeW91IG11c3QgaW5zdGFsbCB0aGUgZWxsaXBzaXMgcGF0dGVybjpcbi8vXG4vLyAgICAgY29tcGFzcyBpbnN0YWxsIGNvbXBhc3MvZWxsaXBzaXNcbiR1c2UtbW96aWxsYS1lbGxpcHNpcy1iaW5kaW5nOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVGhpcyB0ZWNobmlxdWUsIGJ5IFtKdXN0aW4gTWF4d2VsbF0oaHR0cDovL2NvZGU0MDQuY29tLyksIHdhcyBvcmlnaW5hbGx5XG4vLyBwdWJsaXNoZWQgW2hlcmVdKGh0dHA6Ly9tYXR0c25pZGVyLmNvbS9jc3MvY3NzLXN0cmluZy10cnVuY2F0aW9uLXdpdGgtZWxsaXBzaXMvKS5cbi8vIEZpcmVmb3ggaW1wbGVtZW50YXRpb24gYnkgW1Jpa2tlcnQgS29wcGVzXShodHRwOi8vd3d3LnJpa2tlcnRrb3BwZXMuY29tL3Rob3VnaHRzLzIwMDgvNi8pLlxuQG1peGluIGVsbGlwc2lzKCRuby13cmFwOiB0cnVlKSB7XG4gIEBpZiAkbm8td3JhcCB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRleHQtb3ZlcmZsb3csIGVsbGlwc2lzLFxuICAgIG5vdCgtbW96KSxcbiAgICBub3QoLXdlYmtpdCksXG4gICAgLW8sXG4gICAgLW1zLFxuICAgIG5vdCgta2h0bWwpLFxuICAgIG9mZmljaWFsXG4gICk7XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgYW5kICR1c2UtbW96aWxsYS1lbGxpcHNpcy1iaW5kaW5nIHtcbiAgICAtbW96LWJpbmRpbmc6IHN0eWxlc2hlZXQtdXJsKHVucXVvdGUoXCJ4bWwvZWxsaXBzaXMueG1sI2VsbGlwc2lzXCIpKTtcbiAgfVxufVxuIiwiLy8gV2hlbiByZW1lbWJlcmluZyB3aGV0aGVyIG9yIG5vdCB0aGVyZSdzIGEgaHlwaGVuIGluIHdoaXRlLXNwYWNlIGlzIHRvbyBoYXJkXG5AbWl4aW4gbm93cmFwIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuIiwiLy8gSW5kaWNhdGVzIHRoZSBkaXJlY3Rpb24geW91IHByZWZlciB0byBtb3ZlIHlvdXIgdGV4dFxuLy8gd2hlbiBoaWRpbmcgaXQuXG4vL1xuLy8gYGxlZnRgIGlzIG1vcmUgcm9idXN0LCBlc3BlY2lhbGx5IGluIG9sZGVyIGJyb3dzZXJzLlxuLy8gYHJpZ2h0YCBzZWVtcyBoYXZlIGJldHRlciBydW50aW1lIHBlcmZvcm1hbmNlLlxuJGhpZGUtdGV4dC1kaXJlY3Rpb246IGxlZnQgIWRlZmF1bHQ7XG5cbi8vIEhpZGVzIGh0bWwgdGV4dCBhbmQgcmVwbGFjZXMgaXQgd2l0aCBhbiBpbWFnZS5cbi8vIElmIHlvdSB1c2UgdGhpcyBvbiBhbiBpbmxpbmUgZWxlbWVudCwgeW91IHdpbGwgbmVlZCB0byBjaGFuZ2UgdGhlIGRpc3BsYXkgdG8gYmxvY2sgb3IgaW5saW5lLWJsb2NrLlxuLy8gQWxzbywgaWYgdGhlIHNpemUgb2YgdGhlIGltYWdlIGRpZmZlcnMgc2lnbmlmaWNhbnRseSBmcm9tIHRoZSBmb250IHNpemUsIHlvdSdsbCBuZWVkIHRvIHNldCB0aGUgd2lkdGggYW5kL29yIGhlaWdodC5cbi8vXG4vLyBQYXJhbWV0ZXJzOlxuLy9cbi8vICogYGltZ2AgLS0gdGhlIHJlbGF0aXZlIHBhdGggZnJvbSB0aGUgcHJvamVjdCBpbWFnZSBkaXJlY3RvcnkgdG8gdGhlIGltYWdlLCBvciBhIHVybCBsaXRlcmFsLlxuLy8gKiBgeGAgLS0gdGhlIHggcG9zaXRpb24gb2YgdGhlIGJhY2tncm91bmQgaW1hZ2UuXG4vLyAqIGB5YCAtLSB0aGUgeSBwb3NpdGlvbiBvZiB0aGUgYmFja2dyb3VuZCBpbWFnZS5cbkBtaXhpbiByZXBsYWNlLXRleHQoJGltZywgJHg6IDUwJSwgJHk6IDUwJSkge1xuICBAaW5jbHVkZSBoaWRlLXRleHQ7XG4gIGJhY2tncm91bmQ6IHtcbiAgICBAaWYgaXMtdXJsKCRpbWcpIHtcbiAgICAgIGltYWdlOiB1cmwoJGltZyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBpbWFnZTogaW1hZ2UtdXJsKCRpbWcpO1xuICAgIH1cbiAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBwb3NpdGlvbjogJHggJHk7XG4gIH07XG59XG5cbi8vIExpa2UgdGhlIGByZXBsYWNlLXRleHRgIG1peGluLCBidXQgYWxzbyBzZXRzIHRoZSB3aWR0aFxuLy8gYW5kIGhlaWdodCBvZiB0aGUgZWxlbWVudCBhY2NvcmRpbmcgdGhlIGRpbWVuc2lvbnMgb2YgdGhlIGltYWdlLlxuLy9cbi8vIElmIHlvdSBzZXQgYCRpbmxpbmVgIHRvIHRydWUsIHRoZW4gYW4gaW5saW5lIGltYWdlIChkYXRhIHVyaSkgd2lsbCBiZSB1c2VkLlxuQG1peGluIHJlcGxhY2UtdGV4dC13aXRoLWRpbWVuc2lvbnMoJGltZywgJHg6IDUwJSwgJHk6IDUwJSwgJGlubGluZTogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmVwbGFjZS10ZXh0KGlmKCRpbmxpbmUsIGlubGluZS1pbWFnZSgkaW1nKSwgJGltZyksICR4LCAkeSk7XG4gIHdpZHRoOiBpbWFnZS13aWR0aCgkaW1nKTtcbiAgaGVpZ2h0OiBpbWFnZS1oZWlnaHQoJGltZyk7XG59XG5cbi8vIEhpZGVzIHRleHQgaW4gYW4gZWxlbWVudCBzbyB5b3UgY2FuIHNlZSB0aGUgYmFja2dyb3VuZC5cbi8vXG4vLyBUaGUgZGlyZWN0aW9uIGluZGljYXRlcyBob3cgdGhlIHRleHQgc2hvdWxkIGJlIG1vdmVkIG91dCBvZiB2aWV3LlxuLy9cbi8vIFNlZSBgJGhpZGUtdGV4dC1kaXJlY3Rpb25gIGZvciBtb3JlIGluZm9ybWF0aW9uIGFuZCB0byBzZXQgdGhpcyBnbG9iYWxseVxuLy8gZm9yIHlvdXIgYXBwbGljYXRpb24uXG5AbWl4aW4gaGlkZS10ZXh0KCRkaXJlY3Rpb246ICRoaWRlLXRleHQtZGlyZWN0aW9uKSB7XG4gIEBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICRhcHByb3hpbWF0ZS1lbS12YWx1ZTogMTJweDtcbiAgICAkd2lkZXItdGhhbi1hbnktc2NyZWVuOiAtOTk5OTtcbiAgICB0ZXh0LWluZGVudDogJHdpZGVyLXRoYW4tYW55LXNjcmVlbiAqICRhcHByb3hpbWF0ZS1lbS12YWx1ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH0gQGVsc2Uge1xuICAgIC8vIHNsaWdodGx5IHdpZGVyIHRoYW4gdGhlIGJveCBwcmV2ZW50cyBpc3N1ZXMgd2l0aCBpbmxpbmUtYmxvY2sgZWxlbWVudHNcbiAgICB0ZXh0LWluZGVudDogMTEwJTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuLy8gSGlkZXMgdGV4dCBpbiBhbiBlbGVtZW50IGJ5IHNxdWlzaGluZyB0aGUgdGV4dCBpbnRvIG9ibGl2aW9uLlxuLy8gVXNlIHRoaXMgaWYgeW91IG5lZWQgdG8gaGlkZSB0ZXh0IGNvbnRhaW5lZCBpbiBhbiBpbmxpbmUgZWxlbWVudFxuLy8gYnV0IHN0aWxsIGhhdmUgaXQgcmVhZCBieSBhIHNjcmVlbiByZWFkZXIuXG5AbWl4aW4gc3F1aXNoLXRleHQge1xuICBmb250OiAwLzAgc2VyaWY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4iLCIvLyBQcmV2ZW50IGxvbmcgdXJscyBhbmQgdGV4dCBmcm9tIGJyZWFraW5nIGxheW91dHNcbi8vIFtvcmlnaW5hbGx5IGZyb20gcGVyaXNoYWJsZXByZXNzLmNvbV0oaHR0cDovL3BlcmlzaGFibGVwcmVzcy5jb20vcHJlc3MvMjAxMC8wNi8wMS93cmFwcGluZy1jb250ZW50LylcbkBtaXhpbiBmb3JjZS13cmFwIHtcbiAgd2hpdGUtc3BhY2U6IHByZTsgICAgICAgICAgIC8vIENTUyAyLjBcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwOyAgICAgIC8vIENTUyAyLjFcbiAgd2hpdGUtc3BhY2U6IHByZS1saW5lOyAgICAgIC8vIENTUyAzLjBcbiAgd2hpdGUtc3BhY2U6IC1wcmUtd3JhcDsgICAgIC8vIE9wZXJhIDQtNlxuICB3aGl0ZS1zcGFjZTogLW8tcHJlLXdyYXA7ICAgLy8gT3BlcmEgN1xuICB3aGl0ZS1zcGFjZTogLW1vei1wcmUtd3JhcDsgLy8gTW96aWxsYVxuICB3aGl0ZS1zcGFjZTogLWhwLXByZS13cmFwOyAgLy8gSFAgUHJpbnRlcnNcbiAgd29yZC13cmFwOiBicmVhay13b3JkOyAgICAgIC8vIElFIDUrXG59XG4iLCJAaW1wb3J0IFwidHlwb2dyYXBoeS9saW5rc1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHkvbGlzdHNcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5L3RleHRcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5L3ZlcnRpY2FsX3JoeXRobVwiO1xuIiwiQGltcG9ydCBcIi4uL2xheW91dC9ncmlkLWJhY2tncm91bmRcIjtcblxuLy8gVGhlIGJhc2UgZm9udCBzaXplLlxuJGJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgYmFzZSBsaW5lIGhlaWdodCBkZXRlcm1pbmVzIHRoZSBiYXNpYyB1bml0IG9mIHZlcnRpY2FsIHJoeXRobS5cbiRiYXNlLWxpbmUtaGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xuXG4vLyBTZXQgdGhlIGRlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciByaHl0aG0gYm9yZGVycy5cbiRkZWZhdWx0LXJoeXRobS1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuJGJyb3dzZXItZGVmYXVsdC1mb250LXNpemU6IDE2cHg7XG5cbi8vIFNldCB0byBmYWxzZSBpZiB5b3Ugd2FudCB0byB1c2UgYWJzb2x1dGUgcGl4ZWxzIGluIHNpemluZyB5b3VyIHR5cG9ncmFwaHkuXG4kcmVsYXRpdmUtZm9udC1zaXppbmc6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyB0aGUgYGFkanVzdC1mb250LXNpemUtdG9gIG1peGluIGFuZCB0aGUgYGxpbmVzLWZvci1mb250LXNpemVgIGZ1bmN0aW9uXG4vLyB0byByb3VuZCB0aGUgbGluZSBoZWlnaHQgdG8gdGhlIG5lYXJlc3QgaGFsZiBsaW5lIGhlaWdodCBpbnN0ZWFkIG9mIHRoZVxuLy8gbmVhcmVzdCBpbnRlZ3JhbCBsaW5lIGhlaWdodCB0byBhdm9pZCBsYXJnZSBzcGFjaW5nIGJldHdlZW4gbGluZXMuXG4kcm91bmQtdG8tbmVhcmVzdC1oYWxmLWxpbmU6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBFbnN1cmUgdGhlcmUgaXMgYXQgbGVhc3QgdGhpcyBtYW55IHBpeGVsc1xuLy8gb2YgdmVydGljYWwgcGFkZGluZyBhYm92ZSBhbmQgYmVsb3cgdGhlIHRleHQuXG4kbWluLWxpbmUtcGFkZGluZzogMnB4ICFkZWZhdWx0O1xuXG4vLyAkYmFzZS1mb250LXNpemUgYnV0IGluIHlvdXIgb3V0cHV0IHVuaXQgb2YgY2hvaWNlLlxuLy8gRGVmYXVsdHMgdG8gMWVtIHdoZW4gYCRyZWxhdGl2ZS1mb250LXNpemluZ2AgaXMgdHJ1ZS5cbiRmb250LXVuaXQ6IGlmKCRyZWxhdGl2ZS1mb250LXNpemluZywgMWVtLCAkYmFzZS1mb250LXNpemUpICFkZWZhdWx0O1xuXG4vLyBUaGUgYmFzaWMgdW5pdCBvZiBmb250IHJoeXRobS5cbiRiYXNlLXJoeXRobS11bml0OiAkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSAqICRmb250LXVuaXQ7XG5cbi8vIFRoZSBsZWFkZXIgaXMgdGhlIGFtb3VudCBvZiB3aGl0ZXNwYWNlIGluIGEgbGluZS5cbi8vIEl0IG1pZ2h0IGJlIHVzZWZ1bCBpbiB5b3VyIGNhbGN1bGF0aW9ucy5cbiRiYXNlLWxlYWRlcjogKCRiYXNlLWxpbmUtaGVpZ2h0IC0gJGJhc2UtZm9udC1zaXplKSAqICRmb250LXVuaXQgLyAkYmFzZS1mb250LXNpemU7XG5cbi8vIFRoZSBoYWxmLWxlYWRlciBpcyB0aGUgYW1vdW50IG9mIHdoaXRlc3BhY2UgYWJvdmUgYW5kIGJlbG93IGEgbGluZS5cbi8vIEl0IG1pZ2h0IGJlIHVzZWZ1bCBpbiB5b3VyIGNhbGN1bGF0aW9ucy5cbiRiYXNlLWhhbGYtbGVhZGVyOiAkYmFzZS1sZWFkZXIgLyAyO1xuXG4vLyBUcnVlIGlmIGEgbnVtYmVyIGhhcyBhIHJlbGF0aXZlIHVuaXQuXG5AZnVuY3Rpb24gcmVsYXRpdmUtdW5pdCgkbnVtYmVyKSB7XG4gIEByZXR1cm4gdW5pdCgkbnVtYmVyKSA9PSBcIiVcIiBvciB1bml0KCRudW1iZXIpID09IFwiZW1cIiBvciB1bml0KCRudW1iZXIpID09IFwicmVtXCJcbn1cblxuLy8gVHJ1ZSBpZiBhIG51bWJlciBoYXMgYW4gYWJzb2x1dGUgdW5pdC5cbkBmdW5jdGlvbiBhYnNvbHV0ZS11bml0KCRudW1iZXIpIHtcbiAgQHJldHVybiBub3QocmVsYXRpdmUtdW5pdCgkbnVtYmVyKSBvciB1bml0bGVzcygkbnVtYmVyKSk7XG59XG5cbkBpZiAkcmVsYXRpdmUtZm9udC1zaXppbmcgYW5kIG5vdChyZWxhdGl2ZS11bml0KCRmb250LXVuaXQpKSB7XG4gIEB3YXJuIFwiJHJlbGF0aXZlLWZvbnQtc2l6aW5nIGlzIHRydWUgYnV0ICRmb250LXVuaXQgaXMgc2V0IHRvICN7JGZvbnQtdW5pdH0gd2hpY2ggaXMgbm90IGEgcmVsYXRpdmUgdW5pdC5cIjtcbn1cblxuLy8gRXN0YWJsaXNoZXMgYSBmb250IGJhc2VsaW5lIGZvciB0aGUgZ2l2ZW4gZm9udC1zaXplLlxuQG1peGluIGVzdGFibGlzaC1iYXNlbGluZSgkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgLy8gSUUgNiByZWZ1c2VzIHRvIHJlc2l6ZSBmb250cyBzZXQgaW4gcGl4ZWxzIGFuZCBpdCB3ZWlyZGx5IHJlc2l6ZXMgZm9udHNcbiAgLy8gd2hvc2Ugcm9vdCBpcyBzZXQgaW4gZW1zLiBTbyB3ZSBzZXQgdGhlIHJvb3QgZm9udCBzaXplIGluIHBlcmNlbnRhZ2VzIG9mXG4gIC8vIHRoZSBkZWZhdWx0IGZvbnQgc2l6ZS5cbiAgKiBodG1sIHtcbiAgICBmb250LXNpemU6IDEwMCUgKiAoJGZvbnQtc2l6ZSAvICRicm93c2VyLWRlZmF1bHQtZm9udC1zaXplKTtcbiAgfVxuICBodG1sIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgQGluY2x1ZGUgYWRqdXN0LWxlYWRpbmctdG8oMSwgaWYoJHJlbGF0aXZlLWZvbnQtc2l6aW5nLCAkZm9udC1zaXplLCAkYmFzZS1mb250LXNpemUpKTtcbiAgfVxufVxuXG4vLyBSZXNldHMgdGhlIGxpbmUtaGVpZ2h0IHRvIDEgdmVydGljYWwgcmh5dGhtIHVuaXQuXG4vLyBEb2VzIG5vdCB3b3JrIG9uIGVsZW1lbnRzIHdob3NlIGZvbnQtc2l6ZSBpcyBkaWZmZXJlbnQgZnJvbSAkYmFzZS1mb250LXNpemUuXG4vL1xuLy8gQGRlcHJlY2F0ZWQgVGhpcyBtaXhpbiB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgcmVsZWFzZS5cbi8vIFBsZWFzZSB1c2UgdGhlIGBhZGp1c3QtbGVhZGluZy10b2AgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiByZXNldC1iYXNlbGluZSB7XG4gIEBpbmNsdWRlIGFkanVzdC1sZWFkaW5nLXRvKDEsIGlmKCRyZWxhdGl2ZS1mb250LXNpemluZywgJGJhc2UtZm9udC1zaXplLCAkYmFzZS1mb250LXNpemUpKTtcbn1cblxuLy8gU2hvdyBhIGJhY2tncm91bmQgaW1hZ2UgdGhhdCBjYW4gYmUgdXNlZCB0byBkZWJ1ZyB5b3VyIGFsaWdubWVudHMuXG4vLyBJbmNsdWRlIHRoZSAkaW1nIGFyZ3VtZW50IGlmIHlvdSB3b3VsZCByYXRoZXIgdXNlIHlvdXIgb3duIGltYWdlIHRoYW4gdGhlXG4vLyBDb21wYXNzIGRlZmF1bHQgZ3JhZGllbnQgaW1hZ2UuXG5AbWl4aW4gZGVidWctdmVydGljYWwtYWxpZ25tZW50KCRpbWc6IGZhbHNlKSB7XG4gIEBpZiAkaW1nIHtcbiAgICBiYWNrZ3JvdW5kOiBpbWFnZS11cmwoJGltZyk7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGJhc2VsaW5lLWdyaWQtYmFja2dyb3VuZCgkYmFzZS1yaHl0aG0tdW5pdCk7XG4gIH1cbn1cblxuLy8gQWRqdXN0IGEgYmxvY2sgdG8gaGF2ZSBhIGRpZmZlcmVudCBmb250IHNpemUgYW5kIGxpbmUgaGVpZ2h0IHRvIG1haW50YWluIHRoZVxuLy8gcmh5dGhtLiAkbGluZXMgc3BlY2lmaWVzIGhvdyBtYW55IG11bHRpcGxlcyBvZiB0aGUgYmFzZWxpbmUgcmh5dGhtIGVhY2ggbGluZVxuLy8gb2YgdGhpcyBmb250IHNob3VsZCB1c2UgdXAuIEl0IGRvZXMgbm90IGhhdmUgdG8gYmUgYW4gaW50ZWdlciwgYnV0IGl0XG4vLyBkZWZhdWx0cyB0byB0aGUgc21hbGxlc3QgaW50ZWdlciB0aGF0IGlzIGxhcmdlIGVub3VnaCB0byBmaXQgdGhlIGZvbnQuXG4vLyBVc2UgJGZyb20tc2l6ZSB0byBhZGp1c3QgZnJvbSBhIGZvbnQtc2l6ZSBvdGhlciB0aGFuIHRoZSBiYXNlIGZvbnQtc2l6ZS5cbkBtaXhpbiBhZGp1c3QtZm9udC1zaXplLXRvKCR0by1zaXplLCAkbGluZXM6IGxpbmVzLWZvci1mb250LXNpemUoJHRvLXNpemUpLCAkZnJvbS1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIG5vdCgkcmVsYXRpdmUtZm9udC1zaXppbmcpIGFuZCAkZnJvbS1zaXplICE9ICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgQHdhcm4gXCIkcmVsYXRpdmUtZm9udC1zaXppbmcgaXMgZmFsc2UgYnV0IGEgcmVsYXRpdmUgZm9udCBzaXplIHdhcyBwYXNzZWQgdG8gYWRqdXN0LWZvbnQtc2l6ZS10b1wiO1xuICB9XG4gIGZvbnQtc2l6ZTogJGZvbnQtdW5pdCAqICR0by1zaXplIC8gJGZyb20tc2l6ZTtcbiAgQGluY2x1ZGUgYWRqdXN0LWxlYWRpbmctdG8oJGxpbmVzLCBpZigkcmVsYXRpdmUtZm9udC1zaXppbmcsICR0by1zaXplLCAkYmFzZS1mb250LXNpemUpKTtcbn1cblxuLy8gQWRqdXN0IGEgYmxvY2sgdG8gaGF2ZSBkaWZmZXJlbnQgbGluZSBoZWlnaHQgdG8gbWFpbnRhaW4gdGhlIHJoeXRobS5cbi8vICRsaW5lcyBzcGVjaWZpZXMgaG93IG1hbnkgbXVsdGlwbGVzIG9mIHRoZSBiYXNlbGluZSByaHl0aG0gZWFjaCBsaW5lIG9mIHRoaXNcbi8vIGZvbnQgc2hvdWxkIHVzZSB1cC4gSXQgZG9lcyBub3QgaGF2ZSB0byBiZSBhbiBpbnRlZ2VyLCBidXQgaXQgZGVmYXVsdHMgdG8gdGhlXG4vLyBzbWFsbGVzdCBpbnRlZ2VyIHRoYXQgaXMgbGFyZ2UgZW5vdWdoIHRvIGZpdCB0aGUgZm9udC5cbkBtaXhpbiBhZGp1c3QtbGVhZGluZy10bygkbGluZXMsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBsaW5lLWhlaWdodDogcmh5dGhtKCRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG5cbi8vIENhbGN1bGF0ZSByaHl0aG0gdW5pdHMuXG5AZnVuY3Rpb24gcmh5dGhtKFxuICAkbGluZXM6IDEsXG4gICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSxcbiAgJG9mZnNldDogMFxuKSB7XG4gIEBpZiBub3QoJHJlbGF0aXZlLWZvbnQtc2l6aW5nKSBhbmQgJGZvbnQtc2l6ZSAhPSAkYmFzZS1mb250LXNpemUge1xuICAgIEB3YXJuIFwiJHJlbGF0aXZlLWZvbnQtc2l6aW5nIGlzIGZhbHNlIGJ1dCBhIHJlbGF0aXZlIGZvbnQgc2l6ZSB3YXMgcGFzc2VkIHRvIHRoZSByaHl0aG0gZnVuY3Rpb25cIjtcbiAgfVxuICAkcmh5dGhtOiAkZm9udC11bml0ICogKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJG9mZnNldCkgLyAkZm9udC1zaXplO1xuICAvLyBSb3VuZCB0aGUgcGl4ZWxzIGRvd24gdG8gbmVhcmVzdCBpbnRlZ2VyLlxuICBAaWYgdW5pdCgkcmh5dGhtKSA9PSBweCB7XG4gICAgJHJoeXRobTogZmxvb3IoJHJoeXRobSk7XG4gIH1cbiAgQHJldHVybiAkcmh5dGhtO1xufVxuXG4vLyBDYWxjdWxhdGUgdGhlIG1pbmltdW0gbXVsdGlwbGUgb2Ygcmh5dGhtIHVuaXRzIG5lZWRlZCB0byBjb250YWluIHRoZSBmb250LXNpemUuXG5AZnVuY3Rpb24gbGluZXMtZm9yLWZvbnQtc2l6ZSgkZm9udC1zaXplKSB7XG4gICRsaW5lczogaWYoJHJvdW5kLXRvLW5lYXJlc3QtaGFsZi1saW5lLFxuICAgICAgICAgICAgICBjZWlsKDIgKiAkZm9udC1zaXplIC8gJGJhc2UtbGluZS1oZWlnaHQpIC8gMixcbiAgICAgICAgICAgICAgY2VpbCgkZm9udC1zaXplIC8gJGJhc2UtbGluZS1oZWlnaHQpKTtcbiAgQGlmICRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJGZvbnQtc2l6ZSA8ICRtaW4tbGluZS1wYWRkaW5nICogMiB7XG4gICAgJGxpbmVzOiAkbGluZXMgKyBpZigkcm91bmQtdG8tbmVhcmVzdC1oYWxmLWxpbmUsIDAuNSwgMSk7XG4gIH1cbiAgQHJldHVybiAkbGluZXM7XG59XG5cbi8vIEFwcGx5IGxlYWRpbmcgd2hpdGVzcGFjZS4gVGhlICRwcm9wZXJ0eSBjYW4gYmUgbWFyZ2luIG9yIHBhZGRpbmcuXG5AbWl4aW4gbGVhZGVyKCRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLCAkcHJvcGVydHk6IG1hcmdpbikge1xuICAjeyRwcm9wZXJ0eX0tdG9wOiByaHl0aG0oJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cblxuLy8gQXBwbHkgbGVhZGluZyB3aGl0ZXNwYWNlIGFzIHBhZGRpbmcuXG5AbWl4aW4gcGFkZGluZy1sZWFkZXIoJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgcGFkZGluZy10b3A6IHJoeXRobSgkbGluZXMsICRmb250LXNpemUpO1xufVxuXG4vLyBBcHBseSBsZWFkaW5nIHdoaXRlc3BhY2UgYXMgbWFyZ2luLlxuQG1peGluIG1hcmdpbi1sZWFkZXIoJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgbWFyZ2luLXRvcDogcmh5dGhtKCRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG5cbi8vIEFwcGx5IHRyYWlsaW5nIHdoaXRlc3BhY2UuIFRoZSAkcHJvcGVydHkgY2FuIGJlIG1hcmdpbiBvciBwYWRkaW5nLlxuQG1peGluIHRyYWlsZXIoJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUsICRwcm9wZXJ0eTogbWFyZ2luKSB7XG4gICN7JHByb3BlcnR5fS1ib3R0b206IHJoeXRobSgkbGluZXMsICRmb250LXNpemUpO1xufVxuXG4vLyBBcHBseSB0cmFpbGluZyB3aGl0ZXNwYWNlIGFzIHBhZGRpbmcuXG5AbWl4aW4gcGFkZGluZy10cmFpbGVyKCRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplKSB7XG4gIHBhZGRpbmctYm90dG9tOiByaHl0aG0oJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cblxuLy8gQXBwbHkgdHJhaWxpbmcgd2hpdGVzcGFjZSBhcyBtYXJnaW4uXG5AbWl4aW4gbWFyZ2luLXRyYWlsZXIoJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKCRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG5cbi8vIFNob3J0aGFuZCBtaXhpbiB0byBhcHBseSB3aGl0ZXNwYWNlIGZvciB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zIGFuZCBwYWRkaW5nLlxuQG1peGluIHJoeXRobSgkbGVhZGVyOiAwLCAkcGFkZGluZy1sZWFkZXI6IDAsICRwYWRkaW5nLXRyYWlsZXI6IDAsICR0cmFpbGVyOiAwLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbGVhZGVyKCRsZWFkZXIsICRmb250LXNpemUpO1xuICBAaW5jbHVkZSBwYWRkaW5nLWxlYWRlcigkcGFkZGluZy1sZWFkZXIsICRmb250LXNpemUpO1xuICBAaW5jbHVkZSBwYWRkaW5nLXRyYWlsZXIoJHBhZGRpbmctdHJhaWxlciwgJGZvbnQtc2l6ZSk7XG4gIEBpbmNsdWRlIHRyYWlsZXIoJHRyYWlsZXIsICRmb250LXNpemUpO1xufVxuXG4vLyBBcHBseSBhIGJvcmRlciBhbmQgd2hpdGVzcGFjZSB0byBhbnkgc2lkZSB3aXRob3V0IGRlc3Ryb3lpbmcgdGhlIHZlcnRpY2FsXG4vLyByaHl0aG0uIFRoZSB3aGl0ZXNwYWNlIG11c3QgYmUgZ3JlYXRlciB0aGFuIHRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyLlxuQG1peGluIGFwcGx5LXNpZGUtcmh5dGhtLWJvcmRlcigkc2lkZSwgJHdpZHRoOiAxcHgsICRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlOiAkZGVmYXVsdC1yaHl0aG0tYm9yZGVyLXN0eWxlKSB7XG4gIEBpZiBub3QoJHJlbGF0aXZlLWZvbnQtc2l6aW5nKSBhbmQgJGZvbnQtc2l6ZSAhPSAkYmFzZS1mb250LXNpemUge1xuICAgIEB3YXJuIFwiJHJlbGF0aXZlLWZvbnQtc2l6aW5nIGlzIGZhbHNlIGJ1dCBhIHJlbGF0aXZlIGZvbnQgc2l6ZSB3YXMgcGFzc2VkIHRvIGFwcGx5LXNpZGUtcmh5dGhtLWJvcmRlclwiO1xuICB9XG4gIGJvcmRlci0jeyRzaWRlfS1zdHlsZTogJGJvcmRlci1zdHlsZTtcbiAgYm9yZGVyLSN7JHNpZGV9LXdpZHRoOiAkZm9udC11bml0ICogJHdpZHRoIC8gJGZvbnQtc2l6ZTtcbiAgcGFkZGluZy0jeyRzaWRlfTogcmh5dGhtKCRsaW5lcywgJGZvbnQtc2l6ZSwgJG9mZnNldDogJHdpZHRoKTtcbn1cblxuLy8gQXBwbHkgYm9yZGVycyBhbmQgd2hpdGVzcGFjZSBlcXVhbGx5IHRvIGFsbCBzaWRlcy5cbkBtaXhpbiByaHl0aG0tYm9yZGVycygkd2lkdGg6IDFweCwgJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUsICRib3JkZXItc3R5bGU6ICRkZWZhdWx0LXJoeXRobS1ib3JkZXItc3R5bGUpIHtcbiAgQGlmIG5vdCgkcmVsYXRpdmUtZm9udC1zaXppbmcpIGFuZCAkZm9udC1zaXplICE9ICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgQHdhcm4gXCIkcmVsYXRpdmUtZm9udC1zaXppbmcgaXMgZmFsc2UgYnV0IGEgcmVsYXRpdmUgZm9udCBzaXplIHdhcyBwYXNzZWQgdG8gcmh5dGhtLWJvcmRlcnNcIjtcbiAgfVxuICBib3JkZXI6IHtcbiAgICBzdHlsZTogJGJvcmRlci1zdHlsZTtcbiAgICB3aWR0aDogJGZvbnQtdW5pdCAqICR3aWR0aCAvICRmb250LXNpemU7XG4gIH07XG4gIHBhZGRpbmc6IHJoeXRobSgkbGluZXMsICRmb250LXNpemUsICRvZmZzZXQ6ICR3aWR0aCk7XG59XG5cbi8vIEFwcGx5IGEgbGVhZGluZyBib3JkZXIuXG5AbWl4aW4gbGVhZGluZy1ib3JkZXIoJHdpZHRoOiAxcHgsICRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlOiAkZGVmYXVsdC1yaHl0aG0tYm9yZGVyLXN0eWxlKSB7XG4gIEBpbmNsdWRlIGFwcGx5LXNpZGUtcmh5dGhtLWJvcmRlcih0b3AsICR3aWR0aCwgJGxpbmVzLCAkZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlKTtcbn1cblxuLy8gQXBwbHkgYSB0cmFpbGluZyBib3JkZXIuXG5AbWl4aW4gdHJhaWxpbmctYm9yZGVyKCR3aWR0aDogMXB4LCAkbGluZXM6IDEsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSwgJGJvcmRlci1zdHlsZTogJGRlZmF1bHQtcmh5dGhtLWJvcmRlci1zdHlsZSkge1xuICBAaW5jbHVkZSBhcHBseS1zaWRlLXJoeXRobS1ib3JkZXIoYm90dG9tLCAkd2lkdGgsICRsaW5lcywgJGZvbnQtc2l6ZSwgJGJvcmRlci1zdHlsZSk7XG59XG5cbi8vIEFwcGx5IGJvdGggbGVhZGluZyBhbmQgdHJhaWxpbmcgYm9yZGVycy5cbkBtaXhpbiBob3Jpem9udGFsLWJvcmRlcnMoJHdpZHRoOiAxcHgsICRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlOiAkZGVmYXVsdC1yaHl0aG0tYm9yZGVyLXN0eWxlKSB7XG4gIEBpbmNsdWRlIGxlYWRpbmctYm9yZGVyKCR3aWR0aCwgJGxpbmVzLCAkZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlKTtcbiAgQGluY2x1ZGUgdHJhaWxpbmctYm9yZGVyKCR3aWR0aCwgJGxpbmVzLCAkZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlKTtcbn1cblxuLy8gQWxpYXMgZm9yIGBob3Jpem9udGFsLWJvcmRlcnNgIG1peGluLlxuQG1peGluIGgtYm9yZGVycygkd2lkdGg6IDFweCwgJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUsICRib3JkZXItc3R5bGU6ICRkZWZhdWx0LXJoeXRobS1ib3JkZXItc3R5bGUpIHtcbiAgQGluY2x1ZGUgaG9yaXpvbnRhbC1ib3JkZXJzKCR3aWR0aCwgJGxpbmVzLCAkZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlKTtcbn1cbiIsIkBpbXBvcnQgXCIuLi9jc3MzL2ltYWdlc1wiO1xuQGltcG9ydCBcIi4uL2NzczMvYmFja2dyb3VuZC1zaXplXCI7XG5cbi8vIFNldCB0aGUgY29sb3Igb2YgeW91ciBjb2x1bW5zXG4kZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi1jb2xvciAgICAgOiByZ2JhKDEwMCwgMTAwLCAyMjUsIDAuMjUpICAgIWRlZmF1bHQ7XG4vLyBTZXQgdGhlIGNvbG9yIG9mIHlvdXIgZ3V0dGVyc1xuJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItY29sb3IgICAgIDogcmdiYSgwLCAwLCAwLCAwKSAgICAgICAgICAgICFkZWZhdWx0O1xuXG4vLyBTZXQgdGhlIHRvdGFsIG51bWJlciBvZiBjb2x1bW5zIGluIHlvdXIgZ3JpZFxuJGdyaWQtYmFja2dyb3VuZC10b3RhbC1jb2x1bW5zICAgIDogMjQgICAgICAgICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gU2V0IHRoZSB3aWR0aCBvZiB5b3VyIGNvbHVtbnNcbiRncmlkLWJhY2tncm91bmQtY29sdW1uLXdpZHRoICAgICA6IDMwcHggICAgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFNldCB0aGUgd2lkdGggb2YgeW91ciBndXR0ZXJzXG4kZ3JpZC1iYWNrZ3JvdW5kLWd1dHRlci13aWR0aCAgICAgOiAxMHB4ICAgICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBTZXQgdGhlIG9mZnNldCwgaWYgeW91ciBjb2x1bW5zIGFyZSBwYWRkZWQgaW4gZnJvbSB0aGUgY29udGFpbmVyIGVkZ2VcbiRncmlkLWJhY2tncm91bmQtb2Zmc2V0ICAgICAgICAgICA6IDBweCAgICAgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcblxuLy8gU2V0IHRoZSBjb2xvciBvZiB5b3VyIGJhc2VsaW5lXG4kZ3JpZC1iYWNrZ3JvdW5kLWJhc2VsaW5lLWNvbG9yICAgOiByZ2JhKDAsIDAsIDAsIDAuNSkgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBTZXQgdGhlIGhlaWdodCBvZiB5b3VyIGJhc2VsaW5lIGdyaWRcbiRncmlkLWJhY2tncm91bmQtYmFzZWxpbmUtaGVpZ2h0ICA6IDEuNWVtICAgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcblxuLy8gdG9nZ2xlIHlvdXIgY29sdW1ucyBncmlkcyBvbiBhbmQgb2ZmXG4kc2hvdy1jb2x1bW4tZ3JpZC1iYWNrZ3JvdW5kcyAgICAgOiB0cnVlICAgICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyB0b2dnbGUgeW91ciB2ZXJ0aWNhbCBncmlkcyBvbiBhbmQgb2ZmXG4kc2hvdy1iYXNlbGluZS1ncmlkLWJhY2tncm91bmRzICAgOiB0cnVlICAgICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyB0b2dnbGUgYWxsIHlvdXIgZ3JpZHMgb24gYW5kIG9mZlxuJHNob3ctZ3JpZC1iYWNrZ3JvdW5kcyAgICAgICAgICAgIDogdHJ1ZSAgICAgICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuXG4vLyBvcHRpb25hbGx5IGZvcmNlIHlvdXIgZ3JpZC1pbWFnZSB0byByZW1haW4gZmx1aWRcbi8vIG5vIG1hdHRlciB3aGF0IHVuaXRzIHlvdSB1c2VkIHRvIGRlY2xhcmVkIHlvdXIgZ3JpZC5cbiRncmlkLWJhY2tncm91bmQtZm9yY2UtZmx1aWQgICAgICA6IGZhbHNlICAgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcblxuXG4vLyBDcmVhdGUgdGhlIGdyYWRpZW50IG5lZWRlZCBmb3IgYmFzZWxpbmUgZ3JpZHNcbkBmdW5jdGlvbiBnZXQtYmFzZWxpbmUtZ3JhZGllbnQoXG4gICRjb2xvciA6ICRncmlkLWJhY2tncm91bmQtYmFzZWxpbmUtY29sb3Jcbikge1xuICAkZ3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudChib3R0b20sICRjb2xvciA1JSwgcmdiYSgkY29sb3IsMCkgNSUpO1xuICBAcmV0dXJuICRncmFkaWVudDtcbn1cblxuLy8gQ3JlYXRlIHRoZSBjb2xvci1zdG9wcyBuZWVkZWQgZm9yIGhvcml6b250YWwgZ3JpZHNcbkBmdW5jdGlvbiBidWlsZC1ncmlkLWJhY2tncm91bmQoXG4gICR0b3RhbCAgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtdG90YWwtY29sdW1ucyxcbiAgJGNvbHVtbiAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1jb2x1bW4td2lkdGgsXG4gICRndXR0ZXIgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtZ3V0dGVyLXdpZHRoLFxuICAkb2Zmc2V0ICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLW9mZnNldCxcbiAgJGNvbHVtbi1jb2xvciAgIDogJGdyaWQtYmFja2dyb3VuZC1jb2x1bW4tY29sb3IsXG4gICRndXR0ZXItY29sb3IgICA6ICRncmlkLWJhY2tncm91bmQtZ3V0dGVyLWNvbG9yXG4pIHtcbiAgJGdyaWQ6IGNvbXBhY3QoKTtcbiAgJGdyaWQ6IGFwcGVuZCgkZ3JpZCwgJGd1dHRlci1jb2xvciAkb2Zmc2V0LCBjb21tYSk7XG4gIEBmb3IgJGkgZnJvbSAwIHRvICR0b3RhbCB7XG5cbiAgICAvLyAkYSByZXByZXNlbnRzIHRoZSBzdGFydCBvZiB0aGlzIGNvbHVtbiwgaW5pdGlhbGx5IGVxdWFsIHRvIHRoZSBvZmZzZXRcbiAgICAkYTogJG9mZnNldDtcbiAgICBAaWYgJGkgPiAwIHsgJGE6ICRhICsgKCgkY29sdW1uICsgJGd1dHRlcikgKiAkaSk7IH1cblxuICAgIC8vICRnIHJlcHJlc2VudHMgdGhlIHN0YXJ0IG9mIHRoaXMgZ3V0dGVyLCBlcXVhbCB0byAkYSBwbHVzIG9uZSBjb2x1bW4td2lkdGhcbiAgICAkZzogJGEgKyAkY29sdW1uO1xuXG4gICAgLy8gJHogcmVwcmVzZW50cyB0aGUgZW5kIG9mIGEgZ3V0dGVyLCBlcXVhbCB0byAkZyBwbHVzIG9uZSBndXR0ZXItd2lkdGhcbiAgICAkejogJGcgKyAkZ3V0dGVyO1xuXG4gICAgQGlmICh1bml0KCRhKSA9PSBcIiVcIikgYW5kICgkaSA9PSAoJHRvdGFsIC0gMSkpIHtcbiAgICAgICR6OiAxMDAlO1xuICAgIH1cblxuICAgIC8vIGFuZCB3ZSBhZGQgdGhpcyBjb2x1bW4vZ3V0dGVyIHBhaXIgdG8gb3VyIGdyaWRcbiAgICAkZ3JpZDogam9pbigkZ3JpZCwgKCRjb2x1bW4tY29sb3IgJGEsICRjb2x1bW4tY29sb3IgJGcsICRndXR0ZXItY29sb3IgJGcsICRndXR0ZXItY29sb3IgJHopKTtcbiAgfVxuXG4gIEByZXR1cm4gJGdyaWQ7XG59XG5cbi8vIFJldHVybiB0aGUgZ3JhZGllbnQgbmVlZGVkIGZvciBob3Jpem9udGFsIGdyaWRzXG5AZnVuY3Rpb24gZ2V0LWNvbHVtbi1ncmFkaWVudChcbiAgJHRvdGFsICAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC10b3RhbC1jb2x1bW5zLFxuICAkY29sdW1uICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi13aWR0aCxcbiAgJGd1dHRlciAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItd2lkdGgsXG4gICRvZmZzZXQgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtb2Zmc2V0LFxuICAkY29sdW1uLWNvbG9yICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi1jb2xvcixcbiAgJGd1dHRlci1jb2xvciAgIDogJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItY29sb3IsXG4gICRmb3JjZS1mbHVpZCAgICA6ICRncmlkLWJhY2tncm91bmQtZm9yY2UtZmx1aWRcbikge1xuICAkZ3JpZDogdW5xdW90ZShcIlwiKTtcblxuICAvLyBkb24ndCBmb3JjZSBmbHVpZCBncmlkcyB3aGVuIHRoZXkgYXJlIGFscmVhZHkgZmx1aWQuXG4gIEBpZiB1bml0KCRjb2x1bW4pID09IFwiJVwiIHsgJGZvcmNlLWZsdWlkOiBmYWxzZTsgfVxuXG4gIEBpZiAkZm9yY2UtZmx1aWQge1xuICAgICRncmlkOiBnZXQtY29sdW1uLWZsdWlkLWdyaWQoJHRvdGFsLCRjb2x1bW4sJGd1dHRlciwkb2Zmc2V0LCRjb2x1bW4tY29sb3IsJGd1dHRlci1jb2xvcik7XG4gIH0gQGVsc2Uge1xuICAgICRncmlkOiBidWlsZC1ncmlkLWJhY2tncm91bmQoJHRvdGFsLCRjb2x1bW4sJGd1dHRlciwkb2Zmc2V0LCRjb2x1bW4tY29sb3IsJGd1dHRlci1jb2xvcik7XG4gIH1cblxuICAvLyByZXR1cm4gdGhlIGhvcml6b250YWwgZ3JpZCBhcyBhIGdyYWRpZW50XG4gICRncmFkaWVudDogbGluZWFyLWdyYWRpZW50KGxlZnQsICRncmlkKTtcbiAgQHJldHVybiAkZ3JhZGllbnQ7XG59XG5cbi8vIENvbnZlcnQgYSBncmlkIGZyb20gZml4ZWQgdW5pdHMgaW50byBwZXJjZW50YWdlcy5cbkBmdW5jdGlvbiBnZXQtY29sdW1uLWZsdWlkLWdyaWQoXG4gICR0b3RhbCAgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtdG90YWwtY29sdW1ucyxcbiAgJGNvbHVtbiAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1jb2x1bW4td2lkdGgsXG4gICRndXR0ZXIgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtZ3V0dGVyLXdpZHRoLFxuICAkb2Zmc2V0ICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLW9mZnNldCxcbiAgJGNvbHVtbi1jb2xvciAgIDogJGdyaWQtYmFja2dyb3VuZC1jb2x1bW4tY29sb3IsXG4gICRndXR0ZXItY29sb3IgICA6ICRncmlkLWJhY2tncm91bmQtZ3V0dGVyLWNvbG9yXG4pIHtcbiAgJGNvbnRleHQ6ICgkY29sdW1uICogJHRvdGFsKSArICgkZ3V0dGVyICogKCR0b3RhbCAtIDEpICsgKCRvZmZzZXQgKiAyKSk7XG4gICRvZmZzZXQ6ICRvZmZzZXQgLyAkY29udGV4dCAqIDEwMCU7XG4gICRjb2x1bW46ICRjb2x1bW4gLyAkY29udGV4dCAqIDEwMCU7XG4gICRndXR0ZXI6ICRndXR0ZXIgLyAkY29udGV4dCAqIDEwMCU7XG5cbiAgLy8gcmV0dXJuIHRoZSBob3Jpem9udGFsIGdyaWQgYXMgYSBzZXQgb2YgY29sb3Itc3RvcHNcbiAgJGdyaWQ6IGJ1aWxkLWdyaWQtYmFja2dyb3VuZCgkdG90YWwsJGNvbHVtbiwkZ3V0dGVyLCRvZmZzZXQsJGNvbHVtbi1jb2xvciwkZ3V0dGVyLWNvbG9yKTtcbiAgQHJldHVybiAkZ3JpZDtcbn1cblxuXG4vLyBBZGQganVzdCB0aGUgYmFzZWxpbmUgZ3JpZCB0byBhbiBlbGVtZW50J3MgYmFja2dyb3VuZFxuQG1peGluIGJhc2VsaW5lLWdyaWQtYmFja2dyb3VuZChcbiAgJGJhc2VsaW5lIDogJGdyaWQtYmFja2dyb3VuZC1iYXNlbGluZS1oZWlnaHQsXG4gICRjb2xvciAgICA6ICRncmlkLWJhY2tncm91bmQtYmFzZWxpbmUtY29sb3Jcbikge1xuICBAaWYgJHNob3ctZ3JpZC1iYWNrZ3JvdW5kcyBhbmQgJHNob3ctYmFzZWxpbmUtZ3JpZC1iYWNrZ3JvdW5kcyB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC1pbWFnZShnZXQtYmFzZWxpbmUtZ3JhZGllbnQoJGNvbG9yKSk7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC1zaXplKDEwMCUgJGJhc2VsaW5lKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IHRvcDtcbiAgfVxufVxuXG4vLyBBZGQganVzdCB0aGUgaG9yaXpvbnRhbCBncmlkIHRvIGFuIGVsZW1lbnQncyBiYWNrZ3JvdW5kXG5AbWl4aW4gY29sdW1uLWdyaWQtYmFja2dyb3VuZChcbiAgJHRvdGFsICAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC10b3RhbC1jb2x1bW5zLFxuICAkY29sdW1uICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi13aWR0aCxcbiAgJGd1dHRlciAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItd2lkdGgsXG4gICRvZmZzZXQgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtb2Zmc2V0LFxuICAkY29sdW1uLWNvbG9yICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi1jb2xvcixcbiAgJGd1dHRlci1jb2xvciAgIDogJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItY29sb3IsXG4gICRmb3JjZS1mbHVpZCAgICA6ICRncmlkLWJhY2tncm91bmQtZm9yY2UtZmx1aWRcbikge1xuICBAaWYgJHNob3ctZ3JpZC1iYWNrZ3JvdW5kcyBhbmQgJHNob3ctY29sdW1uLWdyaWQtYmFja2dyb3VuZHMge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtaW1hZ2UoXG4gICAgICBnZXQtY29sdW1uLWdyYWRpZW50KCR0b3RhbCwkY29sdW1uLCRndXR0ZXIsJG9mZnNldCwkY29sdW1uLWNvbG9yLCRndXR0ZXItY29sb3IsICRmb3JjZS1mbHVpZClcbiAgICApO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgdG9wO1xuICB9XG59XG5cbi8vIEFkZCBib3RoIGhvcml6b250YWwgYW5kIGJhc2VsaW5lIGdyaWRzIHRvIGFuIGVsZW1lbnQncyBiYWNrZ3JvdW5kXG5AbWl4aW4gZ3JpZC1iYWNrZ3JvdW5kKFxuICAkdG90YWwgICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLXRvdGFsLWNvbHVtbnMsXG4gICRjb2x1bW4gICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtY29sdW1uLXdpZHRoLFxuICAkZ3V0dGVyICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWd1dHRlci13aWR0aCxcbiAgJGJhc2VsaW5lICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1iYXNlbGluZS1oZWlnaHQsXG4gICRvZmZzZXQgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtb2Zmc2V0LFxuICAkY29sdW1uLWNvbG9yICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi1jb2xvcixcbiAgJGd1dHRlci1jb2xvciAgIDogJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItY29sb3IsXG4gICRiYXNlbGluZS1jb2xvciA6ICRncmlkLWJhY2tncm91bmQtYmFzZWxpbmUtY29sb3IsXG4gICRmb3JjZS1mbHVpZCAgICA6ICRncmlkLWJhY2tncm91bmQtZm9yY2UtZmx1aWRcbikge1xuICBAaWYgJHNob3ctZ3JpZC1iYWNrZ3JvdW5kcyB7XG4gICAgQGlmICRzaG93LWJhc2VsaW5lLWdyaWQtYmFja2dyb3VuZHMgYW5kICRzaG93LWNvbHVtbi1ncmlkLWJhY2tncm91bmRzIHtcbiAgICAgIEBpbmNsdWRlIGJhY2tncm91bmQtaW1hZ2UoXG4gICAgICAgIGdldC1iYXNlbGluZS1ncmFkaWVudCgkYmFzZWxpbmUtY29sb3IpLFxuICAgICAgICBnZXQtY29sdW1uLWdyYWRpZW50KCR0b3RhbCwkY29sdW1uLCRndXR0ZXIsJG9mZnNldCwkY29sdW1uLWNvbG9yLCRndXR0ZXItY29sb3IsICRmb3JjZS1mbHVpZClcbiAgICAgICk7XG4gICAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXNpemUoMTAwJSAkYmFzZWxpbmUsIGF1dG8pO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBiYXNlbGluZS1ncmlkLWJhY2tncm91bmQoJGJhc2VsaW5lLCAkYmFzZWxpbmUtY29sb3IpO1xuICAgICAgQGluY2x1ZGUgY29sdW1uLWdyaWQtYmFja2dyb3VuZCgkdG90YWwsJGNvbHVtbiwkZ3V0dGVyLCRvZmZzZXQsJGNvbHVtbi1jb2xvciwkZ3V0dGVyLWNvbG9yLCAkZm9yY2UtZmx1aWQpO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuQGltcG9ydCBcIi4uL3V0aWxpdGllcy9nZW5lcmFsL2hhY2tzXCI7XG5AaW1wb3J0IFwiLi4vZnVuY3Rpb25zXCI7XG5cbi8vIEJhY2tncm91bmQgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyB3aXRoaW4gdmFsdWVzLlxuQG1peGluIGJhY2tncm91bmQoXG4gICRiYWNrZ3JvdW5kLTEsXG4gICRiYWNrZ3JvdW5kLTI6IGZhbHNlLFxuICAkYmFja2dyb3VuZC0zOiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTU6IGZhbHNlLFxuICAkYmFja2dyb3VuZC02OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNzogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTg6IGZhbHNlLFxuICAkYmFja2dyb3VuZC05OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtMTA6IGZhbHNlXG4pIHtcbiAgJGJhY2tncm91bmRzOiBjb21wYWN0KCRiYWNrZ3JvdW5kLTEsICRiYWNrZ3JvdW5kLTIsICRiYWNrZ3JvdW5kLTMsICRiYWNrZ3JvdW5kLTQsICRiYWNrZ3JvdW5kLTUsXG4gICAgICAgICAgICAgICAgICAgICAgICAkYmFja2dyb3VuZC02LCAkYmFja2dyb3VuZC03LCAkYmFja2dyb3VuZC04LCAkYmFja2dyb3VuZC05LCAkYmFja2dyb3VuZC0xMCk7XG4gICRtdWx0LWJnczogLWNvbXBhc3MtbGlzdC1zaXplKCRiYWNrZ3JvdW5kcykgPiAxO1xuICAkYWRkLXBpZS1iZzogcHJlZml4ZWQoLXBpZSwgICAkYmFja2dyb3VuZHMpIG9yICRtdWx0LWJncztcbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIGFuZCBwcmVmaXhlZCgtc3ZnLCAgICAkYmFja2dyb3VuZHMpIHsgICAgICBiYWNrZ3JvdW5kOiAgICAtc3ZnKCRiYWNrZ3JvdW5kcyk7IH1cbiAgQGlmICRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIGFuZCBwcmVmaXhlZCgtb3dnLCAgICAkYmFja2dyb3VuZHMpIHsgICAgICBiYWNrZ3JvdW5kOiAgICAtb3dnKCRiYWNrZ3JvdW5kcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgICAgIGFuZCBwcmVmaXhlZCgtd2Via2l0LCAkYmFja2dyb3VuZHMpIHsgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0KCRiYWNrZ3JvdW5kcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgICAgIGFuZCBwcmVmaXhlZCgtbW96LCAgICAkYmFja2dyb3VuZHMpIHsgICAgICBiYWNrZ3JvdW5kOiAgICAtbW96KCRiYWNrZ3JvdW5kcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgICAgIGFuZCBwcmVmaXhlZCgtbywgICAgICAkYmFja2dyb3VuZHMpIHsgICAgICBiYWNrZ3JvdW5kOiAgICAgIC1vKCRiYWNrZ3JvdW5kcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItcGllICAgICAgICAgIGFuZCAkYWRkLXBpZS1iZyAgICAgICAgICAgICAgICAgICAgIHsgLXBpZS1iYWNrZ3JvdW5kOiAgICAtcGllKCRiYWNrZ3JvdW5kcyk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAgICAgICAgICRiYWNrZ3JvdW5kcyA7XG59XG5cbkBtaXhpbiBiYWNrZ3JvdW5kLXdpdGgtY3NzMi1mYWxsYmFjayhcbiAgJGJhY2tncm91bmQtMSxcbiAgJGJhY2tncm91bmQtMjogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTM6IGZhbHNlLFxuICAkYmFja2dyb3VuZC00OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNTogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTY6IGZhbHNlLFxuICAkYmFja2dyb3VuZC03OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtODogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTk6IGZhbHNlLFxuICAkYmFja2dyb3VuZC0xMDogZmFsc2Vcbikge1xuICAkYmFja2dyb3VuZHM6IGNvbXBhY3QoJGJhY2tncm91bmQtMSwgJGJhY2tncm91bmQtMiwgJGJhY2tncm91bmQtMywgJGJhY2tncm91bmQtNCwgJGJhY2tncm91bmQtNSxcbiAgICAgICAgICAgICAgICAgICAgICAgICRiYWNrZ3JvdW5kLTYsICRiYWNrZ3JvdW5kLTcsICRiYWNrZ3JvdW5kLTgsICRiYWNrZ3JvdW5kLTksICRiYWNrZ3JvdW5kLTEwKTtcbiAgJG11bHQtYmdzOiAtY29tcGFzcy1saXN0LXNpemUoJGJhY2tncm91bmRzKSA+IDE7XG4gICRzaW1wbGUtYmFja2dyb3VuZDogaWYoJG11bHQtYmdzIG9yIHByZWZpeGVkKC1jc3MyLCAkYmFja2dyb3VuZHMpLCAtY3NzMigtY29tcGFzcy1udGgoJGJhY2tncm91bmRzLCBsYXN0KSksIGZhbHNlKTtcbiAgQGlmIG5vdChibGFuaygkc2ltcGxlLWJhY2tncm91bmQpKSB7IGJhY2tncm91bmQ6ICRzaW1wbGUtYmFja2dyb3VuZDsgfVxuICBAaW5jbHVkZSBiYWNrZ3JvdW5kKCRiYWNrZ3JvdW5kLTEsICRiYWNrZ3JvdW5kLTIsICRiYWNrZ3JvdW5kLTMsICRiYWNrZ3JvdW5kLTQsICRiYWNrZ3JvdW5kLTUsXG4gICAgICAgICAgICAgICAgICAgICAgJGJhY2tncm91bmQtNiwgJGJhY2tncm91bmQtNywgJGJhY2tncm91bmQtOCwgJGJhY2tncm91bmQtOSwgJGJhY2tncm91bmQtMTApO1xufVxuXG5cbi8vIEJhY2tncm91bmQgaW1hZ2UgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyB3aXRoaW4gdmFsdWVzLlxuQG1peGluIGJhY2tncm91bmQtaW1hZ2UoXG4gICRpbWFnZS0xLFxuICAkaW1hZ2UtMjogZmFsc2UsXG4gICRpbWFnZS0zOiBmYWxzZSxcbiAgJGltYWdlLTQ6IGZhbHNlLFxuICAkaW1hZ2UtNTogZmFsc2UsXG4gICRpbWFnZS02OiBmYWxzZSxcbiAgJGltYWdlLTc6IGZhbHNlLFxuICAkaW1hZ2UtODogZmFsc2UsXG4gICRpbWFnZS05OiBmYWxzZSxcbiAgJGltYWdlLTEwOiBmYWxzZVxuKSB7XG4gICRpbWFnZXM6IGNvbXBhY3QoJGltYWdlLTEsICRpbWFnZS0yLCAkaW1hZ2UtMywgJGltYWdlLTQsICRpbWFnZS01LCAkaW1hZ2UtNiwgJGltYWdlLTcsICRpbWFnZS04LCAkaW1hZ2UtOSwgJGltYWdlLTEwKTtcbiAgJGFkZC1waWUtYmc6IHByZWZpeGVkKC1waWUsICAgJGltYWdlcykgb3IgLWNvbXBhc3MtbGlzdC1zaXplKCRpbWFnZXMpID4gMTtcblxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgYW5kIHByZWZpeGVkKC1zdmcsICAgICRpbWFnZXMpIHsgYmFja2dyb3VuZC1pbWFnZTogICAgLXN2ZygkaW1hZ2VzKTsgYmFja2dyb3VuZC1zaXplOiAxMDAlOyB9XG4gIEBpZiAkc3VwcG9ydC1mb3Itb3JpZ2luYWwtd2Via2l0LWdyYWRpZW50cyBhbmQgcHJlZml4ZWQoLW93ZywgICAgJGltYWdlcykgeyBiYWNrZ3JvdW5kLWltYWdlOiAgICAtb3dnKCRpbWFnZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICBhbmQgcHJlZml4ZWQoLXdlYmtpdCwgJGltYWdlcykgeyBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0KCRpbWFnZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICAgICBhbmQgcHJlZml4ZWQoLW1veiwgICAgJGltYWdlcykgeyBiYWNrZ3JvdW5kLWltYWdlOiAgICAtbW96KCRpbWFnZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICAgICBhbmQgcHJlZml4ZWQoLW8sICAgICAgJGltYWdlcykgeyBiYWNrZ3JvdW5kLWltYWdlOiAgICAgIC1vKCRpbWFnZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXBpZSAgICAgICAgICBhbmQgJGFkZC1waWUtYmcgICAgICAgICAgICAgICAgeyBAd2FybiBcIlBJRSBkb2VzIG5vdCBzdXBwb3J0IGJhY2tncm91bmQtaW1hZ2UuIFVzZSBAaW5jbHVkZSBiYWNrZ3JvdW5kKCN7JGltYWdlc30pIGluc3RlYWQuXCIgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAgICAkaW1hZ2VzIDtcbn1cblxuLy8gRW1pdCBhIElFLVNwZWNpZmljIGZpbHRlcnMgdGhhdCByZW5kZXJzIGEgc2ltcGxlIGxpbmVhciBncmFkaWVudC5cbi8vIEZvciB1c2UgaW4gSUUgNiAtIDguIEJlc3QgcHJhY3RpY2Ugd291bGQgaGF2ZSB5b3UgYXBwbHkgdGhpcyB2aWEgYVxuLy8gY29uZGl0aW9uYWwgSUUgc3R5bGVzaGVldCwgYnV0IGlmIHlvdSBtdXN0LCB5b3Ugc2hvdWxkIHBsYWNlIHRoaXMgYmVmb3JlXG4vLyBhbnkgYmFja2dyb3VuZC1pbWFnZSBwcm9wZXJ0aWVzIHRoYXQgeW91IGhhdmUgc3BlY2lmaWVkLlxuLy9cbi8vIEZvciB0aGUgYCRvcmllbnRhdGlvbmAgcGFyYW1ldGVyLCB5b3UgY2FuIHBhc3MgYHZlcnRpY2FsYCBvciBgaG9yaXpvbnRhbGAuXG5AbWl4aW4gZmlsdGVyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJGVuZC1jb2xvciwgJG9yaWVudGF0aW9uOiB2ZXJ0aWNhbCkge1xuICBAaW5jbHVkZSBoYXMtbGF5b3V0O1xuICAkZ3JhZGllbnQtdHlwZTogaWYoJG9yaWVudGF0aW9uID09IHZlcnRpY2FsLCAwLCAxKTtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU2IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU3IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU4IHtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChncmFkaWVudFR5cGU9I3skZ3JhZGllbnQtdHlwZX0sIHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9Jyk7XG4gIH1cbn1cblxuXG4vLyBCb3JkZXIgaW1hZ2UgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyBwcm9wZXJ0aWVzIGFuZCB2YWx1ZXMuXG5AbWl4aW4gYm9yZGVyLWltYWdlKCR2YWx1ZSkge1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgeyAgICAtbW96LWJvcmRlci1pbWFnZTogICAgLW1veihyZWplY3QoLWNvbXBhc3MtbGlzdCgkdmFsdWUpLCBmaWxsKSk7IH1cbiAgQGlmICRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIHsgLXdlYmtpdC1ib3JkZXItaW1hZ2U6ICAgIC1vd2cocmVqZWN0KC1jb21wYXNzLWxpc3QoJHZhbHVlKSwgZmlsbCkpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICB7IC13ZWJraXQtYm9yZGVyLWltYWdlOiAtd2Via2l0KHJlamVjdCgtY29tcGFzcy1saXN0KCR2YWx1ZSksIGZpbGwpKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgeyAgICAgIC1vLWJvcmRlci1pbWFnZTogICAgICAtbyhyZWplY3QoLWNvbXBhc3MtbGlzdCgkdmFsdWUpLCBmaWxsKSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIHsgICAgICAgICBib3JkZXItaW1hZ2U6ICAgIC1zdmcocmVqZWN0KC1jb21wYXNzLWxpc3QoJHZhbHVlKSwgZmlsbCkpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWltYWdlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR2YWx1ZTtcbn1cblxuLy8gTGlzdCBzdHlsZSBpbWFnZSBwcm9wZXJ0eSBzdXBwb3J0IGZvciB2ZW5kb3IgcHJlZml4aW5nIHdpdGhpbiB2YWx1ZXMuXG5AbWl4aW4gbGlzdC1zdHlsZS1pbWFnZSgkaW1hZ2UpIHtcbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgICAgIGFuZCBwcmVmaXhlZCgtbW96LCAgICAkaW1hZ2UpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgLW1veigkaW1hZ2UpOyB9XG4gIEBpZiAkc3VwcG9ydC1mb3Itb3JpZ2luYWwtd2Via2l0LWdyYWRpZW50cyBhbmQgcHJlZml4ZWQoLW93ZywgICAgJGltYWdlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgIC1vd2coJGltYWdlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgICAgYW5kIHByZWZpeGVkKC13ZWJraXQsICRpbWFnZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAtd2Via2l0KCRpbWFnZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgICAgIGFuZCBwcmVmaXhlZCgtbywgICAgICAkaW1hZ2UpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgICAtbygkaW1hZ2UpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXN2ZyAgICAgICAgICBhbmQgcHJlZml4ZWQoLXN2ZywgICAgJGltYWdlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgIC1zdmcoJGltYWdlKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLWltYWdlOiAgICAgICAgICRpbWFnZSA7XG59XG5cbi8vIExpc3Qgc3R5bGUgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyB3aXRoaW4gdmFsdWVzLlxuQG1peGluIGxpc3Qtc3R5bGUoJHZhbHVlKSB7XG4gICR2YWx1ZTogLWNvbXBhc3MtbGlzdCgkdmFsdWUpO1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgYW5kIHByZWZpeGVkKC1tb3osICAgICR2YWx1ZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAtbW96KCR2YWx1ZSk7IH1cbiAgQGlmICRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIGFuZCBwcmVmaXhlZCgtb3dnLCAgICAkdmFsdWUpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgLW93ZygkdmFsdWUpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICBhbmQgcHJlZml4ZWQoLXdlYmtpdCwgJHZhbHVlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6IC13ZWJraXQoJHZhbHVlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgYW5kIHByZWZpeGVkKC1vLCAgICAgICR2YWx1ZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAgIC1vKCR2YWx1ZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIGFuZCBwcmVmaXhlZCgtc3ZnLCAgICAkdmFsdWUpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgLXN2ZygkdmFsdWUpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtaW1hZ2U6ICAgICAgICAgJHZhbHVlIDtcbn1cblxuLy8gY29udGVudCBwcm9wZXJ0eSBzdXBwb3J0IGZvciB2ZW5kb3IgcHJlZml4aW5nIHdpdGhpbiB2YWx1ZXMuXG5AbWl4aW4gY29udGVudCgkdmFsdWUpIHtcbiAgJHZhbHVlOiAtY29tcGFzcy1saXN0KCR2YWx1ZSk7XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICAgICBhbmQgcHJlZml4ZWQoLW1veiwgICAgJHZhbHVlKSB7IGNvbnRlbnQ6ICAgIC1tb3ooJHZhbHVlKTsgfVxuICBAaWYgJHN1cHBvcnQtZm9yLW9yaWdpbmFsLXdlYmtpdC1ncmFkaWVudHMgYW5kIHByZWZpeGVkKC1vd2csICAgICR2YWx1ZSkgeyBjb250ZW50OiAgICAtb3dnKCR2YWx1ZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgICAgIGFuZCBwcmVmaXhlZCgtd2Via2l0LCAkdmFsdWUpIHsgY29udGVudDogLXdlYmtpdCgkdmFsdWUpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICAgICBhbmQgcHJlZml4ZWQoLW8sICAgICAgJHZhbHVlKSB7IGNvbnRlbnQ6ICAgICAgLW8oJHZhbHVlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgYW5kIHByZWZpeGVkKC1zdmcsICAgICR2YWx1ZSkgeyBjb250ZW50OiAgICAtc3ZnKCR2YWx1ZSk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogICAgICAgICAkdmFsdWUgO1xufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyAgb3ZlcnJpZGUgdG8gY2hhbmdlIHRoZSBkZWZhdWx0XG4kZGVmYXVsdC1iYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0byAhZGVmYXVsdDtcblxuLy8gU2V0IHRoZSBzaXplIG9mIGJhY2tncm91bmQgaW1hZ2VzIHVzaW5nIHB4LCB3aWR0aCBhbmQgaGVpZ2h0LCBvciBwZXJjZW50YWdlcy5cbi8vIEN1cnJlbnRseSBzdXBwb3J0ZWQgaW46IE9wZXJhLCBHZWNrbywgV2Via2l0LlxuLy9cbi8vICogcGVyY2VudGFnZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBiYWNrZ3JvdW5kLW9yaWdpbiAoZGVmYXVsdCA9IHBhZGRpbmctYm94KVxuLy8gKiBtaXhpbiBkZWZhdWx0cyB0bzogYCRkZWZhdWx0LWJhY2tncm91bmQtc2l6ZWBcbkBtaXhpbiBiYWNrZ3JvdW5kLXNpemUoXG4gICRzaXplLTE6ICRkZWZhdWx0LWJhY2tncm91bmQtc2l6ZSxcbiAgJHNpemUtMjogZmFsc2UsXG4gICRzaXplLTM6IGZhbHNlLFxuICAkc2l6ZS00OiBmYWxzZSxcbiAgJHNpemUtNTogZmFsc2UsXG4gICRzaXplLTY6IGZhbHNlLFxuICAkc2l6ZS03OiBmYWxzZSxcbiAgJHNpemUtODogZmFsc2UsXG4gICRzaXplLTk6IGZhbHNlLFxuICAkc2l6ZS0xMDogZmFsc2Vcbikge1xuICAkc2l6ZS0xOiBpZih0eXBlLW9mKCRzaXplLTEpID09IHN0cmluZywgdW5xdW90ZSgkc2l6ZS0xKSwgJHNpemUtMSk7XG4gICRzaXplczogY29tcGFjdCgkc2l6ZS0xLCAkc2l6ZS0yLCAkc2l6ZS0zLCAkc2l6ZS00LCAkc2l6ZS01LCAkc2l6ZS02LCAkc2l6ZS03LCAkc2l6ZS04LCAkc2l6ZS05LCAkc2l6ZS0xMCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChiYWNrZ3JvdW5kLXNpemUsICRzaXplcywgLW1veiwgLXdlYmtpdCwgLW8sIG5vdCgtbXMpLCBub3QoLWtodG1sKSk7XG59XG4iLCJAaW1wb3J0IFwiY3NzMy9ib3JkZXItcmFkaXVzXCI7XG5AaW1wb3J0IFwiY3NzMy9pbmxpbmUtYmxvY2tcIjtcbkBpbXBvcnQgXCJjc3MzL29wYWNpdHlcIjtcbkBpbXBvcnQgXCJjc3MzL2JveC1zaGFkb3dcIjtcbkBpbXBvcnQgXCJjc3MzL3RleHQtc2hhZG93XCI7XG5AaW1wb3J0IFwiY3NzMy9jb2x1bW5zXCI7XG5AaW1wb3J0IFwiY3NzMy9ib3gtc2l6aW5nXCI7XG5AaW1wb3J0IFwiY3NzMy9ib3hcIjtcbkBpbXBvcnQgXCJjc3MzL2ltYWdlc1wiO1xuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZC1jbGlwXCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kLW9yaWdpblwiO1xuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZC1zaXplXCI7XG5AaW1wb3J0IFwiY3NzMy9mb250LWZhY2VcIjtcbkBpbXBvcnQgXCJjc3MzL3RyYW5zZm9ybVwiO1xuQGltcG9ydCBcImNzczMvdHJhbnNpdGlvblwiO1xuQGltcG9ydCBcImNzczMvYXBwZWFyYW5jZVwiO1xuQGltcG9ydCBcImNzczMvcmVnaW9uc1wiO1xuQGltcG9ydCBcImNzczMvaHlwaGVuYXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL2ZpbHRlclwiO1xuQGltcG9ydCBcImNzczMvcGllXCI7XG5AaW1wb3J0IFwiY3NzMy91c2VyLWludGVyZmFjZVwiO1xuQGltcG9ydCBcImNzczMvZmxleGJveFwiOyIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuJGRlZmF1bHQtYm9yZGVyLXJhZGl1czogNXB4ICFkZWZhdWx0O1xuXG4vLyBSb3VuZCBhbGwgY29ybmVycyBieSBhIHNwZWNpZmljIGFtb3VudCwgZGVmYXVsdHMgdG8gdmFsdWUgb2YgYCRkZWZhdWx0LWJvcmRlci1yYWRpdXNgLlxuLy9cbi8vIFdoZW4gdHdvIHZhbHVlcyBhcmUgcGFzc2VkLCB0aGUgZmlyc3QgaXMgdGhlIGhvcml6b250YWwgcmFkaXVzXG4vLyBhbmQgdGhlIHNlY29uZCBpcyB0aGUgdmVydGljYWwgcmFkaXVzLlxuLy9cbi8vIE5vdGU6IHdlYmtpdCBkb2VzIG5vdCBzdXBwb3J0IHNob3J0aGFuZCBzeW50YXggZm9yIHNldmVyYWwgY29ybmVycyBhdCBvbmNlLlxuLy8gU28gaW4gdGhlIGNhc2Ugd2hlcmUgeW91IHBhc3Mgc2V2ZXJhbCB2YWx1ZXMgb25seSB0aGUgZmlyc3Qgd2lsbCBiZSBwYXNzZWQgdG8gd2Via2l0LlxuLy9cbi8vIEV4YW1wbGVzOlxuLy9cbi8vICAgICAuc2ltcGxlICAgeyBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCwgNHB4KTsgfVxuLy8gICAgIC5jb21wb3VuZCB7IEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMnB4IDVweCwgM3B4IDZweCk7IH1cbi8vICAgICAuY3JhenkgICAgeyBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDFweCAzcHggNXB4IDdweCwgMnB4IDRweCA2cHggOHB4KX1cbi8vXG4vLyBXaGljaCBnZW5lcmF0ZXM6XG4vL1xuLy8gICAgLnNpbXBsZSB7XG4vLyAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4IDRweDtcbi8vICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiA0cHggLyA0cHg7XG4vLyAgICAgIC1raHRtbC1ib3JkZXItcmFkaXVzOiA0cHggLyA0cHg7XG4vLyAgICAgIGJvcmRlci1yYWRpdXM6IDRweCAvIDRweDsgfVxuLy8gICAgXG4vLyAgICAuY29tcG91bmQge1xuLy8gICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweCAzcHg7XG4vLyAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogMnB4IDVweCAvIDNweCA2cHg7XG4vLyAgICAgIC1raHRtbC1ib3JkZXItcmFkaXVzOiAycHggNXB4IC8gM3B4IDZweDtcbi8vICAgICAgYm9yZGVyLXJhZGl1czogMnB4IDVweCAvIDNweCA2cHg7IH1cbi8vICAgIFxuLy8gICAgLmNyYXp5IHtcbi8vICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxcHggMnB4O1xuLy8gICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDFweCAzcHggNXB4IDdweCAvIDJweCA0cHggNnB4IDhweDtcbi8vICAgICAgLWtodG1sLWJvcmRlci1yYWRpdXM6IDFweCAzcHggNXB4IDdweCAvIDJweCA0cHggNnB4IDhweDtcbi8vICAgICAgYm9yZGVyLXJhZGl1czogMXB4IDNweCA1cHggN3B4IC8gMnB4IDRweCA2cHggOHB4OyB9XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMsICR2ZXJ0aWNhbC1yYWRpdXM6IGZhbHNlKSB7XG5cbiAgQGlmICR2ZXJ0aWNhbC1yYWRpdXMge1xuICAgIC8vIFdlYmtpdCBkb2Vzbid0IHVuZGVyc3RhbmQgdGhlIG9mZmljaWFsIHNob3J0aGFuZCBzeW50YXggZm9yIHNwZWNpZnlpbmdcbiAgICAvLyBhIHZlcnRpY2FsIHJhZGl1cyB1bmxlc3Mgc28gaW4gY2FzZSB0aGVyZSdzIHNldmVyYWwgd2Ugb25seSB0YWtlIHRoZSBmaXJzdC5cbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm9yZGVyLXJhZGl1cywgZmlyc3QtdmFsdWUtb2YoJHJhZGl1cykgZmlyc3QtdmFsdWUtb2YoJHZlcnRpY2FsLXJhZGl1cyksXG4gICAgICBub3QoLW1veiksXG4gICAgICAtd2Via2l0LFxuICAgICAgbm90KC1vKSxcbiAgICAgIG5vdCgtbXMpLFxuICAgICAgbm90KC1raHRtbCksXG4gICAgICBub3Qob2ZmaWNpYWwpXG4gICAgKTtcbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwoXCJib3JkZXItcmFkaXVzXCIsICRyYWRpdXMgdW5xdW90ZShcIi9cIikgJHZlcnRpY2FsLXJhZGl1cyxcbiAgICAgIC1tb3osXG4gICAgICBub3QoLXdlYmtpdCksXG4gICAgICBub3QoLW8pLFxuICAgICAgbm90KC1tcyksXG4gICAgICAta2h0bWwsXG4gICAgICBvZmZpY2lhbFxuICAgICk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3JkZXItcmFkaXVzLCAkcmFkaXVzKTtcbiAgfVxufVxuXG4vLyBSb3VuZCByYWRpdXMgYXQgcG9zaXRpb24gYnkgYW1vdW50LlxuLy9cbi8vICogbGVnYWwgdmFsdWVzIGZvciBgJHZlcnRgOiBgdG9wYCwgYGJvdHRvbWBcbi8vICogbGVnYWwgdmFsdWVzIGZvciBgJGhvcnpgOiBgbGVmdGAsIGByaWdodGBcblxuQG1peGluIGJvcmRlci1jb3JuZXItcmFkaXVzKCR2ZXJ0LCAkaG9yeiwgJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cykge1xuICAvLyBTdXBwb3J0IGZvciBtb3ppbGxhJ3Mgc3ludGF4IGZvciBzcGVjaWZ5aW5nIGEgY29ybmVyXG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChcImJvcmRlci1yYWRpdXMtI3skdmVydH0jeyRob3J6fVwiLCAkcmFkaXVzLFxuICAgIC1tb3osXG4gICAgbm90KC13ZWJraXQpLFxuICAgIG5vdCgtbyksXG4gICAgbm90KC1tcyksXG4gICAgbm90KC1raHRtbCksXG4gICAgbm90KG9mZmljaWFsKVxuICApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoXCJib3JkZXItI3skdmVydH0tI3skaG9yen0tcmFkaXVzXCIsICRyYWRpdXMsXG4gICAgbm90KC1tb3opLFxuICAgIC13ZWJraXQsXG4gICAgbm90KC1vKSxcbiAgICBub3QoLW1zKSxcbiAgICAta2h0bWwsXG4gICAgb2ZmaWNpYWxcbiAgKTtcbiAgXG59XG5cbi8vIFJvdW5kIHRvcC1sZWZ0IGNvcm5lciBvbmx5XG5cbkBtaXhpbiBib3JkZXItdG9wLWxlZnQtcmFkaXVzKCRyYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWNvcm5lci1yYWRpdXModG9wLCBsZWZ0LCAkcmFkaXVzKTsgfVxuXG4vLyBSb3VuZCB0b3AtcmlnaHQgY29ybmVyIG9ubHlcblxuQG1peGluIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRyYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWNvcm5lci1yYWRpdXModG9wLCByaWdodCwgJHJhZGl1cyk7IH1cblxuLy8gUm91bmQgYm90dG9tLWxlZnQgY29ybmVyIG9ubHlcblxuQG1peGluIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cykge1xuICBAaW5jbHVkZSBib3JkZXItY29ybmVyLXJhZGl1cyhib3R0b20sIGxlZnQsICRyYWRpdXMpOyB9XG5cbi8vIFJvdW5kIGJvdHRvbS1yaWdodCBjb3JuZXIgb25seVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cykge1xuICBAaW5jbHVkZSBib3JkZXItY29ybmVyLXJhZGl1cyhib3R0b20sIHJpZ2h0LCAkcmFkaXVzKTsgfVxuXG4vLyBSb3VuZCBib3RoIHRvcCBjb3JuZXJzIGJ5IGFtb3VudFxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygkcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1cyk7IH1cblxuLy8gUm91bmQgYm90aCByaWdodCBjb3JuZXJzIGJ5IGFtb3VudFxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cykge1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1cyk7IH1cblxuLy8gUm91bmQgYm90aCBib3R0b20gY29ybmVycyBieSBhbW91bnRcbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1cyk7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKCRyYWRpdXMpOyB9XG5cbi8vIFJvdW5kIGJvdGggbGVmdCBjb3JuZXJzIGJ5IGFtb3VudFxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzKSB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1cyk7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1cyk7IH1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gUHJvdmlkZXMgY3Jvc3MtYnJvd3NlciBDU1Mgb3BhY2l0eS4gVGFrZXMgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxIGFzIHRoZSBhcmd1bWVudCwgZS5nLiAwLjUgZm9yIDUwJSBvcGFjaXR5LlxuLy9cbi8vICAgICBAcGFyYW0gJG9wYWNpdHlcbi8vICAgICAgICAgQSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxLCB3aGVyZSAwIGlzIHRyYW5zcGFyZW50IGFuZCAxIGlzIG9wYXF1ZS5cblxuQG1peGluIG9wYWNpdHkoJG9wYWNpdHkpIHtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU2IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU3IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU4IHtcbiAgICBmaWx0ZXI6IHVucXVvdGUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0je3JvdW5kKCRvcGFjaXR5ICogMTAwKX0pXCIpO1xuICB9XG4gIG9wYWNpdHk6ICRvcGFjaXR5O1xufVxuXG4vLyBNYWtlIGFuIGVsZW1lbnQgY29tcGxldGVseSB0cmFuc3BhcmVudC5cbkBtaXhpbiB0cmFuc3BhcmVudCB7IEBpbmNsdWRlIG9wYWNpdHkoMCk7IH1cblxuLy8gTWFrZSBhbiBlbGVtZW50IGNvbXBsZXRlbHkgb3BhcXVlLlxuQG1peGluIG9wYXF1ZSB7IEBpbmNsdWRlIG9wYWNpdHkoMSk7IH1cbiIsIi8vIEBkb2Mgb2ZmXG4vLyBUaGVzZSBkZWZhdWx0cyBtYWtlIHRoZSBhcmd1bWVudHMgb3B0aW9uYWwgZm9yIHRoaXMgbWl4aW5cbi8vIElmIHlvdSBsaWtlLCBzZXQgZGlmZmVyZW50IGRlZmF1bHRzIGJlZm9yZSBpbXBvcnRpbmcuXG4vLyBAZG9jIG9uXG5cbkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuXG4vLyBUaGUgZGVmYXVsdCBjb2xvciBmb3IgYm94IHNoYWRvd3NcbiRkZWZhdWx0LWJveC1zaGFkb3ctY29sb3I6ICMzMzMzMzMgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGhvcml6b250YWwgb2Zmc2V0LiBQb3NpdGl2ZSBpcyB0byB0aGUgcmlnaHQuXG4kZGVmYXVsdC1ib3gtc2hhZG93LWgtb2Zmc2V0OiAwcHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IHZlcnRpY2FsIG9mZnNldC4gUG9zaXRpdmUgaXMgZG93bi5cbiRkZWZhdWx0LWJveC1zaGFkb3ctdi1vZmZzZXQ6IDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgYmx1ciBsZW5ndGguXG4kZGVmYXVsdC1ib3gtc2hhZG93LWJsdXI6IDVweCAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgc3ByZWFkIGxlbmd0aC5cbiRkZWZhdWx0LWJveC1zaGFkb3ctc3ByZWFkIDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IHNoYWRvdyBpbnNldDogaW5zZXQgb3IgZmFsc2UgKGZvciBzdGFuZGFyZCBzaGFkb3cpLlxuJGRlZmF1bHQtYm94LXNoYWRvdy1pbnNldCA6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBQcm92aWRlcyBjcm9zcy1icm93c2VyIGZvciBXZWJraXQsIEdlY2tvLCBhbmQgQ1NTMyBib3ggc2hhZG93cyB3aGVuIG9uZSBvciBtb3JlIGJveFxuLy8gc2hhZG93cyBhcmUgbmVlZGVkLlxuLy8gRWFjaCBzaGFkb3cgYXJndW1lbnQgc2hvdWxkIGFkaGVyZSB0byB0aGUgc3RhbmRhcmQgY3NzMyBzeW50YXggZm9yIHRoZVxuLy8gYm94LXNoYWRvdyBwcm9wZXJ0eS5cbkBtaXhpbiBib3gtc2hhZG93KFxuICAkc2hhZG93LTEgOiBkZWZhdWx0LFxuICAkc2hhZG93LTIgOiBmYWxzZSxcbiAgJHNoYWRvdy0zIDogZmFsc2UsXG4gICRzaGFkb3ctNCA6IGZhbHNlLFxuICAkc2hhZG93LTUgOiBmYWxzZSxcbiAgJHNoYWRvdy02IDogZmFsc2UsXG4gICRzaGFkb3ctNyA6IGZhbHNlLFxuICAkc2hhZG93LTggOiBmYWxzZSxcbiAgJHNoYWRvdy05IDogZmFsc2UsXG4gICRzaGFkb3ctMTA6IGZhbHNlXG4pIHtcbiAgQGlmICRzaGFkb3ctMSA9PSBkZWZhdWx0IHtcbiAgICAkc2hhZG93LTEgOiAtY29tcGFzcy1zcGFjZS1saXN0KGNvbXBhY3QoaWYoJGRlZmF1bHQtYm94LXNoYWRvdy1pbnNldCwgaW5zZXQsIGZhbHNlKSwgJGRlZmF1bHQtYm94LXNoYWRvdy1oLW9mZnNldCwgJGRlZmF1bHQtYm94LXNoYWRvdy12LW9mZnNldCwgJGRlZmF1bHQtYm94LXNoYWRvdy1ibHVyLCAkZGVmYXVsdC1ib3gtc2hhZG93LXNwcmVhZCwgJGRlZmF1bHQtYm94LXNoYWRvdy1jb2xvcikpO1xuICB9XG4gICRzaGFkb3cgOiBjb21wYWN0KCRzaGFkb3ctMSwgJHNoYWRvdy0yLCAkc2hhZG93LTMsICRzaGFkb3ctNCwgJHNoYWRvdy01LCAkc2hhZG93LTYsICRzaGFkb3ctNywgJHNoYWRvdy04LCAkc2hhZG93LTksICRzaGFkb3ctMTApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm94LXNoYWRvdywgJHNoYWRvdyxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFByb3ZpZGVzIGEgc2luZ2xlIGNyb3NzLWJyb3dzZXIgQ1NTIGJveCBzaGFkb3cgZm9yIFdlYmtpdCwgR2Vja28sIGFuZCBDU1MzLlxuLy8gSW5jbHVkZXMgZGVmYXVsdCBhcmd1bWVudHMgZm9yIGhvcml6b250YWwgb2Zmc2V0LCB2ZXJ0aWNhbCBvZmZzZXQsIGJsdXIgbGVuZ3RoLCBzcHJlYWQgbGVuZ3RoLCBjb2xvciBhbmQgaW5zZXQuXG5AbWl4aW4gc2luZ2xlLWJveC1zaGFkb3coXG4gICRob2ZmICAgOiAkZGVmYXVsdC1ib3gtc2hhZG93LWgtb2Zmc2V0LFxuICAkdm9mZiAgIDogJGRlZmF1bHQtYm94LXNoYWRvdy12LW9mZnNldCxcbiAgJGJsdXIgICA6ICRkZWZhdWx0LWJveC1zaGFkb3ctYmx1cixcbiAgJHNwcmVhZCA6ICRkZWZhdWx0LWJveC1zaGFkb3ctc3ByZWFkLFxuICAkY29sb3IgIDogJGRlZmF1bHQtYm94LXNoYWRvdy1jb2xvcixcbiAgJGluc2V0ICA6ICRkZWZhdWx0LWJveC1zaGFkb3ctaW5zZXRcbikge1xuICBAaWYgbm90ICgkaW5zZXQgPT0gdHJ1ZSBvciAkaW5zZXQgPT0gZmFsc2Ugb3IgJGluc2V0ID09IGluc2V0KSB7XG4gICAgQHdhcm4gXCIkaW5zZXQgZXhwZWN0ZWQgdG8gYmUgdHJ1ZSBvciB0aGUgaW5zZXQga2V5d29yZC4gR290ICN7JGluc2V0fSBpbnN0ZWFkLiBVc2luZzogaW5zZXRcIjtcbiAgfVxuXG4gIEBpZiAkY29sb3IgPT0gbm9uZSB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfSBAZWxzZSB7XG4gICAgJGZ1bGwgICA6ICRob2ZmICR2b2ZmO1xuICAgIEBpZiAkYmx1ciAgIHsgJGZ1bGw6ICRmdWxsICRibHVyOyAgIH1cbiAgICBAaWYgJHNwcmVhZCB7ICRmdWxsOiAkZnVsbCAkc3ByZWFkOyB9XG4gICAgQGlmICRjb2xvciAgeyAkZnVsbDogJGZ1bGwgJGNvbG9yOyAgfVxuICAgIEBpZiAkaW5zZXQgIHsgJGZ1bGw6IGluc2V0ICRmdWxsOyAgIH1cbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmdWxsKTtcbiAgfVxufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBUaGVzZSBkZWZhdWx0cyBtYWtlIHRoZSBhcmd1bWVudHMgb3B0aW9uYWwgZm9yIHRoaXMgbWl4aW5cbi8vIElmIHlvdSBsaWtlLCBzZXQgZGlmZmVyZW50IGRlZmF1bHRzIGluIHlvdXIgcHJvamVjdFxuXG4kZGVmYXVsdC10ZXh0LXNoYWRvdy1jb2xvcjogICAgI2FhYSAhZGVmYXVsdDtcbiRkZWZhdWx0LXRleHQtc2hhZG93LWgtb2Zmc2V0OiAwcHggICFkZWZhdWx0O1xuJGRlZmF1bHQtdGV4dC1zaGFkb3ctdi1vZmZzZXQ6IDBweCAgIWRlZmF1bHQ7XG4kZGVmYXVsdC10ZXh0LXNoYWRvdy1ibHVyOiAgICAgMXB4ICAhZGVmYXVsdDtcbiRkZWZhdWx0LXRleHQtc2hhZG93LXNwcmVhZDogICBmYWxzZSAgIWRlZmF1bHQ7XG5cbi8vIFByb3ZpZGVzIGNyb3NzLWJyb3dzZXIgdGV4dCBzaGFkb3dzIHdoZW4gb25lIG9yIG1vcmUgc2hhZG93cyBhcmUgbmVlZGVkLlxuLy8gRWFjaCBzaGFkb3cgYXJndW1lbnQgc2hvdWxkIGFkaGVyZSB0byB0aGUgc3RhbmRhcmQgY3NzMyBzeW50YXggZm9yIHRoZVxuLy8gdGV4dC1zaGFkb3cgcHJvcGVydHkuXG4vL1xuLy8gTm90ZTogaWYgYW55IHNoYWRvdyBoYXMgYSBzcHJlYWQgcGFyYW1ldGVyLCB0aGlzIHdpbGwgY2F1c2UgdGhlIG1peGluXG4vLyB0byBlbWl0IHRoZSBzaGFkb3cgZGVjbGFyYXRpb24gdHdpY2UsIGZpcnN0IHdpdGhvdXQgdGhlIHNwcmVhZCxcbi8vIHRoZW4gd2l0aCB0aGUgc3ByZWFkIGluY2x1ZGVkLiBUaGlzIGFsbG93cyB5b3UgdG8gcHJvZ3Jlc3NpdmVseVxuLy8gZW5oYW5jZSB0aGUgYnJvd3NlcnMgdGhhdCBkbyBzdXBwb3J0IHRoZSBzcHJlYWQgcGFyYW1ldGVyLlxuQG1peGluIHRleHQtc2hhZG93KFxuICAkc2hhZG93LTEgOiBkZWZhdWx0LFxuICAkc2hhZG93LTIgOiBmYWxzZSxcbiAgJHNoYWRvdy0zIDogZmFsc2UsXG4gICRzaGFkb3ctNCA6IGZhbHNlLFxuICAkc2hhZG93LTUgOiBmYWxzZSxcbiAgJHNoYWRvdy02IDogZmFsc2UsXG4gICRzaGFkb3ctNyA6IGZhbHNlLFxuICAkc2hhZG93LTggOiBmYWxzZSxcbiAgJHNoYWRvdy05IDogZmFsc2UsXG4gICRzaGFkb3ctMTA6IGZhbHNlXG4pIHtcbiAgQGlmICRzaGFkb3ctMSA9PSBkZWZhdWx0IHtcbiAgICAkc2hhZG93LTE6IGNvbXBhY3QoJGRlZmF1bHQtdGV4dC1zaGFkb3ctaC1vZmZzZXQgJGRlZmF1bHQtdGV4dC1zaGFkb3ctdi1vZmZzZXQgJGRlZmF1bHQtdGV4dC1zaGFkb3ctYmx1ciAkZGVmYXVsdC10ZXh0LXNoYWRvdy1zcHJlYWQgJGRlZmF1bHQtdGV4dC1zaGFkb3ctY29sb3IpO1xuICB9XG4gICRzaGFkb3dzLXdpdGhvdXQtc3ByZWFkOiBqb2luKCgpLCgpLGNvbW1hKTtcbiAgJHNoYWRvd3M6IGpvaW4oKCksKCksY29tbWEpO1xuICAkaGFzLXNwcmVhZDogZmFsc2U7XG4gIEBlYWNoICRzaGFkb3cgaW4gY29tcGFjdCgkc2hhZG93LTEsICRzaGFkb3ctMiwgJHNoYWRvdy0zLCAkc2hhZG93LTQsICRzaGFkb3ctNSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICRzaGFkb3ctNiwgJHNoYWRvdy03LCAkc2hhZG93LTgsICRzaGFkb3ctOSwgJHNoYWRvdy0xMCkge1xuICAgIEBpZiBsZW5ndGgoJHNoYWRvdykgPiA0IHtcbiAgICAgICRoYXMtc3ByZWFkOiB0cnVlO1xuICAgICAgJHNoYWRvd3Mtd2l0aG91dC1zcHJlYWQ6IGFwcGVuZCgkc2hhZG93cy13aXRob3V0LXNwcmVhZCwgbnRoKCRzaGFkb3csMSkgbnRoKCRzaGFkb3csMikgbnRoKCRzaGFkb3csMykgbnRoKCRzaGFkb3csNSkpO1xuICAgICAgJHNoYWRvd3M6IGFwcGVuZCgkc2hhZG93cywgJHNoYWRvdyk7XG4gICAgfSBlbHNlIHtcbiAgICAgICRzaGFkb3dzLXdpdGhvdXQtc3ByZWFkOiBhcHBlbmQoJHNoYWRvd3Mtd2l0aG91dC1zcHJlYWQsICRzaGFkb3cpO1xuICAgICAgJHNoYWRvd3M6IGFwcGVuZCgkc2hhZG93cywgJHNoYWRvdyk7XG4gICAgfVxuICB9XG4gIEBpZiAkaGFzLXNwcmVhZCB7XG4gICAgdGV4dC1zaGFkb3c6ICRzaGFkb3dzLXdpdGhvdXQtc3ByZWFkO1xuICB9XG4gIHRleHQtc2hhZG93OiAkc2hhZG93cztcbn1cblxuLy8gUHJvdmlkZXMgYSBzaW5nbGUgY3Jvc3MtYnJvd3NlciBDU1MgdGV4dCBzaGFkb3cuXG4vL1xuLy8gUHJvdmlkZXMgc2Vuc2libGUgZGVmYXVsdHMgZm9yIHRoZSBjb2xvciwgaG9yaXpvbnRhbCBvZmZzZXQsIHZlcnRpY2FsIG9mZnNldCwgYmx1ciwgYW5kIHNwcmVhZFxuLy8gYWNjb3JkaW5nIHRvIHRoZSBjb25maWd1cmF0aW9uIGRlZmF1bHRzIGFib3ZlLlxuQG1peGluIHNpbmdsZS10ZXh0LXNoYWRvdyhcbiAgJGhvZmY6IGZhbHNlLFxuICAkdm9mZjogZmFsc2UsXG4gICRibHVyOiBmYWxzZSxcbiAgJHNwcmVhZDogZmFsc2UsXG4gICRjb2xvcjogZmFsc2Vcbikge1xuICAvLyBBIGxvdCBvZiBwZW9wbGUgdGhpbmsgdGhlIGNvbG9yIGNvbWVzIGZpcnN0LiBJdCBkb2Vzbid0LlxuICBAaWYgdHlwZS1vZigkaG9mZikgPT0gY29sb3Ige1xuICAgICR0ZW1wLWNvbG9yOiAkaG9mZjtcbiAgICAkaG9mZjogJHZvZmY7XG4gICAgJHZvZmY6ICRibHVyO1xuICAgICRibHVyOiAkc3ByZWFkO1xuICAgICRzcHJlYWQ6ICRjb2xvcjtcbiAgICAkY29sb3I6ICR0ZW1wLWNvbG9yO1xuICB9XG4gIC8vIENhbid0IHJlbHkgb24gZGVmYXVsdCBhc3NpZ25tZW50IHdpdGggbXVsdGlwbGUgc3VwcG9ydGVkIGFyZ3VtZW50IG9yZGVycy5cbiAgJGhvZmY6ICAgaWYoJGhvZmYsICAgJGhvZmYsICAgJGRlZmF1bHQtdGV4dC1zaGFkb3ctaC1vZmZzZXQpO1xuICAkdm9mZjogICBpZigkdm9mZiwgICAkdm9mZiwgICAkZGVmYXVsdC10ZXh0LXNoYWRvdy12LW9mZnNldCk7XG4gICRibHVyOiAgIGlmKCRibHVyLCAgICRibHVyLCAgICRkZWZhdWx0LXRleHQtc2hhZG93LWJsdXIgICAgKTtcbiAgJHNwcmVhZDogaWYoJHNwcmVhZCwgJHNwcmVhZCwgJGRlZmF1bHQtdGV4dC1zaGFkb3ctc3ByZWFkICApO1xuICAkY29sb3I6ICBpZigkY29sb3IsICAkY29sb3IsICAkZGVmYXVsdC10ZXh0LXNoYWRvdy1jb2xvciAgICk7XG4gIC8vIFdlIGRvbid0IG5lZWQgZXhwZXJpbWVudGFsIHN1cHBvcnQgZm9yIHRoaXMgcHJvcGVydHkuXG4gIEBpZiAkY29sb3IgPT0gbm9uZSBvciAkaG9mZiA9PSBub25lIHtcbiAgICBAaW5jbHVkZSB0ZXh0LXNoYWRvdyhub25lKTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgdGV4dC1zaGFkb3coY29tcGFjdCgkaG9mZiAkdm9mZiAkYmx1ciAkc3ByZWFkICRjb2xvcikpO1xuICB9XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIFNwZWNpZnkgdGhlIHNob3J0aGFuZCBgY29sdW1uc2AgcHJvcGVydHkuXG4vL1xuLy8gRXhhbXBsZTpcbi8vXG4vLyAgICAgQGluY2x1ZGUgY29sdW1ucygyMGVtIDIpXG5AbWl4aW4gY29sdW1ucygkd2lkdGgtYW5kLWNvdW50KSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW5zLCAkd2lkdGgtYW5kLWNvdW50LFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBTcGVjaWZ5IHRoZSBudW1iZXIgb2YgY29sdW1uc1xuQG1peGluIGNvbHVtbi1jb3VudCgkY291bnQpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi1jb3VudCwgJGNvdW50LFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBTcGVjaWZ5IHRoZSBnYXAgYmV0d2VlbiBjb2x1bW5zIGUuZy4gYDIwcHhgXG5AbWl4aW4gY29sdW1uLWdhcCgkd2lkdGgpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi1nYXAsICR3aWR0aCxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gU3BlY2lmeSB0aGUgd2lkdGggb2YgY29sdW1ucyBlLmcuIGAxMDBweGBcbkBtaXhpbiBjb2x1bW4td2lkdGgoJHdpZHRoKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4td2lkdGgsICR3aWR0aCxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gU3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIHJ1bGUgYmV0d2VlbiBjb2x1bW5zIGUuZy4gYDFweGBcbkBtaXhpbiBjb2x1bW4tcnVsZS13aWR0aCgkd2lkdGgpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi1ydWxlLXdpZHRoLCAkd2lkdGgsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFNwZWNpZnkgdGhlIHN0eWxlIG9mIHRoZSBydWxlIGJldHdlZW4gY29sdW1ucyBlLmcuIGBkb3R0ZWRgLlxuLy8gVGhpcyB3b3JrcyBsaWtlIGJvcmRlci1zdHlsZS5cbkBtaXhpbiBjb2x1bW4tcnVsZS1zdHlsZSgkc3R5bGUpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi1ydWxlLXN0eWxlLCB1bnF1b3RlKCRzdHlsZSksXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFNwZWNpZnkgdGhlIGNvbG9yIG9mIHRoZSBydWxlIGJldHdlZW4gY29sdW1ucyBlLmcuIGBibHVlYC5cbi8vIFRoaXMgd29ya3MgbGlrZSBib3JkZXItY29sb3IuXG5AbWl4aW4gY29sdW1uLXJ1bGUtY29sb3IoJGNvbG9yKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4tcnVsZS1jb2xvciwgJGNvbG9yLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBNaXhpbiBlbmNvbXBhc3NpbmcgYWxsIGNvbHVtbiBydWxlIHByb3BlcnRpZXNcbi8vIEZvciBleGFtcGxlOlxuLy9cbi8vICAgICBAaW5jbHVkZSBjb2x1bW4tcnVsZSgxcHgsIHNvbGlkLCAjYzAwKVxuLy9cbi8vIE9yIHRoZSB2YWx1ZXMgY2FuIGJlIHNwYWNlIHNlcGFyYXRlZDpcbi8vXG4vLyAgICAgQGluY2x1ZGUgY29sdW1uLXJ1bGUoMXB4IHNvbGlkICNjMDApXG5AbWl4aW4gY29sdW1uLXJ1bGUoJHdpZHRoLCAkc3R5bGU6IGZhbHNlLCAkY29sb3I6IGZhbHNlKSB7XG4gICRmdWxsIDogLWNvbXBhc3Mtc3BhY2UtbGlzdChjb21wYWN0KCR3aWR0aCwgJHN0eWxlLCAkY29sb3IpKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi1ydWxlLCAkZnVsbCxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gTWl4aW4gZm9yIHNldHRpbmcgY29sdW1uLWJyZWFrLWJlZm9yZVxuLy9cbi8vICogbGVnYWwgdmFsdWVzIGFyZSBhdXRvLCBhbHdheXMsIGF2b2lkLCBsZWZ0LCByaWdodCwgcGFnZSwgY29sdW1uLCBhdm9pZC1wYWdlLCBhdm9pZC1jb2x1bW5cbi8vXG4vLyAgRXhhbXBsZTogXG4vLyAgICBoMi5iZWZvcmUge0BpbmNsdWRlIGNvbHVtbi1icmVhay1iZWZvcmUoYWx3YXlzKTt9XG4vL1xuLy8gIFdoaWNoIGdlbmVyYXRlczogXG4vL1xuLy8gIGgyLmJlZm9yZSB7ICAgIFxuLy8gICAgLXdlYmtpdC1jb2x1bW4tYnJlYWstYmVmb3JlOiBhbHdheXM7XG4vLyAgICBjb2x1bW4tYnJlYWstYmVmb3JlOiBhbHdheXM7fVxuQG1peGluIGNvbHVtbi1icmVhay1iZWZvcmUoJHZhbHVlOiBhdXRvKXtcbiAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4tYnJlYWstYmVmb3JlLCAkdmFsdWUsIG5vdCgtbW96KSwgLXdlYmtpdCwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbCApO1xufVxuXG4vLyBNaXhpbiBmb3Igc2V0dGluZyBjb2x1bW4tYnJlYWstYWZ0ZXJcbi8vXG4vLyAqIGxlZ2FsIHZhbHVlcyBhcmUgYXV0bywgYWx3YXlzLCBhdm9pZCwgbGVmdCwgcmlnaHQsIHBhZ2UsIGNvbHVtbiwgYXZvaWQtcGFnZSwgYXZvaWQtY29sdW1uXG4vL1xuLy8gIEV4YW1wbGU6IFxuLy8gICAgaDIuYWZ0ZXIge0BpbmNsdWRlIGNvbHVtbi1icmVhay1hZnRlcihhbHdheXMpOyB9XG4vL1xuLy8gIFdoaWNoIGdlbmVyYXRlczogXG4vL1xuLy8gIGgyLmFmdGVyIHtcbi8vICAgIC13ZWJraXQtY29sdW1uLWJyZWFrLWFmdGVyOiBhbHdheXM7XG4vLyAgICBjb2x1bW4tYnJlYWstYWZ0ZXI6IGFsd2F5czsgfVxuQG1peGluIGNvbHVtbi1icmVhay1hZnRlcigkdmFsdWU6IGF1dG8pe1xuICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi1icmVhay1hZnRlciwgJHZhbHVlLCBub3QoLW1veiksIC13ZWJraXQsIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWwgKTtcbn1cblxuLy8gTWl4aW4gZm9yIHNldHRpbmcgY29sdW1uLWJyZWFrLWluc2lkZVxuLy9cbi8vICogbGVnYWwgdmFsdWVzIGFyZSBhdXRvLCBhdm9pZCwgYXZvaWQtcGFnZSwgYXZvaWQtY29sdW1uXG4vL1xuLy8gIEV4YW1wbGU6IFxuLy8gICAgaDIuaW5zaWRlIHtAaW5jbHVkZSBjb2x1bW4tYnJlYWstaW5zaWRlKCk7fVxuLy8gIFdoaWNoIGdlbmVyYXRlczogXG4vLyAgXG4vLyAgaDIuaW5zaWRlIHtcbi8vICAgIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXV0bztcbi8vICAgIGNvbHVtbi1icmVhay1pbnNpZGU6IGF1dG87fVxuQG1peGluIGNvbHVtbi1icmVhay1pbnNpZGUoJHZhbHVlOiBhdXRvKXtcbiAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4tYnJlYWstaW5zaWRlLCAkdmFsdWUsIG5vdCgtbW96KSwgLXdlYmtpdCwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbCApO1xufVxuXG4vLyBBbGwtcHVycG9zZSBtaXhpbiBmb3Igc2V0dGluZyBjb2x1bW4gYnJlYWtzLlxuLy9cbi8vICogbGVnYWwgdmFsdWVzIGZvciAkdHlwZSA6IGJlZm9yZSwgYWZ0ZXIsIGluc2lkZSBcbi8vICogbGVnYWwgdmFsdWVzIGZvciAnJHZhbHVlJyBhcmUgZGVwZW5kZW50IG9uICR0eXBlXG4vLyAgICAqIHdoZW4gJHR5cGUgPSBiZWZvcmUsIGxlZ2FsIHZhbHVlcyBhcmUgYXV0bywgYWx3YXlzLCBhdm9pZCwgbGVmdCwgcmlnaHQsIHBhZ2UsIGNvbHVtbiwgYXZvaWQtcGFnZSwgYXZvaWQtY29sdW1uXG4vLyAgICAqIHdoZW4gJHR5cGUgPSBhZnRlciwgbGVnYWwgdmFsdWVzIGFyZSBhdXRvLCBhbHdheXMsIGF2b2lkLCBsZWZ0LCByaWdodCwgcGFnZSwgY29sdW1uLCBhdm9pZC1wYWdlLCBhdm9pZC1jb2x1bW5cbi8vICAgICogd2hlbiAkdHlwZSA9IGluc2lkZSwgbGVnYWwgdmFsdWVzIGFyZSBhdXRvLCBhdm9pZCwgYXZvaWQtcGFnZSwgYXZvaWQtY29sdW1uXG4vLyAgXG4vLyAgRXhhbXBsZXM6IFxuLy8gICAgaDIuYmVmb3JlIHtAaW5jbHVkZSBjb2x1bW4tYnJlYWsoYmVmb3JlLCBhbHdheXMpO31cbi8vICAgIGgyLmFmdGVyIHtAaW5jbHVkZSBjb2x1bW4tYnJlYWsoYWZ0ZXIsIGFsd2F5cyk7IH1cbi8vICAgIGgyLmluc2lkZSB7QGluY2x1ZGUgY29sdW1uLWJyZWFrKGluc2lkZSk7IH1cbi8vXG4vLyAgV2hpY2ggZ2VuZXJhdGVzOiBcbi8vICBoMi5iZWZvcmUgeyAgICBcbi8vICAgIC13ZWJraXQtY29sdW1uLWJyZWFrLWJlZm9yZTogYWx3YXlzO1xuLy8gICAgY29sdW1uLWJyZWFrLWJlZm9yZTogYWx3YXlzO31cbi8vICBcbi8vICBoMi5hZnRlciB7XG4vLyAgICAtd2Via2l0LWNvbHVtbi1icmVhay1hZnRlcjogYWx3YXlzO1xuLy8gICAgY29sdW1uLWJyZWFrLWFmdGVyOiBhbHdheXM7IH1cbi8vXG4vLyAgaDIuaW5zaWRlIHtcbi8vICAgIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXV0bztcbi8vICAgIGNvbHVtbi1icmVhay1pbnNpZGU6IGF1dG87fVxuIFxuQG1peGluIGNvbHVtbi1icmVhaygkdHlwZTogYmVmb3JlLCAkdmFsdWU6IGF1dG8pe1xuICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKFwiY29sdW1uLWJyZWFrLSN7JHR5cGV9XCIsICR2YWx1ZSwgbm90KC1tb3opLCAtd2Via2l0LCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsICk7XG59IiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBDaGFuZ2UgdGhlIGJveCBtb2RlbCBmb3IgTW96aWxsYSwgV2Via2l0LCBJRTggYW5kIHRoZSBmdXR1cmVcbi8vXG4vLyBAcGFyYW0gJGJzXG4vLyAgIFsgY29udGVudC1ib3ggfCBib3JkZXItYm94IF1cblxuQG1peGluIGJveC1zaXppbmcoJGJzKSB7XG4gICRiczogdW5xdW90ZSgkYnMpO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm94LXNpemluZywgJGJzLFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gZGlzcGxheTpib3g7IG11c3QgYmUgdXNlZCBmb3IgYW55IG9mIHRoZSBvdGhlciBmbGV4Ym94IG1peGlucyB0byB3b3JrIHByb3Blcmx5XG5AbWl4aW4gZGlzcGxheS1ib3gge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwtdmFsdWUoZGlzcGxheSwgYm94LFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIERlZmF1bHQgYm94IG9yaWVudGF0aW9uLCBhc3N1bWluZyB0aGF0IHRoZSB1c2VyIHdhbnRzIHNvbWV0aGluZyBsZXNzIGJsb2NrLWxpa2VcbiRkZWZhdWx0LWJveC1vcmllbnQ6IGhvcml6b250YWwgIWRlZmF1bHQ7XG5cbi8vIEJveCBvcmllbnRhdGlvbiBbIGhvcml6b250YWwgfCB2ZXJ0aWNhbCB8IGlubGluZS1heGlzIHwgYmxvY2stYXhpcyB8IGluaGVyaXQgXVxuQG1peGluIGJveC1vcmllbnQoXG4gICRvcmllbnRhdGlvbjogJGRlZmF1bHQtYm94LW9yaWVudFxuKSB7XG4gICRvcmllbnRhdGlvbiA6IHVucXVvdGUoJG9yaWVudGF0aW9uKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1vcmllbnQsICRvcmllbnRhdGlvbixcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBEZWZhdWx0IGJveC1hbGlnblxuJGRlZmF1bHQtYm94LWFsaWduOiBzdHJldGNoICFkZWZhdWx0O1xuXG4vLyBCb3ggYWxpZ24gWyBzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaCBdXG5AbWl4aW4gYm94LWFsaWduKFxuICAkYWxpZ25tZW50OiAkZGVmYXVsdC1ib3gtYWxpZ25cbikge1xuICAkYWxpZ25tZW50IDogdW5xdW90ZSgkYWxpZ25tZW50KTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1hbGlnbiwgJGFsaWdubWVudCxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBEZWZhdWx0IGJveCBmbGV4XG4kZGVmYXVsdC1ib3gtZmxleDogMCAhZGVmYXVsdDtcblxuLy8gbWl4aW4gd2hpY2ggdGFrZXMgYW4gaW50IGFyZ3VtZW50IGZvciBib3ggZmxleC4gQXBwbHkgdGhpcyB0byB0aGUgY2hpbGRyZW4gaW5zaWRlIHRoZSBib3guXG4vL1xuLy8gRm9yIGV4YW1wbGU6IFwiZGl2LmRpc3BsYXktYm94ID4gZGl2LmNoaWxkLWJveFwiIHdvdWxkIGdldCB0aGUgYm94IGZsZXggbWl4aW4uXG5AbWl4aW4gYm94LWZsZXgoXG4gICRmbGV4OiAkZGVmYXVsdC1ib3gtZmxleFxuKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3gtZmxleCwgJGZsZXgsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gRGVmYXVsdCBmbGV4IGdyb3VwXG4kZGVmYXVsdC1ib3gtZmxleC1ncm91cDogMSAhZGVmYXVsdDtcblxuLy8gbWl4aW4gd2hpY2ggdGFrZXMgYW4gaW50IGFyZ3VtZW50IGZvciBmbGV4aWJsZSBncm91cGluZ1xuQG1peGluIGJveC1mbGV4LWdyb3VwKFxuICAkZ3JvdXA6ICRkZWZhdWx0LWJveC1mbGV4LWdyb3VwXG4pIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1mbGV4LWdyb3VwLCAkZ3JvdXAsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gZGVmYXVsdCBmb3Igb3JkaW5hbCBncm91cFxuJGRlZmF1bHQtYm94LW9yZGluYWwtZ3JvdXA6IDEgIWRlZmF1bHQ7XG5cbi8vIG1peGluIHdoaWNoIHRha2VzIGFuIGludCBhcmd1bWVudCBmb3Igb3JkaW5hbCBncm91cGluZyBhbmQgcmVhcnJhbmdpbmcgdGhlIG9yZGVyXG5AbWl4aW4gYm94LW9yZGluYWwtZ3JvdXAoXG4gICRncm91cDogJGRlZmF1bHQtb3JkaW5hbC1mbGV4LWdyb3VwXG4pIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1vcmRpbmFsLWdyb3VwLCAkZ3JvdXAsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gQm94IGRpcmVjdGlvbiBkZWZhdWx0IHZhbHVlXG4kZGVmYXVsdC1ib3gtZGlyZWN0aW9uOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vIG1peGluIGZvciBib3gtZGlyZWN0aW9uIFsgbm9ybWFsIHwgcmV2ZXJzZSB8IGluaGVyaXQgXVxuQG1peGluIGJveC1kaXJlY3Rpb24oXG4gICRkaXJlY3Rpb246ICRkZWZhdWx0LWJveC1kaXJlY3Rpb25cbikge1xuICAkZGlyZWN0aW9uOiB1bnF1b3RlKCRkaXJlY3Rpb24pO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm94LWRpcmVjdGlvbiwgJGRpcmVjdGlvbixcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBkZWZhdWx0IGZvciBib3ggbGluZXNcbiRkZWZhdWx0LWJveC1saW5lczogc2luZ2xlICFkZWZhdWx0O1xuXG4vLyBtaXhpbiBmb3IgYm94IGxpbmVzIFsgc2luZ2xlIHwgbXVsdGlwbGUgXVxuQG1peGluIGJveC1saW5lcyhcbiAgJGxpbmVzOiAkZGVmYXVsdC1ib3gtbGluZXNcbikge1xuICAkbGluZXM6IHVucXVvdGUoJGxpbmVzKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1saW5lcywgJGxpbmVzLFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIGRlZmF1bHQgZm9yIGJveCBwYWNrXG4kZGVmYXVsdC1ib3gtcGFjazogc3RhcnQgIWRlZmF1bHQ7XG5cbi8vIG1peGluIGZvciBib3ggcGFjayBbIHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSBdXG5AbWl4aW4gYm94LXBhY2soXG4gICRwYWNrOiAkZGVmYXVsdC1ib3gtcGFja1xuKSB7XG4gICRwYWNrOiB1bnF1b3RlKCRwYWNrKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1wYWNrLCAkcGFjayxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufSIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gVGhlIGRlZmF1bHQgdmFsdWUgaXMgYHBhZGRpbmctYm94YCAtLSB0aGUgYm94IG1vZGVsIHVzZWQgYnkgbW9kZXJuIGJyb3dzZXJzLlxuLy9cbi8vIElmIHlvdSB3aXNoIHRvIGRvIHNvLCB5b3UgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGNvbnN0YW50IHdpdGggYGJvcmRlci1ib3hgXG4vL1xuLy8gVG8gb3ZlcnJpZGUgdG8gdGhlIGRlZmF1bHQgYm9yZGVyLWJveCBtb2RlbCwgdXNlIHRoaXMgY29kZTpcbi8vICAgICAkZGVmYXVsdC1iYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3hcblxuJGRlZmF1bHQtYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveCAhZGVmYXVsdDtcblxuLy8gQ2xpcCB0aGUgYmFja2dyb3VuZCAoaW1hZ2UgYW5kIGNvbG9yKSBhdCB0aGUgZWRnZSBvZiB0aGUgcGFkZGluZyBvciBib3JkZXIuXG4vL1xuLy8gTGVnYWwgVmFsdWVzOlxuLy9cbi8vICAgKiBwYWRkaW5nLWJveFxuLy8gICAqIGJvcmRlci1ib3hcbi8vICAgKiB0ZXh0XG5cbkBtaXhpbiBiYWNrZ3JvdW5kLWNsaXAoJGNsaXA6ICRkZWZhdWx0LWJhY2tncm91bmQtY2xpcCkge1xuICAvLyB3ZWJraXQgYW5kIG1vemlsbGEgdXNlIHRoZSBkZXByZWNhdGVkIHNob3J0IFtib3JkZXIgfCBwYWRkaW5nXVxuICAkY2xpcDogdW5xdW90ZSgkY2xpcCk7XG4gICRkZXByZWNhdGVkOiAkY2xpcDtcbiAgQGlmICRjbGlwID09IHBhZGRpbmctYm94IHsgJGRlcHJlY2F0ZWQ6IHBhZGRpbmc7IH1cbiAgQGlmICRjbGlwID09IGJvcmRlci1ib3ggeyAkZGVwcmVjYXRlZDogYm9yZGVyOyB9XG4gIC8vIFN1cHBvcnQgZm9yIHdlYmtpdCBhbmQgbW96aWxsYSdzIHVzZSBvZiB0aGUgZGVwcmVjYXRlZCBzaG9ydCBmb3JtXG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChiYWNrZ3JvdW5kLWNsaXAsICRkZXByZWNhdGVkLFxuICAgIC1tb3osXG4gICAgLXdlYmtpdCxcbiAgICBub3QoLW8pLFxuICAgIG5vdCgtbXMpLFxuICAgIG5vdCgta2h0bWwpLFxuICAgIG5vdCBvZmZpY2lhbFxuICApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYmFja2dyb3VuZC1jbGlwLCAkY2xpcCxcbiAgICBub3QoLW1veiksXG4gICAgbm90KC13ZWJraXQpLFxuICAgIG5vdCgtbyksXG4gICAgbm90KC1tcyksXG4gICAgLWtodG1sLFxuICAgIG9mZmljaWFsXG4gICk7XG59XG4iLCIvLyBPdmVycmlkZSBgJGRlZmF1bHQtYmFja2dyb3VuZC1vcmlnaW5gIHRvIGNoYW5nZSB0aGUgZGVmYXVsdC5cblxuQGltcG9ydCBcInNoYXJlZFwiO1xuXG4kZGVmYXVsdC1iYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3ggIWRlZmF1bHQ7XG5cbi8vIFBvc2l0aW9uIHRoZSBiYWNrZ3JvdW5kIG9mZiB0aGUgZWRnZSBvZiB0aGUgcGFkZGluZywgYm9yZGVyIG9yIGNvbnRlbnRcbi8vXG4vLyAqIFBvc3NpYmxlIHZhbHVlczpcbi8vICAgKiBgcGFkZGluZy1ib3hgXG4vLyAgICogYGJvcmRlci1ib3hgXG4vLyAgICogYGNvbnRlbnQtYm94YFxuLy8gKiBicm93c2VyIGRlZmF1bHRzIHRvIGBwYWRkaW5nLWJveGBcbi8vICogbWl4aW4gZGVmYXVsdHMgdG8gYGNvbnRlbnQtYm94YFxuXG5cbkBtaXhpbiBiYWNrZ3JvdW5kLW9yaWdpbigkb3JpZ2luOiAkZGVmYXVsdC1iYWNrZ3JvdW5kLW9yaWdpbikge1xuICAkb3JpZ2luOiB1bnF1b3RlKCRvcmlnaW4pO1xuICAvLyB3ZWJraXQgYW5kIG1vemlsbGEgdXNlIHRoZSBkZXByZWNhdGVkIHNob3J0IFtib3JkZXIgfCBwYWRkaW5nIHwgY29udGVudF1cbiAgJGRlcHJlY2F0ZWQ6ICRvcmlnaW47XG4gIEBpZiAkb3JpZ2luID09IHBhZGRpbmctYm94IHsgJGRlcHJlY2F0ZWQ6IHBhZGRpbmc7IH1cbiAgQGlmICRvcmlnaW4gPT0gYm9yZGVyLWJveCAgeyAkZGVwcmVjYXRlZDogYm9yZGVyOyAgfVxuICBAaWYgJG9yaWdpbiA9PSBjb250ZW50LWJveCB7ICRkZXByZWNhdGVkOiBjb250ZW50OyB9XG5cbiAgLy8gU3VwcG9ydCBmb3Igd2Via2l0IGFuZCBtb3ppbGxhJ3MgdXNlIG9mIHRoZSBkZXByZWNhdGVkIHNob3J0IGZvcm1cbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJhY2tncm91bmQtb3JpZ2luLCAkZGVwcmVjYXRlZCxcbiAgICAtbW96LFxuICAgIC13ZWJraXQsXG4gICAgbm90KC1vKSxcbiAgICBub3QoLW1zKSxcbiAgICBub3QoLWtodG1sKSxcbiAgICBub3Qgb2ZmaWNpYWxcbiAgKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJhY2tncm91bmQtb3JpZ2luLCAkb3JpZ2luLFxuICAgIG5vdCgtbW96KSxcbiAgICBub3QoLXdlYmtpdCksXG4gICAgLW8sXG4gICAgLW1zLFxuICAgIC1raHRtbCxcbiAgICBvZmZpY2lhbFxuICApO1xufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBDcm9zcy1icm93c2VyIHN1cHBvcnQgZm9yIEBmb250LWZhY2UuIFN1cHBvcnRzIElFLCBHZWNrbywgV2Via2l0LCBPcGVyYS5cbi8vXG4vLyAqICRuYW1lIGlzIHJlcXVpcmVkLCBhcmJpdHJhcnksIGFuZCB3aGF0IHlvdSB3aWxsIHVzZSBpbiBmb250IHN0YWNrcy5cbi8vICogJGZvbnQtZmlsZXMgaXMgcmVxdWlyZWQgdXNpbmcgZm9udC1maWxlcygncmVsYXRpdmUvbG9jYXRpb24nLCAnZm9ybWF0JykuXG4vLyAgIGZvciBiZXN0IHJlc3VsdHMgdXNlIHRoaXMgb3JkZXI6IHdvZmYsIG9wZW50eXBlL3RydWV0eXBlLCBzdmdcbi8vICogJGVvdCBpcyByZXF1aXJlZCBieSBJRSwgYW5kIGlzIGEgcmVsYXRpdmUgbG9jYXRpb24gb2YgdGhlIGVvdCBmaWxlLlxuLy8gKiAkd2VpZ2h0IHNob3dzIGlmIHRoZSBmb250IGlzIGJvbGQsIGRlZmF1bHRzIHRvIG5vcm1hbFxuLy8gKiAkc3R5bGUgZGVmYXVsdHMgdG8gbm9ybWFsLCBtaWdodCBiZSBhbHNvIGl0YWxpY1xuLy8gKiBGb3IgYW5kcm9pZCAyLjIgQ29tcGF0aWJsaXR5LCBwbGVhc2UgZW5zdXJlIHRoYXQgeW91ciB3ZWIgcGFnZSBoYXNcbi8vICAgYSBtZXRhIHZpZXdwb3J0IHRhZy5cbi8vICogVG8gc3VwcG9ydCBpT1MgPCA0LjIsIGFuIFNWRyBmaWxlIG11c3QgYmUgcHJvdmlkZWRcbi8vXG4vLyBJZiB5b3UgbmVlZCB0byBnZW5lcmF0ZSBvdGhlciBmb3JtYXRzIGNoZWNrIG91dCB0aGUgRm9udCBTcXVpcnJlbFxuLy8gW2ZvbnQgZ2VuZXJhdG9yXShodHRwOi8vd3d3LmZvbnRzcXVpcnJlbC5jb20vZm9udGZhY2UvZ2VuZXJhdG9yKVxuLy9cblxuLy8gSW4gb3JkZXIgdG8gcmVmZXIgdG8gYSBzcGVjaWZpYyBzdHlsZSBvZiB0aGUgZm9udCBpbiB5b3VyIHN0eWxlc2hlZXRzIGFzIFxuLy8gZS5nLiBcImZvbnQtc3R5bGU6IGl0YWxpYztcIiwgIHlvdSBtYXkgYWRkIGEgY291cGxlIG9mIEBmb250LWZhY2UgaW5jbHVkZXNcbi8vIGNvbnRhaW5pbmcgdGhlIHJlc3BlY3RpdmUgZm9udCBmaWxlcyBmb3IgZWFjaCBzdHlsZSBhbmQgc3BlY3lpbmdcbi8vIHJlc3BlY3RpdmUgdGhlICRzdHlsZSBwYXJhbWV0ZXIuXG5cbi8vIE9yZGVyIG9mIHRoZSBpbmNsdWRlcyBtYXR0ZXJzLCBhbmQgaXQgaXM6IG5vcm1hbCwgYm9sZCwgaXRhbGljLCBib2xkK2l0YWxpYy5cblxuQG1peGluIGZvbnQtZmFjZShcbiAgJG5hbWUsIFxuICAkZm9udC1maWxlcywgXG4gICRlb3Q6IGZhbHNlLFxuICAkd2VpZ2h0OiBmYWxzZSxcbiAgJHN0eWxlOiBmYWxzZVxuKSB7XG4gICRpZWZvbnQ6IHVucXVvdGUoXCIjeyRlb3R9PyNpZWZpeFwiKTtcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcbiAgICBAaWYgJGVvdCB7XG4gICAgICBzcmM6IGZvbnQtdXJsKCRlb3QpO1xuICAgICAgJGZvbnQtZmlsZXM6IGZvbnQtdXJsKCRpZWZvbnQpIHVucXVvdGUoXCJmb3JtYXQoJ2VvdCcpXCIpLCAkZm9udC1maWxlczsgXG4gICAgfVxuICAgIHNyYzogJGZvbnQtZmlsZXM7XG4gICAgQGlmICR3ZWlnaHQge1xuICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG4gICAgfVxuICAgIEBpZiAkc3R5bGUge1xuICAgICAgZm9udC1zdHlsZTogJHN0eWxlO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBAZG9jIG9mZlxuLy8gTm90ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTYWZhcmksIENocm9tZSwgYW5kIEZpcmVmb3ggYWxsIHN1cHBvcnQgM0QgdHJhbnNmb3Jtcy4gSG93ZXZlcixcbi8vIG9ubHkgaW4gdGhlIG1vc3QgcmVjZW50IGJ1aWxkcy4gWW91IHNob3VsZCBhbHNvIHByb3ZpZGUgZmFsbGJhY2sgMmQgc3VwcG9ydCBmb3Jcbi8vIE9wZXJhIGFuZCBJRS4gSUUxMCBpcyBzbGF0ZWQgdG8gaGF2ZSAzZCBlbmFibGVkLCBidXQgaXMgY3VycmVudGx5IHVucmVsZWFzZWQuXG4vLyBUbyBtYWtlIHRoYXQgZWFzeSwgYWxsIDJEIHRyYW5zZm9ybXMgaW5jbHVkZSBhbiBicm93c2VyLXRhcmdldGluZyB0b2dnbGUgKCRvbmx5M2QpXG4vLyB0byBzd2l0Y2ggYmV0d2VlbiB0aGUgdHdvIHN1cHBvcnQgbGlzdHMuIFRoZSB0b2dnbGUgZGVmYXVsdHMgdG8gJ2ZhbHNlJyAoMkQpLFxuLy8gYW5kIGFsc28gYWNjZXB0cyAndHJ1ZScgKDNEKS4gQ3VycmVudGx5IHRoZSBsaXN0cyBhcmUgYXMgZm9sbG93czpcbi8vIDJEOiBNb3ppbGxhLCBXZWJraXQsIE9wZXJhLCBPZmZpY2lhbFxuLy8gM0Q6IFdlYmtpdCwgRmlyZWZveC5cblxuLy8gQXZhaWxhYmxlIFRyYW5zZm9ybXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtIFNjYWxlICgyZCBhbmQgM2QpXG4vLyAtIFJvdGF0ZSAoMmQgYW5kIDNkKVxuLy8gLSBUcmFuc2xhdGUgKDJkIGFuZCAzZClcbi8vIC0gU2tldyAoMmQgb25seSlcblxuLy8gVHJhbnNmb3JtIFBhcmFtZXRlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtIFRyYW5zZm9ybSBPcmlnaW4gKDJkIGFuZCAzZClcbi8vIC0gUGVyc3BlY3RpdmUgKDNkKVxuLy8gLSBQZXJzcGVjdGl2ZSBPcmlnaW4gKDNkKVxuLy8gLSBUcmFuc2Zvcm0gU3R5bGUgKDNkKVxuLy8gLSBCYWNrZmFjZSBWaXNpYmlsaXR5ICgzZClcblxuLy8gTWl4aW5zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyB0cmFuc2Zvcm0tb3JpZ2luXG4vLyAgLSBzaG9ydGN1dHM6ICB0cmFuc2Zvcm0tb3JpZ2luMmQsIHRyYW5zZm9ybS1vcmlnaW4zZFxuLy8gIC0gaGVscGVyczogICAgYXBwbHktb3JpZ2luXG4vLyB0cmFuc2Zvcm1cbi8vICAtIHNob3J0Y3V0czogIHRyYW5zZm9ybTJkLCB0cmFuc2Zvcm0zZFxuLy8gIC0gaGVscGVyczogICAgc2ltcGxlLXRyYW5zZm9ybSwgY3JlYXRlLXRyYW5zZm9ybVxuLy8gcGVyc3BlY3RpdmVcbi8vICAtIGhlbHBlcnM6ICAgIHBlcnNwZWN0aXZlLW9yaWdpblxuLy8gdHJhbnNmb3JtLXN0eWxlXG4vLyBiYWNrZmFjZS12aXNpYmlsaXR5XG4vLyBzY2FsZVxuLy8gIC0gc2hvcnRjdXRzOiAgc2NhbGVYLCBzY2FsZVksIHNjYWxlWiwgc2NhbGUzZFxuLy8gcm90YXRlXG4vLyAgLSBzaG9ydGN1dHM6ICByb3RhdGVYLCByb3RhdGVZLCByb3RhdGUzZFxuLy8gdHJhbnNsYXRlXG4vLyAgLSBzaG9ydGN1dHM6ICB0cmFuc2xhdGVYLCB0cmFuc2xhdGVZLCB0cmFuc2xhdGVaLCB0cmFuc2xhdGUzZFxuLy8gc2tld1xuLy8gIC0gc2hvcnRjdXRzOiAgc2tld1gsIHNrZXdZXG5cbi8vIERlZmF1bHRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGRvYyBvblxuXG4vLyBUaGUgZGVmYXVsdCB4LW9yaWdpbiBmb3IgdHJhbnNmb3Jtc1xuJGRlZmF1bHQtb3JpZ2luLXggICAgOiA1MCUgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB5LW9yaWdpbiBmb3IgdHJhbnNmb3Jtc1xuJGRlZmF1bHQtb3JpZ2luLXkgICAgOiA1MCUgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB6LW9yaWdpbiBmb3IgdHJhbnNmb3Jtc1xuJGRlZmF1bHQtb3JpZ2luLXogICAgOiA1MCUgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG5cblxuLy8gVGhlIGRlZmF1bHQgeC1tdWx0aXBsaWVyIGZvciBzY2FsaW5nXG4kZGVmYXVsdC1zY2FsZS14ICAgICA6IDEuMjUgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHktbXVsdGlwbGllciBmb3Igc2NhbGluZ1xuJGRlZmF1bHQtc2NhbGUteSAgICAgOiAkZGVmYXVsdC1zY2FsZS14ICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB6LW11bHRpcGxpZXIgZm9yIHNjYWxpbmdcbiRkZWZhdWx0LXNjYWxlLXogICAgIDogJGRlZmF1bHQtc2NhbGUteCAgICAgICFkZWZhdWx0O1xuXG5cbi8vIFRoZSBkZWZhdWx0IGFuZ2xlIGZvciByb3RhdGlvbnNcbiRkZWZhdWx0LXJvdGF0ZSAgICAgIDogNDVkZWcgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuXG5cbi8vIFRoZSBkZWZhdWx0IHgtdmVjdG9yIGZvciB0aGUgYXhpcyBvZiAzZCByb3RhdGlvbnNcbiRkZWZhdWx0LXZlY3Rvci14ICAgIDogMSAgICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgeS12ZWN0b3IgZm9yIHRoZSBheGlzIG9mIDNkIHJvdGF0aW9uc1xuJGRlZmF1bHQtdmVjdG9yLXkgICAgOiAxICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB6LXZlY3RvciBmb3IgdGhlIGF4aXMgb2YgM2Qgcm90YXRpb25zXG4kZGVmYXVsdC12ZWN0b3IteiAgICA6IDEgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcblxuXG4vLyBUaGUgZGVmYXVsdCB4LWxlbmd0aCBmb3IgdHJhbnNsYXRpb25zXG4kZGVmYXVsdC10cmFuc2xhdGUteCA6IDFlbSAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHktbGVuZ3RoIGZvciB0cmFuc2xhdGlvbnNcbiRkZWZhdWx0LXRyYW5zbGF0ZS15IDogJGRlZmF1bHQtdHJhbnNsYXRlLXggICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgei1sZW5ndGggZm9yIHRyYW5zbGF0aW9uc1xuJGRlZmF1bHQtdHJhbnNsYXRlLXogOiAkZGVmYXVsdC10cmFuc2xhdGUteCAgIWRlZmF1bHQ7XG5cblxuLy8gVGhlIGRlZmF1bHQgeC1hbmdsZSBmb3Igc2tld2luZ1xuJGRlZmF1bHQtc2tldy14ICAgICAgOiA1ZGVnICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB5LWFuZ2xlIGZvciBza2V3aW5nXG4kZGVmYXVsdC1za2V3LXkgICAgICA6IDVkZWcgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcblxuXG4vLyAqKlRyYW5zZm9ybS1vcmlnaW4qKlxuLy8gVHJhbnNmb3JtLW9yaWdpbiBzZW50IGFzIGEgY29tcGxldGUgc3RyaW5nXG4vL1xuLy8gICAgIEBpbmNsdWRlIGFwcGx5LW9yaWdpbiggb3JpZ2luIFssIDNELW9ubHkgXSApXG4vL1xuLy8gd2hlcmUgJ29yaWdpbicgaXMgYSBzcGFjZSBzZXBhcmF0ZWQgbGlzdCBjb250YWluaW5nIDEtMyAoeC95L3opIGNvb3JkaW5hdGVzXG4vLyBpbiBwZXJjZW50YWdlcywgYWJzb2x1dGUgKHB4LCBjbSwgaW4sIGVtIGV0Yy4uKSBvciByZWxhdGl2ZVxuLy8gKGxlZnQsIHRvcCwgcmlnaHQsIGJvdHRvbSwgY2VudGVyKSB1bml0c1xuLy9cbi8vIEBwYXJhbSBvbmx5M2QgU2V0IHRoaXMgdG8gdHJ1ZSB0byBvbmx5IGFwcGx5IHRoaXNcbi8vIG1peGluIHdoZXJlIGJyb3dzZXJzIGhhdmUgM0Qgc3VwcG9ydC5cbkBtaXhpbiBhcHBseS1vcmlnaW4oJG9yaWdpbiwgJG9ubHkzZCkge1xuICAkb25seTNkOiAkb25seTNkIG9yIC1jb21wYXNzLWxpc3Qtc2l6ZSgtY29tcGFzcy1saXN0KCRvcmlnaW4pKSA+IDI7XG4gIEBpZiAkb25seTNkIHtcbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNmb3JtLW9yaWdpbiwgJG9yaWdpbixcbiAgICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICAgICk7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2Zvcm0tb3JpZ2luLCAkb3JpZ2luLFxuICAgICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICAgKTtcbiAgfVxufVxuXG4vLyBUcmFuc2Zvcm0tb3JpZ2luIHNlbnQgYXMgaW5kaXZpZHVhbCBhcmd1bWVudHM6XG4vL1xuLy8gICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oIFsgb3JpZ2luLXgsIG9yaWdpbi15LCBvcmlnaW4teiwgM0Qtb25seSBdIClcbi8vXG4vLyB3aGVyZSB0aGUgMyAnb3JpZ2luLScgYXJndW1lbnRzIHJlcHJlc2VudCB4L3kveiBjb29yZGluYXRlcy5cbi8vXG4vLyAqKk5PVEU6Kiogc2V0dGluZyB6IGNvb3JkaW5hdGVzIHRyaWdnZXJzIDNEIHN1cHBvcnQgbGlzdCwgbGVhdmUgZmFsc2UgZm9yIDJEIHN1cHBvcnRcbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKFxuICAkb3JpZ2luLXg6ICRkZWZhdWx0LW9yaWdpbi14LFxuICAkb3JpZ2luLXk6ICRkZWZhdWx0LW9yaWdpbi15LFxuICAkb3JpZ2luLXo6IGZhbHNlLFxuICAkb25seTNkOiAgIGlmKCRvcmlnaW4teiwgdHJ1ZSwgZmFsc2UpXG4pIHtcbiAgJG9yaWdpbjogdW5xdW90ZSgnJyk7XG4gIEBpZiAkb3JpZ2luLXggb3IgJG9yaWdpbi15IG9yICRvcmlnaW4teiB7XG4gICAgQGlmICRvcmlnaW4teCB7ICRvcmlnaW46ICRvcmlnaW4teDsgfSBAZWxzZSB7ICRvcmlnaW46IDUwJTsgfVxuICAgIEBpZiAkb3JpZ2luLXkgeyAkb3JpZ2luOiAkb3JpZ2luICRvcmlnaW4teTsgfSBAZWxzZSB7IEBpZiAkb3JpZ2luLXogeyAkb3JpZ2luOiAkb3JpZ2luIDUwJTsgfX1cbiAgICBAaWYgJG9yaWdpbi16IHsgJG9yaWdpbjogJG9yaWdpbiAkb3JpZ2luLXo7IH1cbiAgICBAaW5jbHVkZSBhcHBseS1vcmlnaW4oJG9yaWdpbiwgJG9ubHkzZCk7XG4gIH1cbn1cblxuXG4vLyBUcmFuc2Zvcm0gc2VudCBhcyBhIGNvbXBsZXRlIHN0cmluZzpcbi8vXG4vLyAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKCB0cmFuc2Zvcm1zIFssIDNELW9ubHkgXSApXG4vL1xuLy8gd2hlcmUgJ3RyYW5zZm9ybXMnIGlzIGEgc3BhY2Ugc2VwYXJhdGVkIGxpc3Qgb2YgYWxsIHRoZSB0cmFuc2Zvcm1zIHRvIGJlIGFwcGxpZWQuXG5AbWl4aW4gdHJhbnNmb3JtKFxuICAkdHJhbnNmb3JtLFxuICAkb25seTNkOiBmYWxzZVxuKSB7XG4gIEBpZiAkb25seTNkIHtcbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNmb3JtLCAkdHJhbnNmb3JtLFxuICAgICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICAgKTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zZm9ybSwgJHRyYW5zZm9ybSxcbiAgICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICAgICk7XG4gIH1cbn1cblxuLy8gU2hvcnRjdXQgdG8gdGFyZ2V0IGFsbCBicm93c2VycyB3aXRoIDJEIHRyYW5zZm9ybSBzdXBwb3J0XG5AbWl4aW4gdHJhbnNmb3JtMmQoJHRyYW5zKSB7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsIGZhbHNlKTtcbn1cblxuLy8gU2hvcnRjdXQgdG8gdGFyZ2V0IG9ubHkgYnJvd3NlcnMgd2l0aCAzRCB0cmFuc2Zvcm0gc3VwcG9ydFxuQG1peGluIHRyYW5zZm9ybTNkKCR0cmFucykge1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCB0cnVlKTtcbn1cblxuLy8gQGRvYyBvZmZcbi8vIDNEIFBhcmFtZXRlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGRvYyBvblxuXG4vLyBTZXQgdGhlIHBlcnNwZWN0aXZlIG9mIDNEIHRyYW5zZm9ybXMgb24gdGhlIGNoaWxkcmVuIG9mIGFuIGVsZW1lbnQ6XG4vL1xuLy8gICAgICBAaW5jbHVkZSBwZXJzcGVjdGl2ZSggcGVyc3BlY3RpdmUgKVxuLy9cbi8vIHdoZXJlICdwZXJzcGVjdGl2ZScgaXMgYSB1bml0bGVzcyBudW1iZXIgcmVwcmVzZW50aW5nIHRoZSBkZXB0aCBvZiB0aGVcbi8vIHotYXhpcy4gVGhlIGhpZ2hlciB0aGUgcGVyc3BlY3RpdmUsIHRoZSBtb3JlIGV4YWdnZXJhdGVkIHRoZSBmb3Jlc2hvcnRlbmluZy5cbi8vIHZhbHVlcyBmcm9tIDUwMCB0byAxMDAwIGFyZSBtb3JlLW9yLWxlc3MgXCJub3JtYWxcIiAtIGEgZ29vZCBzdGFydGluZy1wb2ludC5cbkBtaXhpbiBwZXJzcGVjdGl2ZSgkcCkge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwocGVyc3BlY3RpdmUsICRwLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBTZXQgdGhlIG9yaWdpbiBwb3NpdGlvbiBmb3IgdGhlIHBlcnNwZWN0aXZlXG4vL1xuLy8gICAgICBAaW5jbHVkZSBwZXJzcGVjdGl2ZS1vcmlnaW4ob3JpZ2luLXggW29yaWdpbi15XSlcbi8vXG4vLyB3aGVyZSB0aGUgdHdvIGFyZ3VtZW50cyByZXByZXNlbnQgeC95IGNvb3JkaW5hdGVzXG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCRvcmlnaW46IDUwJSkge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwocGVyc3BlY3RpdmUtb3JpZ2luLCAkb3JpZ2luLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBEZXRlcm1pbmUgd2hldGhlciBhIDNEIG9iamVjdHMgY2hpbGRyZW4gYWxzbyBsaXZlIGluIHRoZSBnaXZlbiAzRCBzcGFjZVxuLy9cbi8vICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtLXN0eWxlKCBbIHN0eWxlIF0gKVxuLy9cbi8vIHdoZXJlIGBzdHlsZWAgY2FuIGJlIGVpdGhlciBgZmxhdGAgb3IgYHByZXNlcnZlLTNkYC5cbi8vIEJyb3dzZXJzIGRlZmF1bHQgdG8gYGZsYXRgLCBtaXhpbiBkZWZhdWx0cyB0byBgcHJlc2VydmUtM2RgLlxuQG1peGluIHRyYW5zZm9ybS1zdHlsZSgkc3R5bGU6IHByZXNlcnZlLTNkKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2Zvcm0tc3R5bGUsICRzdHlsZSxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gRGV0ZXJtaW5lIHRoZSB2aXNpYmlsaXR5IG9mIGFuIGVsZW1lbnQgd2hlbiBpdCdzIGJhY2sgaXMgdHVybmVkXG4vL1xuLy8gICAgIEBpbmNsdWRlIGJhY2tmYWNlLXZpc2liaWxpdHkoIFsgdmlzaWJpbGl0eSBdIClcbi8vXG4vLyB3aGVyZSBgdmlzaWJpbGl0eWAgY2FuIGJlIGVpdGhlciBgdmlzaWJsZWAgb3IgYGhpZGRlbmAuXG4vLyBCcm93c2VycyBkZWZhdWx0IHRvIHZpc2libGUsIG1peGluIGRlZmF1bHRzIHRvIGhpZGRlblxuQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHk6IGhpZGRlbikge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYmFja2ZhY2UtdmlzaWJpbGl0eSwgJHZpc2liaWxpdHksXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIEBkb2Mgb2ZmXG4vLyBUcmFuc2Zvcm0gUGFydGlhbHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoZXNlIHdvcmsgd2VsbCBvbiB0aGVpciBvd24sIGJ1dCB0aGV5IGRvbid0IGFkZCB0byBlYWNoIG90aGVyLCB0aGV5IG92ZXJyaWRlLlxuLy8gVXNlIGFsb25nIHdpdGggdHJhbnNmb3JtIHBhcmFtZXRlciBtaXhpbnMgdG8gYWRqdXN0IG9yaWdpbiwgcGVyc3BlY3RpdmUgYW5kIHN0eWxlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBTY2FsZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBkb2Mgb25cblxuLy8gU2NhbGUgYW4gb2JqZWN0IGFsb25nIHRoZSB4IGFuZCB5IGF4aXM6XG4vL1xuLy8gICAgICBAaW5jbHVkZSBzY2FsZSggWyBzY2FsZS14LCBzY2FsZS15LCBwZXJzcGVjdGl2ZSwgM0Qtb25seSBdIClcbi8vXG4vLyB3aGVyZSB0aGUgJ3NjYWxlLScgYXJndW1lbnRzIGFyZSB1bml0bGVzcyBtdWx0aXBsaWVycyBvZiB0aGUgeCBhbmQgeSBkaW1lbnNpb25zXG4vLyBhbmQgcGVyc3BlY3RpdmUsIHdoaWNoIHdvcmtzIHRoZSBzYW1lIGFzIHRoZSBzdGFuZC1hbG9uZSBwZXJzcGVjdGl2ZSBwcm9wZXJ0eS9taXhpblxuLy8gYnV0IGFwcGxpZXMgdG8gdGhlIGluZGl2aWR1YWwgZWxlbWVudCAobXVsdGlwbGllZCB3aXRoIGFueSBwYXJlbnQgcGVyc3BlY3RpdmUpXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNjYWxlKFxuICAkc2NhbGUteDogICAgICRkZWZhdWx0LXNjYWxlLXgsXG4gICRzY2FsZS15OiAgICAgJHNjYWxlLXgsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHNjYWxlKCRzY2FsZS14LCAkc2NhbGUteSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBTY2FsZSBhbiBvYmplY3QgYWxvbmcgdGhlIHggYXhpc1xuLy8gQGluY2x1ZGUgc2NhbGVYKCBbIHNjYWxlLXgsIHBlcnNwZWN0aXZlLCAzRC1vbmx5IF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBzY2FsZVgoXG4gICRzY2FsZTogICAgICAgJGRlZmF1bHQtc2NhbGUteCxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogc2NhbGVYKCRzY2FsZSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBTY2FsZSBhbiBvYmplY3QgYWxvbmcgdGhlIHkgYXhpc1xuLy8gQGluY2x1ZGUgc2NhbGVZKCBbIHNjYWxlLXksIHBlcnNwZWN0aXZlLCAzRC1vbmx5IF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBzY2FsZVkoXG4gICRzY2FsZTogICAgICAgJGRlZmF1bHQtc2NhbGUteSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogc2NhbGVZKCRzY2FsZSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBTY2FsZSBhbiBvYmplY3QgYWxvbmcgdGhlIHogYXhpc1xuLy8gQGluY2x1ZGUgc2NhbGVaKCBbIHNjYWxlLXosIHBlcnNwZWN0aXZlIF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBzY2FsZVooXG4gICRzY2FsZTogJGRlZmF1bHQtc2NhbGUteixcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZVxuKSB7XG4gICR0cmFuczogc2NhbGVaKCRzY2FsZSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybTNkKCR0cmFucyk7XG59XG5cbi8vIFNjYWxlIGFuZCBvYmplY3QgYWxvbmcgYWxsIHRocmVlIGF4aXNcbi8vIEBpbmNsdWRlIHNjYWxlM2QoIFsgc2NhbGUteCwgc2NhbGUteSwgc2NhbGUteiwgcGVyc3BlY3RpdmUgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNjYWxlM2QoXG4gICRzY2FsZS14OiAgICAgJGRlZmF1bHQtc2NhbGUteCxcbiAgJHNjYWxlLXk6ICAgICAkZGVmYXVsdC1zY2FsZS15LFxuICAkc2NhbGUtejogICAgICRkZWZhdWx0LXNjYWxlLXosXG4gICRwZXJzcGVjdGl2ZTogZmFsc2Vcbikge1xuICAkdHJhbnM6IHNjYWxlM2QoJHNjYWxlLXgsICRzY2FsZS15LCAkc2NhbGUteik7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybTNkKCR0cmFucyk7XG59XG5cbi8vIEBkb2Mgb2ZmXG4vLyBSb3RhdGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBkb2Mgb25cblxuLy8gUm90YXRlIGFuIG9iamVjdCBhcm91bmQgdGhlIHogYXhpcyAgKDJEKVxuLy8gQGluY2x1ZGUgcm90YXRlKCBbIHJvdGF0aW9uLCBwZXJzcGVjdGl2ZSwgM0Qtb25seSBdIClcbi8vIHdoZXJlICdyb3RhdGlvbicgaXMgYW4gYW5nbGUgc2V0IGluIGRlZ3JlZXMgKGRlZykgb3IgcmFkaWFuIChyYWQpIHVuaXRzXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHJvdGF0ZShcbiAgJHJvdGF0ZTogICAgICAkZGVmYXVsdC1yb3RhdGUsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHJvdGF0ZSgkcm90YXRlKTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIEEgbG9uZ2N1dCBmb3IgJ3JvdGF0ZScgaW4gY2FzZSB5b3UgZm9yZ2V0IHRoYXQgJ3onIGlzIGltcGxpZWRcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gcm90YXRlWihcbiAgJHJvdGF0ZTogICAgICAkZGVmYXVsdC1yb3RhdGUsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICBAaW5jbHVkZSByb3RhdGUoJHJvdGF0ZSwgJHBlcnNwZWN0aXZlLCAkb25seTNkKTtcbn1cblxuLy8gUm90YXRlIGFuIG9iamVjdCBhcm91bmQgdGhlIHggYXhpcyAoM0QpXG4vLyBAaW5jbHVkZSByb3RhdGVYKCBbIHJvdGF0aW9uLCBwZXJzcGVjdGl2ZSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gcm90YXRlWChcbiAgJHJvdGF0ZTogJGRlZmF1bHQtcm90YXRlLFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiByb3RhdGVYKCRyb3RhdGUpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0zZCgkdHJhbnMpO1xufVxuXG4vLyBSb3RhdGUgYW4gb2JqZWN0IGFyb3VuZCB0aGUgeSBheGlzICgzRClcbi8vIEBpbmNsdWRlIHJvdGF0ZSggWyByb3RhdGlvbiwgcGVyc3BlY3RpdmUgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHJvdGF0ZVkoXG4gICRyb3RhdGU6ICRkZWZhdWx0LXJvdGF0ZSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZVxuKSB7XG4gICR0cmFuczogcm90YXRlWSgkcm90YXRlKTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtM2QoJHRyYW5zKTtcbn1cblxuLy8gUm90YXRlIGFuIG9iamVjdCBhcm91bmQgYW4gYXJiaXRyYXJ5IGF4aXMgKDNEKVxuLy8gQGluY2x1ZGUgcm90YXRlKCBbIHZlY3Rvci14LCB2ZWN0b3IteSwgdmVjdG9yLXosIHJvdGF0aW9uLCBwZXJzcGVjdGl2ZSBdIClcbi8vIHdoZXJlIHRoZSAndmVjdG9yLScgYXJndW1lbnRzIGFjY2VwdCB1bml0bGVzcyBudW1iZXJzLlxuLy8gVGhlc2UgbnVtYmVycyBhcmUgbm90IGltcG9ydGFudCBvbiB0aGVpciBvd24sIGJ1dCBpbiByZWxhdGlvbiB0byBvbmUgYW5vdGhlclxuLy8gY3JlYXRpbmcgYW4gYXhpcyBmcm9tIHlvdXIgdHJhbnNmb3JtLW9yaWdpbiwgYWxvbmcgdGhlIGF4aXMgb2YgWHggPSBZeSA9IFp6LlxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiByb3RhdGUzZChcbiAgJHZlY3Rvci14OiAkZGVmYXVsdC12ZWN0b3IteCxcbiAgJHZlY3Rvci15OiAkZGVmYXVsdC12ZWN0b3IteSxcbiAgJHZlY3Rvci16OiAkZGVmYXVsdC12ZWN0b3IteixcbiAgJHJvdGF0ZTogJGRlZmF1bHQtcm90YXRlLFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiByb3RhdGUzZCgkdmVjdG9yLXgsICR2ZWN0b3IteSwgJHZlY3Rvci16LCAkcm90YXRlKTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtM2QoJHRyYW5zKTtcbn1cblxuLy8gQGRvYyBvZmZcbi8vIFRyYW5zbGF0ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGRvYyBvblxuXG4vLyBNb3ZlIGFuIG9iamVjdCBhbG9uZyB0aGUgeCBvciB5IGF4aXMgKDJEKVxuLy8gQGluY2x1ZGUgdHJhbnNsYXRlKCBbIHRyYW5zbGF0ZS14LCB0cmFuc2xhdGUteSwgcGVyc3BlY3RpdmUsIDNELW9ubHkgXSApXG4vLyB3aGVyZSB0aGUgJ3RyYW5zbGF0ZS0nIGFyZ3VtZW50cyBhY2NlcHQgYW55IGRpc3RhbmNlIGluIHBlcmNlbnRhZ2VzIG9yIGFic29sdXRlIChweCwgY20sIGluLCBlbSBldGMuLikgdW5pdHMuXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHRyYW5zbGF0ZShcbiAgJHRyYW5zbGF0ZS14OiAkZGVmYXVsdC10cmFuc2xhdGUteCxcbiAgJHRyYW5zbGF0ZS15OiAkZGVmYXVsdC10cmFuc2xhdGUteSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogdHJhbnNsYXRlKCR0cmFuc2xhdGUteCwgJHRyYW5zbGF0ZS15KTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIE1vdmUgYW4gb2JqZWN0IGFsb25nIHRoZSB4IGF4aXMgKDJEKVxuLy8gQGluY2x1ZGUgdHJhbnNsYXRlKCBbIHRyYW5zbGF0ZS14LCBwZXJzcGVjdGl2ZSwgM0Qtb25seSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gdHJhbnNsYXRlWChcbiAgJHRyYW5zLXg6ICAgICAkZGVmYXVsdC10cmFuc2xhdGUteCxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogdHJhbnNsYXRlWCgkdHJhbnMteCk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBNb3ZlIGFuIG9iamVjdCBhbG9uZyB0aGUgeSBheGlzICgyRClcbi8vIEBpbmNsdWRlIHRyYW5zbGF0ZSggWyB0cmFuc2xhdGUteSwgcGVyc3BlY3RpdmUsIDNELW9ubHkgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHRyYW5zbGF0ZVkoXG4gICR0cmFucy15OiAgICAgJGRlZmF1bHQtdHJhbnNsYXRlLXksXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHRyYW5zbGF0ZVkoJHRyYW5zLXkpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gTW92ZSBhbiBvYmplY3QgYWxvbmcgdGhlIHogYXhpcyAoM0QpXG4vLyBAaW5jbHVkZSB0cmFuc2xhdGUoIFsgdHJhbnNsYXRlLXosIHBlcnNwZWN0aXZlIF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiB0cmFuc2xhdGVaKFxuICAkdHJhbnMtejogICAgICRkZWZhdWx0LXRyYW5zbGF0ZS16LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiB0cmFuc2xhdGVaKCR0cmFucy16KTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtM2QoJHRyYW5zKTtcbn1cblxuLy8gTW92ZSBhbiBvYmplY3QgYWxvbmcgdGhlIHgsIHkgYW5kIHogYXhpcyAoM0QpXG4vLyBAaW5jbHVkZSB0cmFuc2xhdGUoIFsgdHJhbnNsYXRlLXgsIHRyYW5zbGF0ZS15LCB0cmFuc2xhdGUteiwgcGVyc3BlY3RpdmUgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHRyYW5zbGF0ZTNkKFxuICAkdHJhbnNsYXRlLXg6ICRkZWZhdWx0LXRyYW5zbGF0ZS14LFxuICAkdHJhbnNsYXRlLXk6ICRkZWZhdWx0LXRyYW5zbGF0ZS15LFxuICAkdHJhbnNsYXRlLXo6ICRkZWZhdWx0LXRyYW5zbGF0ZS16LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiB0cmFuc2xhdGUzZCgkdHJhbnNsYXRlLXgsICR0cmFuc2xhdGUteSwgJHRyYW5zbGF0ZS16KTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtM2QoJHRyYW5zKTtcbn1cblxuLy8gQGRvYyBvZmZcbi8vIFNrZXcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGRvYyBvblxuXG4vLyBTa2V3IGFuIGVsZW1lbnQ6XG4vL1xuLy8gICAgIEBpbmNsdWRlIHNrZXcoIFsgc2tldy14LCBza2V3LXksIDNELW9ubHkgXSApXG4vL1xuLy8gd2hlcmUgdGhlICdza2V3LScgYXJndW1lbnRzIGFjY2VwdCBjc3MgYW5nbGVzIGluIGRlZ3JlZXMgKGRlZykgb3IgcmFkaWFuIChyYWQpIHVuaXRzLlxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBza2V3KFxuICAkc2tldy14OiAkZGVmYXVsdC1za2V3LXgsXG4gICRza2V3LXk6ICRkZWZhdWx0LXNrZXcteSxcbiAgJG9ubHkzZDogZmFsc2Vcbikge1xuICAkdHJhbnM6IHNrZXcoJHNrZXcteCwgJHNrZXcteSk7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBTa2V3IGFuIGVsZW1lbnQgYWxvbmcgdGhlIHggYXhpelxuLy9cbi8vICAgICBAaW5jbHVkZSBza2V3KCBbIHNrZXcteCwgM0Qtb25seSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gc2tld1goXG4gICRza2V3LXg6ICRkZWZhdWx0LXNrZXcteCxcbiAgJG9ubHkzZDogZmFsc2Vcbikge1xuICAkdHJhbnM6IHNrZXdYKCRza2V3LXgpO1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gU2tldyBhbiBlbGVtZW50IGFsb25nIHRoZSB5IGF4aXNcbi8vXG4vLyAgICAgQGluY2x1ZGUgc2tldyggWyBza2V3LXksIDNELW9ubHkgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNrZXdZKFxuICAkc2tldy15OiAkZGVmYXVsdC1za2V3LXksXG4gICRvbmx5M2Q6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiBza2V3WSgkc2tldy15KTtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cblxuLy8gRnVsbCB0cmFuc2Zvcm0gbWl4aW5zXG4vLyBGb3Igc2V0dGluZ3MgYW55IGNvbWJpbmF0aW9uIG9mIHRyYW5zZm9ybXMgYXMgYXJndW1lbnRzXG4vLyBUaGVzZSBhcmUgY29tcGxleCBhbmQgbm90IGhpZ2hseSByZWNvbW1lbmRlZCBmb3IgZGFpbHkgdXNlLiBUaGV5IGFyZSBtYWlubHlcbi8vIGhlcmUgZm9yIGJhY2t3YXJkLWNvbXBhdGliaWxpdHkgcHVycG9zZXMuXG4vL1xuLy8gKiB0aGV5IGluY2x1ZGUgb3JpZ2luIGFkanVzdG1lbnRzXG4vLyAqIHNjYWxlIHRha2VzIGEgbXVsdGlwbGllciAodW5pdGxlc3MpLCByb3RhdGUgYW5kIHNrZXcgdGFrZSBkZWdyZWVzIChkZWcpXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIGNyZWF0ZS10cmFuc2Zvcm0oXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRzY2FsZS14OiAgICAgZmFsc2UsXG4gICRzY2FsZS15OiAgICAgZmFsc2UsXG4gICRzY2FsZS16OiAgICAgZmFsc2UsXG4gICRyb3RhdGUteDogICAgZmFsc2UsXG4gICRyb3RhdGUteTogICAgZmFsc2UsXG4gICRyb3RhdGUtejogICAgZmFsc2UsXG4gICRyb3RhdGUzZDogICAgZmFsc2UsXG4gICR0cmFucy14OiAgICAgZmFsc2UsXG4gICR0cmFucy15OiAgICAgZmFsc2UsXG4gICR0cmFucy16OiAgICAgZmFsc2UsXG4gICRza2V3LXg6ICAgICAgZmFsc2UsXG4gICRza2V3LXk6ICAgICAgZmFsc2UsXG4gICRvcmlnaW4teDogICAgZmFsc2UsXG4gICRvcmlnaW4teTogICAgZmFsc2UsXG4gICRvcmlnaW4tejogICAgZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHVucXVvdGUoXCJcIik7XG5cbiAgLy8gcGVyc3BlY3RpdmVcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSA7IH1cblxuICAvLyBzY2FsZVxuICBAaWYgJHNjYWxlLXggYW5kICRzY2FsZS15IHtcbiAgICBAaWYgJHNjYWxlLXogeyAkdHJhbnM6ICR0cmFucyBzY2FsZTNkKCRzY2FsZS14LCAkc2NhbGUteSwgJHNjYWxlLXopOyB9XG4gICAgQGVsc2UgeyAkdHJhbnM6ICR0cmFucyBzY2FsZSgkc2NhbGUteCwgJHNjYWxlLXkpOyB9XG4gIH0gQGVsc2Uge1xuICAgIEBpZiAkc2NhbGUteCB7ICR0cmFuczogJHRyYW5zIHNjYWxlWCgkc2NhbGUteCk7IH1cbiAgICBAaWYgJHNjYWxlLXkgeyAkdHJhbnM6ICR0cmFucyBzY2FsZVkoJHNjYWxlLXkpOyB9XG4gICAgQGlmICRzY2FsZS16IHsgJHRyYW5zOiAkdHJhbnMgc2NhbGVaKCRzY2FsZS16KTsgfVxuICB9XG5cbiAgLy8gcm90YXRlXG4gIEBpZiAkcm90YXRlLXggeyAkdHJhbnM6ICR0cmFucyByb3RhdGVYKCRyb3RhdGUteCk7IH1cbiAgQGlmICRyb3RhdGUteSB7ICR0cmFuczogJHRyYW5zIHJvdGF0ZVkoJHJvdGF0ZS15KTsgfVxuICBAaWYgJHJvdGF0ZS16IHsgJHRyYW5zOiAkdHJhbnMgcm90YXRlWigkcm90YXRlLXopOyB9XG4gIEBpZiAkcm90YXRlM2QgeyAkdHJhbnM6ICR0cmFucyByb3RhdGUzZCgkcm90YXRlM2QpOyB9XG5cbiAgLy8gdHJhbnNsYXRlXG4gIEBpZiAkdHJhbnMteCBhbmQgJHRyYW5zLXkge1xuICAgIEBpZiAkdHJhbnMteiB7ICR0cmFuczogJHRyYW5zIHRyYW5zbGF0ZTNkKCR0cmFucy14LCAkdHJhbnMteSwgJHRyYW5zLXopOyB9XG4gICAgQGVsc2UgeyAkdHJhbnM6ICR0cmFucyB0cmFuc2xhdGUoJHRyYW5zLXgsICR0cmFucy15KTsgfVxuICB9IEBlbHNlIHtcbiAgICBAaWYgJHRyYW5zLXggeyAkdHJhbnM6ICR0cmFucyB0cmFuc2xhdGVYKCR0cmFucy14KTsgfVxuICAgIEBpZiAkdHJhbnMteSB7ICR0cmFuczogJHRyYW5zIHRyYW5zbGF0ZVkoJHRyYW5zLXkpOyB9XG4gICAgQGlmICR0cmFucy16IHsgJHRyYW5zOiAkdHJhbnMgdHJhbnNsYXRlWigkdHJhbnMteik7IH1cbiAgfVxuXG4gIC8vIHNrZXdcbiAgQGlmICRza2V3LXggYW5kICRza2V3LXkgeyAkdHJhbnM6ICR0cmFucyBza2V3KCRza2V3LXgsICRza2V3LXkpOyB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHNrZXcteCB7ICR0cmFuczogJHRyYW5zIHNrZXdYKCRza2V3LXgpOyB9XG4gICAgQGlmICRza2V3LXkgeyAkdHJhbnM6ICR0cmFucyBza2V3WSgkc2tldy15KTsgfVxuICB9XG5cbiAgLy8gYXBwbHkgaXQhXG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpO1xufVxuXG5cbi8vIEEgc2ltcGxpZmllZCBzZXQgb2Ygb3B0aW9uc1xuLy8gYmFja3dhcmRzLWNvbXBhdGlibGUgd2l0aCB0aGUgcHJldmlvdXMgdmVyc2lvbiBvZiB0aGUgJ3RyYW5zZm9ybScgbWl4aW5cbkBtaXhpbiBzaW1wbGUtdHJhbnNmb3JtKFxuICAkc2NhbGU6ICAgIGZhbHNlLFxuICAkcm90YXRlOiAgIGZhbHNlLFxuICAkdHJhbnMteDogIGZhbHNlLFxuICAkdHJhbnMteTogIGZhbHNlLFxuICAkc2tldy14OiAgIGZhbHNlLFxuICAkc2tldy15OiAgIGZhbHNlLFxuICAkb3JpZ2luLXg6IGZhbHNlLFxuICAkb3JpZ2luLXk6IGZhbHNlXG4pIHtcbiAgQGluY2x1ZGUgY3JlYXRlLXRyYW5zZm9ybShcbiAgICBmYWxzZSxcbiAgICAkc2NhbGUsICRzY2FsZSwgZmFsc2UsXG4gICAgZmFsc2UsIGZhbHNlLCAkcm90YXRlLCBmYWxzZSxcbiAgICAkdHJhbnMteCwgJHRyYW5zLXksIGZhbHNlLFxuICAgICRza2V3LXgsICRza2V3LXksXG4gICAgJG9yaWdpbi14LCAkb3JpZ2luLXksIGZhbHNlLFxuICAgIGZhbHNlXG4gICk7XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIENTUyBUcmFuc2l0aW9uc1xuLy8gQ3VycmVudGx5IG9ubHkgd29ya3MgaW4gV2Via2l0LlxuLy9cbi8vICogZXhwZWN0ZWQgaW4gQ1NTMywgRmlyZUZveCAzLjYvNyBhbmQgT3BlcmEgUHJlc3RvIDIuM1xuLy8gKiBXZSdsbCBiZSBwcmVwYXJlZC5cbi8vXG4vLyBJbmNsdWRpbmcgdGhpcyBzdWJtb2R1bGUgc2V0cyBmb2xsb3dpbmcgZGVmYXVsdHMgZm9yIHRoZSBtaXhpbnM6XG4vL1xuLy8gICAgICRkZWZhdWx0LXRyYW5zaXRpb24tcHJvcGVydHkgOiBhbGxcbi8vICAgICAkZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uIDogMXNcbi8vICAgICAkZGVmYXVsdC10cmFuc2l0aW9uLWZ1bmN0aW9uIDogZmFsc2Vcbi8vICAgICAkZGVmYXVsdC10cmFuc2l0aW9uLWRlbGF5ICAgIDogZmFsc2Vcbi8vXG4vLyBPdmVycmlkZSB0aGVtIGlmIHlvdSBsaWtlLiBUaW1pbmctZnVuY3Rpb24gYW5kIGRlbGF5IGFyZSBzZXQgdG8gZmFsc2UgZm9yIGJyb3dzZXIgZGVmYXVsdHMgKGVhc2UsIDBzKS5cblxuJGRlZmF1bHQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsICFkZWZhdWx0O1xuXG4kZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAxcyAhZGVmYXVsdDtcblxuJGRlZmF1bHQtdHJhbnNpdGlvbi1mdW5jdGlvbjogZmFsc2UgIWRlZmF1bHQ7XG5cbiRkZWZhdWx0LXRyYW5zaXRpb24tZGVsYXk6IGZhbHNlICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbmFibGUtcHJlZml4ZWQtdmFsdWVzOiB0cmFuc2Zvcm0sIHRyYW5zZm9ybS1vcmlnaW4gIWRlZmF1bHQ7XG5cbi8vIE9uZSBvciBtb3JlIHByb3BlcnRpZXMgdG8gdHJhbnNpdGlvblxuLy9cbi8vICogZm9yIG11bHRpcGxlLCB1c2UgYSBjb21tYS1kZWxpbWl0ZWQgbGlzdFxuLy8gKiBhbHNvIGFjY2VwdHMgXCJhbGxcIiBvciBcIm5vbmVcIlxuXG5AbWl4aW4gdHJhbnNpdGlvbi1wcm9wZXJ0eSgkcHJvcGVydHktMTogJGRlZmF1bHQtdHJhbnNpdGlvbi1wcm9wZXJ0eSxcbiAgJHByb3BlcnR5LTIgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTMgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTQgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTUgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTYgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTcgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTggOiBmYWxzZSxcbiAgJHByb3BlcnR5LTkgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTEwOiBmYWxzZVxuKSB7XG4gIEBpZiB0eXBlLW9mKCRwcm9wZXJ0eS0xKSA9PSBzdHJpbmcgeyAkcHJvcGVydHktMTogdW5xdW90ZSgkcHJvcGVydHktMSk7IH1cbiAgJHByb3BlcnRpZXM6IGNvbXBhY3QoJHByb3BlcnR5LTEsICRwcm9wZXJ0eS0yLCAkcHJvcGVydHktMywgJHByb3BlcnR5LTQsICRwcm9wZXJ0eS01LCAkcHJvcGVydHktNiwgJHByb3BlcnR5LTcsICRwcm9wZXJ0eS04LCAkcHJvcGVydHktOSwgJHByb3BlcnR5LTEwKTtcbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgIHsgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5IDogcHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oLXdlYmtpdCwgJHByb3BlcnRpZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICB7ICAgICAgICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eSA6IHByZWZpeGVkLWZvci10cmFuc2l0aW9uKC1tb3osICAgICRwcm9wZXJ0aWVzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgeyAgICAgICAgICAgIC1vLXRyYW5zaXRpb24tcHJvcGVydHkgOiBwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigtbywgICAgICAkcHJvcGVydGllcyk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5IDogJHByb3BlcnRpZXM7XG59XG5cbi8vIE9uZSBvciBtb3JlIGR1cmF0aW9ucyBpbiBzZWNvbmRzXG4vL1xuLy8gKiBmb3IgbXVsdGlwbGUsIHVzZSBhIGNvbW1hLWRlbGltaXRlZCBsaXN0XG4vLyAqIHRoZXNlIGR1cmF0aW9ucyB3aWxsIGFmZmVjdCB0aGUgcHJvcGVydGllcyBpbiB0aGUgc2FtZSBsaXN0IHBvc2l0aW9uXG5cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCRkdXJhdGlvbi0xOiAkZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uLFxuICAkZHVyYXRpb24tMiA6IGZhbHNlLFxuICAkZHVyYXRpb24tMyA6IGZhbHNlLFxuICAkZHVyYXRpb24tNCA6IGZhbHNlLFxuICAkZHVyYXRpb24tNSA6IGZhbHNlLFxuICAkZHVyYXRpb24tNiA6IGZhbHNlLFxuICAkZHVyYXRpb24tNyA6IGZhbHNlLFxuICAkZHVyYXRpb24tOCA6IGZhbHNlLFxuICAkZHVyYXRpb24tOSA6IGZhbHNlLFxuICAkZHVyYXRpb24tMTA6IGZhbHNlXG4pIHtcbiAgQGlmIHR5cGUtb2YoJGR1cmF0aW9uLTEpID09IHN0cmluZyB7ICRkdXJhdGlvbi0xOiB1bnF1b3RlKCRkdXJhdGlvbi0xKTsgfVxuICAkZHVyYXRpb25zOiBjb21wYWN0KCRkdXJhdGlvbi0xLCAkZHVyYXRpb24tMiwgJGR1cmF0aW9uLTMsICRkdXJhdGlvbi00LCAkZHVyYXRpb24tNSwgJGR1cmF0aW9uLTYsICRkdXJhdGlvbi03LCAkZHVyYXRpb24tOCwgJGR1cmF0aW9uLTksICRkdXJhdGlvbi0xMCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2l0aW9uLWR1cmF0aW9uLCAkZHVyYXRpb25zLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIE9uZSBvciBtb3JlIHRpbWluZyBmdW5jdGlvbnNcbi8vXG4vLyAqIFsgZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0IHwgY3ViaWMtYmV6aWVyKHgxLCB5MSwgeDIsIHkyKV1cbi8vICogRm9yIG11bHRpcGxlLCB1c2UgYSBjb21tYS1kZWxpbWl0ZWQgbGlzdFxuLy8gKiBUaGVzZSBmdW5jdGlvbnMgd2lsbCBlZmZlY3QgdGhlIHByb3BlcnRpZXMgaW4gdGhlIHNhbWUgbGlzdCBwb3NpdGlvblxuXG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJGZ1bmN0aW9uLTE6ICRkZWZhdWx0LXRyYW5zaXRpb24tZnVuY3Rpb24sXG4gICRmdW5jdGlvbi0yIDogZmFsc2UsXG4gICRmdW5jdGlvbi0zIDogZmFsc2UsXG4gICRmdW5jdGlvbi00IDogZmFsc2UsXG4gICRmdW5jdGlvbi01IDogZmFsc2UsXG4gICRmdW5jdGlvbi02IDogZmFsc2UsXG4gICRmdW5jdGlvbi03IDogZmFsc2UsXG4gICRmdW5jdGlvbi04IDogZmFsc2UsXG4gICRmdW5jdGlvbi05IDogZmFsc2UsXG4gICRmdW5jdGlvbi0xMDogZmFsc2Vcbikge1xuICAkZnVuY3Rpb24tMTogdW5xdW90ZSgkZnVuY3Rpb24tMSk7XG4gICRmdW5jdGlvbnM6IGNvbXBhY3QoJGZ1bmN0aW9uLTEsICRmdW5jdGlvbi0yLCAkZnVuY3Rpb24tMywgJGZ1bmN0aW9uLTQsICRmdW5jdGlvbi01LCAkZnVuY3Rpb24tNiwgJGZ1bmN0aW9uLTcsICRmdW5jdGlvbi04LCAkZnVuY3Rpb24tOSwgJGZ1bmN0aW9uLTEwKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkZnVuY3Rpb25zLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIE9uZSBvciBtb3JlIHRyYW5zaXRpb24tZGVsYXlzIGluIHNlY29uZHNcbi8vXG4vLyAqIGZvciBtdWx0aXBsZSwgdXNlIGEgY29tbWEtZGVsaW1pdGVkIGxpc3Rcbi8vICogdGhlc2UgZGVsYXlzIHdpbGwgZWZmZWN0IHRoZSBwcm9wZXJ0aWVzIGluIHRoZSBzYW1lIGxpc3QgcG9zaXRpb25cblxuQG1peGluIHRyYW5zaXRpb24tZGVsYXkoJGRlbGF5LTE6ICRkZWZhdWx0LXRyYW5zaXRpb24tZGVsYXksXG4gICRkZWxheS0yIDogZmFsc2UsXG4gICRkZWxheS0zIDogZmFsc2UsXG4gICRkZWxheS00IDogZmFsc2UsXG4gICRkZWxheS01IDogZmFsc2UsXG4gICRkZWxheS02IDogZmFsc2UsXG4gICRkZWxheS03IDogZmFsc2UsXG4gICRkZWxheS04IDogZmFsc2UsXG4gICRkZWxheS05IDogZmFsc2UsXG4gICRkZWxheS0xMDogZmFsc2Vcbikge1xuICBAaWYgdHlwZS1vZigkZGVsYXktMSkgPT0gc3RyaW5nIHsgJGRlbGF5LTE6IHVucXVvdGUoJGRlbGF5LTEpOyB9XG4gICRkZWxheXM6IGNvbXBhY3QoJGRlbGF5LTEsICRkZWxheS0yLCAkZGVsYXktMywgJGRlbGF5LTQsICRkZWxheS01LCAkZGVsYXktNiwgJGRlbGF5LTcsICRkZWxheS04LCAkZGVsYXktOSwgJGRlbGF5LTEwKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zaXRpb24tZGVsYXksICRkZWxheXMsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gVHJhbnNpdGlvbiBhbGwtaW4tb25lIHNob3J0aGFuZFxuXG5AbWl4aW4gc2luZ2xlLXRyYW5zaXRpb24oXG4gICRwcm9wZXJ0eTogJGRlZmF1bHQtdHJhbnNpdGlvbi1wcm9wZXJ0eSxcbiAgJGR1cmF0aW9uOiAkZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uLFxuICAkZnVuY3Rpb246ICRkZWZhdWx0LXRyYW5zaXRpb24tZnVuY3Rpb24sXG4gICRkZWxheTogJGRlZmF1bHQtdHJhbnNpdGlvbi1kZWxheVxuKSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oY29tcGFjdCgkcHJvcGVydHkgJGR1cmF0aW9uICRmdW5jdGlvbiAkZGVsYXkpKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24oXG4gICR0cmFuc2l0aW9uLTEgOiBkZWZhdWx0LFxuICAkdHJhbnNpdGlvbi0yIDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTMgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tNCA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi01IDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTYgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tNyA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi04IDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTkgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tMTA6IGZhbHNlXG4pIHtcbiAgQGlmICR0cmFuc2l0aW9uLTEgPT0gZGVmYXVsdCB7XG4gICAgJHRyYW5zaXRpb24tMSA6IGNvbXBhY3QoJGRlZmF1bHQtdHJhbnNpdGlvbi1wcm9wZXJ0eSAkZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uICRkZWZhdWx0LXRyYW5zaXRpb24tZnVuY3Rpb24gJGRlZmF1bHQtdHJhbnNpdGlvbi1kZWxheSk7XG4gIH1cbiAgJHRyYW5zaXRpb25zOiBmYWxzZTtcbiAgQGlmIHR5cGUtb2YoJHRyYW5zaXRpb24tMSkgPT0gbGlzdCBhbmQgdHlwZS1vZihudGgoJHRyYW5zaXRpb24tMSwxKSkgPT0gbGlzdCB7XG4gICAgJHRyYW5zaXRpb25zOiBqb2luKCR0cmFuc2l0aW9uLTEsIGNvbXBhY3QoJHRyYW5zaXRpb24tMiwgJHRyYW5zaXRpb24tMywgJHRyYW5zaXRpb24tNCwgJHRyYW5zaXRpb24tNSwgJHRyYW5zaXRpb24tNiwgJHRyYW5zaXRpb24tNywgJHRyYW5zaXRpb24tOCwgJHRyYW5zaXRpb24tOSwgJHRyYW5zaXRpb24tMTApLCBjb21tYSk7XG4gIH0gQGVsc2Uge1xuICAgICR0cmFuc2l0aW9ucyA6IGNvbXBhY3QoJHRyYW5zaXRpb24tMSwgJHRyYW5zaXRpb24tMiwgJHRyYW5zaXRpb24tMywgJHRyYW5zaXRpb24tNCwgJHRyYW5zaXRpb24tNSwgJHRyYW5zaXRpb24tNiwgJHRyYW5zaXRpb24tNywgJHRyYW5zaXRpb24tOCwgJHRyYW5zaXRpb24tOSwgJHRyYW5zaXRpb24tMTApO1xuICB9XG4gICRkZWxheXM6IGNvbW1hLWxpc3QoKTtcbiAgJGhhcy1kZWxheXM6IGZhbHNlO1xuICAkd2Via2l0LXZhbHVlOiBjb21tYS1saXN0KCk7XG4gICRtb3otdmFsdWU6IGNvbW1hLWxpc3QoKTtcbiAgJG8tdmFsdWU6IGNvbW1hLWxpc3QoKTtcblxuICAvLyBUaGlzIGJsb2NrIGNhbiBiZSBtYWRlIGNvbnNpZGVyYWJseSBzaW1wbGVyIGF0IHRoZSBwb2ludCBpbiB0aW1lIHRoYXRcbiAgLy8gd2Ugbm8gbG9uZ2VyIG5lZWQgdG8gZGVhbCB3aXRoIHRoZSBkaWZmZXJlbmNlcyBpbiBob3cgZGVsYXlzIGFyZSB0cmVhdGVkLlxuICBAZWFjaCAkdHJhbnNpdGlvbiBpbiAkdHJhbnNpdGlvbnMge1xuICAgIC8vIEV4dHJhY3QgdGhlIHZhbHVlcyBmcm9tIHRoZSBsaXN0XG4gICAgLy8gKHRoaXMgd291bGQgYmUgY2xlYW5lciBpZiBudGggdG9vayBhIDNyZCBhcmd1bWVudCB0byBwcm92aWRlIGEgZGVmYXVsdCB2YWx1ZSkuXG4gICAgJHByb3BlcnR5OiBudGgoJHRyYW5zaXRpb24sIDEpO1xuICAgICRkdXJhdGlvbjogZmFsc2U7XG4gICAgJHRpbWluZy1mdW5jdGlvbjogZmFsc2U7XG4gICAgJGRlbGF5OiBmYWxzZTtcbiAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDEgeyAkZHVyYXRpb246ICAgICAgICBudGgoJHRyYW5zaXRpb24sIDIpOyB9XG4gICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPiAyIHsgJHRpbWluZy1mdW5jdGlvbjogbnRoKCR0cmFuc2l0aW9uLCAzKTsgfVxuICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMyB7ICRkZWxheTogICAgICAgICAgIG50aCgkdHJhbnNpdGlvbiwgNCk7ICRoYXMtZGVsYXlzOiB0cnVlOyB9XG5cbiAgICAvLyBJZiBhIGRlbGF5IGlzIHByb3ZpZGVkIHdpdGhvdXQgYSB0aW1pbmcgZnVuY3Rpb25cbiAgICBAaWYgaXMtdGltZSgkdGltaW5nLWZ1bmN0aW9uKSBhbmQgbm90KCRkZWxheSkgeyAkZGVsYXk6ICR0aW1pbmctZnVuY3Rpb247ICR0aW1pbmctZnVuY3Rpb246IGZhbHNlOyAkaGFzLWRlbGF5czogdHJ1ZTsgfVxuXG4gICAgLy8gS2VlcCBhIGxpc3Qgb2YgZGVsYXlzIGluIGNhc2Ugb25lIGlzIHNwZWNpZmllZFxuICAgICRkZWxheXM6IGFwcGVuZCgkZGVsYXlzLCBpZigkZGVsYXksICRkZWxheSwgMHMpKTtcblxuICAgICR3ZWJraXQtdmFsdWU6IGFwcGVuZCgkd2Via2l0LXZhbHVlLCBjb21wYWN0KHByZWZpeGVkLWZvci10cmFuc2l0aW9uKC13ZWJraXQsICRwcm9wZXJ0eSkgJGR1cmF0aW9uICR0aW1pbmctZnVuY3Rpb24pKTtcbiAgICAgICAkbW96LXZhbHVlOiBhcHBlbmQoICAgJG1vei12YWx1ZSwgY29tcGFjdChwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbiggICAtbW96LCAkcHJvcGVydHkpICRkdXJhdGlvbiAkdGltaW5nLWZ1bmN0aW9uICRkZWxheSkpO1xuICAgICAgICAgJG8tdmFsdWU6IGFwcGVuZCggICAgICRvLXZhbHVlLCBjb21wYWN0KHByZWZpeGVkLWZvci10cmFuc2l0aW9uKCAgICAgLW8sICRwcm9wZXJ0eSkgJGR1cmF0aW9uICR0aW1pbmctZnVuY3Rpb24gJGRlbGF5KSk7XG4gIH1cblxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgeyAgICAgICAtd2Via2l0LXRyYW5zaXRpb24gOiAkd2Via2l0LXZhbHVlO1xuICAgIC8vIG9sZCB3ZWJraXQgZG9lc24ndCBzdXBwb3J0IHRoZSBkZWxheSBwYXJhbWV0ZXIgaW4gdGhlIHNob3J0aGFuZCBzbyB3ZSBwcm9ncmVzc2l2ZWx5IGVuaGFuY2UgaXQuXG4gICAgQGlmICRoYXMtZGVsYXlzICAgICAgICAgICAgICAgICAgICAgICB7IC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheSA6ICRkZWxheXM7ICAgICAgIH0gfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgeyAgICAgICAgICAtbW96LXRyYW5zaXRpb24gOiAkbW96LXZhbHVlOyAgICB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICB7ICAgICAgICAgICAgLW8tdHJhbnNpdGlvbiA6ICRvLXZhbHVlOyAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uIDogJHRyYW5zaXRpb25zO1xufVxuXG4vLyBjb2VyY2UgYSBsaXN0IHRvIGJlIGNvbW1hIGRlbGltaXRlZCBvciBtYWtlIGEgbmV3LCBlbXB0eSBjb21tYSBkZWxpbWl0ZWQgbGlzdC5cbkBmdW5jdGlvbiBjb21tYS1saXN0KCRsaXN0OiAoKSkge1xuICBAcmV0dXJuIGpvaW4oKCksICRsaXN0LCBjb21tYSk7XG59XG5cbi8vIFJldHVybnMgYCRwcm9wZXJ0eWAgd2l0aCB0aGUgZ2l2ZW4gcHJlZml4IGlmIGl0IGlzIGZvdW5kIGluIGAkdHJhbnNpdGlvbmFibGUtcHJlZml4ZWQtdmFsdWVzYC5cbkBmdW5jdGlvbiBwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigkcHJlZml4LCAkcHJvcGVydHkpIHtcbiAgQGlmIHR5cGUtb2YoJHByb3BlcnR5KSA9PSBsaXN0IHtcbiAgICAkbmV3LWxpc3Q6IGNvbW1hLWxpc3QoKTtcbiAgICBAZWFjaCAkdiBpbiAkcHJvcGVydHkge1xuICAgICAgJG5ldy1saXN0OiBhcHBlbmQoJG5ldy1saXN0LCBwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigkcHJlZml4LCAkdikpO1xuICAgIH1cbiAgICBAcmV0dXJuICRuZXctbGlzdDtcbiAgfSBAZWxzZSB7XG4gICAgQGlmIGluZGV4KCR0cmFuc2l0aW9uYWJsZS1wcmVmaXhlZC12YWx1ZXMsICRwcm9wZXJ0eSkge1xuICAgICAgQHJldHVybiAjeyRwcmVmaXh9LSN7JHByb3BlcnR5fTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gJHByb3BlcnR5O1xuICAgIH1cbiAgfVxufVxuXG4vLyBDaGVja3MgaWYgdGhlIHZhbHVlIGdpdmVuIGlzIGEgdW5pdCBvZiB0aW1lLlxuQGZ1bmN0aW9uIGlzLXRpbWUoJHZhbHVlKSB7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICBAcmV0dXJuIG5vdChub3QoaW5kZXgocyBtcywgdW5pdCgkdmFsdWUpKSkpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIENoYW5nZSB0aGUgYXBwZWFyYW5jZSBmb3IgTW96aWxsYSwgV2Via2l0IGFuZCBwb3NzaWJseSB0aGUgZnV0dXJlLlxuLy8gVGhlIGFwcGVhcmFuY2UgcHJvcGVydHkgaXMgY3VycmVudGx5IG5vdCBwcmVzZW50IGluIGFueSBuZXdlciBDU1Mgc3BlY2lmaWNhdGlvbi5cbi8vXG4vLyBUaGVyZSBpcyBubyBvZmZpY2lhbCBsaXN0IG9mIGFjY2VwdGVkIHZhbHVlcywgYnV0IHlvdSBtaWdodCBjaGVjayB0aGVzZSBzb3VyY2U6XG4vLyAgIE1vemlsbGEgOiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi9DU1MvLW1vei1hcHBlYXJhbmNlXG4vLyAgIFdlYmtpdCAgOiBodHRwOi8vY29kZS5nb29nbGUuY29tL3Avd2Via2l0LW1pcnJvci9zb3VyY2UvYnJvd3NlL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluP3NwZWM9c3ZuZjFhZWE1NTlkY2QwMjVhODk0NmFhN2RhNmU0ZTgzMDZmNWMxYjYwNCZyPTYzYzdkMWFmNDQ0MzBiMzE0MjMzZmVhMzQyYzNkZGIyYTA1MmUzNjVcbi8vICAgKHNlYXJjaCBmb3IgJ2FwcGVhcmFuY2UnIHdpdGhpbiB0aGUgcGFnZSlcblxuQG1peGluIGFwcGVhcmFuY2UoJGFwKSB7XG4gICRhcDogdW5xdW90ZSgkYXApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYXBwZWFyYW5jZSwgJGFwLFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gV2Via2l0LCBJRTEwIGFuZCBmdXR1cmUgc3VwcG9ydCBmb3IgW0NTUyBSZWdpb25zXShodHRwOi8vZGV2LnczLm9yZy9jc3N3Zy9jc3MzLXJlZ2lvbnMvKVxuLy9cbi8vICR0YXJnZXQgaXMgYSB2YWx1ZSB5b3UgdXNlIHRvIGxpbmsgdHdvIHJlZ2lvbnMgb2YgeW91ciBjc3MuIEdpdmUgdGhlIHNvdXJjZSBvZiB5b3VyIGNvbnRlbnQgdGhlIGZsb3ctaW50byBwcm9wZXJ0eSwgYW5kIGdpdmUgeW91ciB0YXJnZXQgY29udGFpbmVyIHRoZSBmbG93LWZyb20gcHJvcGVydHkuXG4vL1xuLy8gRm9yIGEgdmlzdWFsIGV4cGxhbmF0aW9uLCBzZWUgdGhlIGRpYWdyYW1zIGF0IENocmlzIENveWllcidzXG4vLyBbQ1NTLVRyaWNrc10oaHR0cDovL2Nzcy10cmlja3MuY29tL2NvbnRlbnQtZm9sZGluZy8pXG5cbkBtaXhpbiBmbG93LWludG8oJHRhcmdldCkge1xuICAkdGFyZ2V0OiB1bnF1b3RlKCR0YXJnZXQpO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoZmxvdy1pbnRvLCAkdGFyZ2V0LFxuICAgIG5vdCgtbW96KSwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgbm90IG9mZmljaWFsXG4gICk7XG59XG5cbkBtaXhpbiBmbG93LWZyb20oJHRhcmdldCkge1xuICAkdGFyZ2V0OiB1bnF1b3RlKCR0YXJnZXQpO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoZmxvdy1mcm9tLCAkdGFyZ2V0LFxuICAgIG5vdCgtbW96KSwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgbm90IG9mZmljaWFsXG4gICk7XG59IiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBNaXhpbnMgdG8gc3VwcG9ydCBzcGVjaWZpYyBDU1MgVGV4dCBMZXZlbCAzIGVsZW1lbnRzXG4vL1xuLy9cbi8vXG4vLyBNaXhpbiBmb3Igd29yZC1icmVhayBwcm9wZXJ0aWVzXG4vLyBodHRwOi8vd3d3LnczLm9yZy9jc3MzLXRleHQvI3dvcmQtYnJlYWtcbi8vICogbGVnYWwgdmFsdWVzIGZvciAkdHlwZSA6IG5vcm1hbCwga2VlcC1hbGwsIGJyZWFrLWFsbFxuLy9cbi8vIEV4YW1wbGU6XG4vLyAgICBwLndvcmRCcmVhayB7QGluY2x1ZGUgd29yZC1icmVhayhicmVhay1hbGwpO31cbi8vXG4vLyBXaGljaCBnZW5lcmF0ZXM6XG4vLyAgICBwLndvcmRCcmVhayB7XG4vLyAgICAgIC1tcy13b3JkLWJyZWFrOiBicmVhay1hbGw7XG4vLyAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbi8vICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDt9XG4vL1xuQG1peGluIHdvcmQtYnJlYWsoJHZhbHVlOiBub3JtYWwpe1xuICBAaWYgJHZhbHVlID09IGJyZWFrLWFsbCB7XG4gICAgLy9Nb3N0IGJyb3dzZXJzIGhhbmRsZSB0aGUgYnJlYWstYWxsIGNhc2UgdGhlIHNhbWUuLi5cbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwod29yZC1icmVhaywgJHZhbHVlLFxuICAgICAgbm90KC1tb3opLCBub3QoLXdlYmtpdCksIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICAgKTtcbiAgICAvL1dlYmtpdCBoYW5kbGVzIGJyZWFrLWFsbCBkaWZmZXJlbnRseS4uLiBhcyBicmVhay13b3JkXG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHdvcmQtYnJlYWssIGJyZWFrLXdvcmQsXG4gICAgICBub3QoLW1veiksIG5vdCgtd2Via2l0KSwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICAgICk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh3b3JkLWJyZWFrLCAkdmFsdWUsXG4gICAgICBub3QoLW1veiksIG5vdCgtd2Via2l0KSwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgICApO1xuICB9XG59XG5cbi8vIE1peGluIGZvciB0aGUgaHlwaGVucyBwcm9wZXJ0eVxuLy9cbi8vIFczQyBzcGVjaWZpY2F0aW9uOiBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLXRleHQvI2h5cGhlbnNcbi8vICogbGVnYWwgdmFsdWVzIGZvciAkdHlwZSA6IGF1dG8sIG1hbnVhbCwgbm9uZVxuLy9cbi8vIEV4YW1wbGU6XG4vLyAgcCB7XG4vLyAgICBAaW5jbHVkZSBoeXBoZW5zKGF1dG8pO31cbi8vIFdoaWNoIGdlbmVyYXRlczpcbi8vICBwIHtcbi8vICAgIC1tb3otaHlwaGVuczogYXV0bztcbi8vICAgIC13ZWJraXQtaHlwaGVuczogYXV0bztcbi8vICAgIGh5cGhlbnM6IGF1dG87fVxuLy9cbkBtaXhpbiBoeXBoZW5zKCR2YWx1ZTogYXV0byl7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChoeXBoZW5zLCAkdmFsdWUsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBNaXhpbiBmb3IgeC1icm93c2VyIGh5cGhlbmF0aW9uIGJhc2VkIG9uIEBhdWNoZW5iZXJnJ3MgcG9zdDpcbi8vIFJlbW92ZXMgdGhlIG5lZWQgZm9yIHRoZSA8d2JyLz4gSFRNTCB0YWdcbi8vIGh0dHA6Ly9ibG9nLmtlbm5ldGguaW8vYmxvZy8yMDEyLzAzLzA0L3dvcmQtd3JhcHBpbmctaHlwZXJuYXRpb24tdXNpbmctY3NzL1xuLy9cbi8vICBFeGFtcGxlOlxuLy8gIGRpdiB7QGluY2x1ZGUgaHlwaGVuYXRpb247fVxuLy9cbi8vICBXaGljaCBnZW5lcmF0ZXM6XG4vLyAgICBkaXYge1xuLy8gICAgICAtbXMtd29yZC1icmVhazogYnJlYWstYWxsO1xuLy8gICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4vLyAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4vLyAgICAgIC1tb3otaHlwaGVuczogYXV0bztcbi8vICAgICAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuLy8gICAgICBoeXBoZW5zOiBhdXRvO31cbi8vXG5AbWl4aW4gaHlwaGVuYXRpb257XG4gIEBpbmNsdWRlIHdvcmQtYnJlYWsoYnJlYWstYWxsKTtcbiAgQGluY2x1ZGUgaHlwaGVucztcbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gUHJvdmlkZXMgY3Jvc3MtYnJvd3NlciBzdXBwb3J0IGZvciB0aGUgdXBjb21pbmcgKD8pIGNzczMgZmlsdGVyIHByb3BlcnR5LlxuLy9cbi8vIEVhY2ggZmlsdGVyIGFyZ3VtZW50IHNob3VsZCBhZGhlcmUgdG8gdGhlIHN0YW5kYXJkIGNzczMgc3ludGF4IGZvciB0aGVcbi8vIGZpbHRlciBwcm9wZXJ0eS5cbkBtaXhpbiBmaWx0ZXIgKFxuICAkZmlsdGVyLTEsXG4gICRmaWx0ZXItMiA6IGZhbHNlLFxuICAkZmlsdGVyLTMgOiBmYWxzZSxcbiAgJGZpbHRlci00IDogZmFsc2UsXG4gICRmaWx0ZXItNSA6IGZhbHNlLFxuICAkZmlsdGVyLTYgOiBmYWxzZSxcbiAgJGZpbHRlci03IDogZmFsc2UsXG4gICRmaWx0ZXItOCA6IGZhbHNlLFxuICAkZmlsdGVyLTkgOiBmYWxzZSxcbiAgJGZpbHRlci0xMDogZmFsc2Vcbikge1xuICAkZmlsdGVyIDogY29tcGFjdCgkZmlsdGVyLTEsICRmaWx0ZXItMiwgJGZpbHRlci0zLCAkZmlsdGVyLTQsICRmaWx0ZXItNSwgJGZpbHRlci02LCAkZmlsdGVyLTcsICRmaWx0ZXItOCwgJGZpbHRlci05LCAkZmlsdGVyLTEwKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGZpbHRlciwgJGZpbHRlcixcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG4iLCIkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXBpZTogdHJ1ZTtcblxuLy8gSXQgaXMgcmVjb21tZW5kZWQgdGhhdCB5b3UgdXNlIFNhc3MncyBAZXh0ZW5kIGRpcmVjdGl2ZSB0byBhcHBseSB0aGUgYmVoYXZpb3Jcbi8vIHRvIHlvdXIgUElFIGVsZW1lbnRzLiBUbyBhc3Npc3QgeW91LCBDb21wYXNzIHByb3ZpZGVzIHRoaXMgdmFyaWFibGUuXG4vLyBXaGVuIHNldCwgaXQgd2lsbCBjYXVzZSB0aGUgYEBpbmNsdWRlIHBpZWAgbWl4aW4gdG8gZXh0ZW5kIHRoaXMgY2xhc3MuXG4vLyBUaGUgY2xhc3MgbmFtZSB5b3UgcHJvdmlkZSBzaG91bGQgKipub3QqKiBpbmNsdWRlIHRoZSBgLmAuXG4kcGllLWJhc2UtY2xhc3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBhcHByb2FjaCB0byB1c2luZyBQSUUuXG4vLyBDYW4gYmUgb25lIG9mOlxuLy9cbi8vICogcmVsYXRpdmUgKGRlZmF1bHQpXG4vLyAqIHotaW5kZXhcbi8vICogbm9uZVxuJHBpZS1kZWZhdWx0LWFwcHJvYWNoOiByZWxhdGl2ZSAhZGVmYXVsdDtcblxuLy8gVGhlIGxvY2F0aW9uIG9mIHlvdXIgUElFIGJlaGF2aW9yIGZpbGVcbi8vIFRoaXMgc2hvdWxkIGJlIHJvb3QtcmVsYXRpdmUgdG8geW91ciB3ZWIgc2VydmVyXG4vLyByZWxhdGl2ZSBhc3NldHMgZG9uJ3Qgd29yay4gSXQgaXMgcmVjb21tZW5kZWQgdGhhdFxuLy8geW91IHNldCB0aGlzIHlvdXJzZWxmLlxuJHBpZS1iZWhhdmlvcjogc3R5bGVzaGVldC11cmwoXCJQSUUuaHRjXCIpICFkZWZhdWx0O1xuXG4vLyBXaGVuIHVzaW5nIHRoZSB6LWluZGV4IGFwcHJvYWNoLCB0aGVcbi8vIGZpcnN0IGFuY2VzdG9yIG9mIHRoZSBQSUUgZWxlbWVudCBhdFxuLy8gb3IgYmVmb3JlIHRoZSBjb250YWluZXIncyBvcGFxdWUgYmFja2dyb3VuZFxuLy8gc2hvdWxkIGhhdmUgYSB6LWluZGV4IHNldCBhcyB3ZWxsIHRvIGVuc3VyZVxuLy8gcHJvcGVydCB6LWluZGV4IHN0YWNraW5nLlxuLy9cbi8vIFRoZSBgJHBvc2l0aW9uYCBhcmd1bWVudCBtdXN0IGJlIHNvbWUgbm9uLXN0YXRpY1xuLy8gdmFsdWUgKGFic29sdXRlLCByZWxhdGl2ZSwgZXRjLilcbkBtaXhpbiBwaWUtY29udGFpbmVyKCR6LWluZGV4OiAwLCAkcG9zaXRpb246IHJlbGF0aXZlKSB7XG4gIHotaW5kZXg6ICR6LWluZGV4O1xuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xufVxuXG4vLyBQSUUgZWxlbWVudHMgbXVzdCBoYXZlIHRoaXMgYmVoYXZpb3IgYXR0YWNoZWQgdG8gdGhlbS5cbi8vIElFIGlzIGJyb2tlbiAtLSBpdCBkb2Vzbid0IHRoaW5rIG9mIGJlaGF2aW9yIHVybHMgYXNcbi8vIHJlbGF0aXZlIHRvIHRoZSBzdHlsZXNoZWV0LiBJdCBjb25zaWRlcnMgdGhlbSByZWxhdGl2ZVxuLy8gdG8gdGhlIHdlYnBhZ2UuIEFzIGEgcmVzdWx0LCB5b3UgY2Fubm90IHJlbGlhYmx5IHVzZVxuLy8gY29tcGFzcydzIHJlbGF0aXZlX2Fzc2V0cyB3aXRoIFBJRS5cbi8vIFxuLy8gKiBgJGFwcHJvYWNoYCAtIG9uZSBvZjogcmVsYXRpdmUsIHotaW5kZXgsIG9yIG5vbmVcbi8vICogYCR6LWluZGV4YCAtIHdoZW4gdXNpbmcgdGhlIHotaW5kZXggYXBwcm9hY2gsIHRoaXNcbi8vICAgICAgICAgICAgICAgIGlzIHRoZSB6LWluZGV4IHRoYXQgaXMgYXBwbGllZC5cbkBtaXhpbiBwaWUtZWxlbWVudChcbiAgJGFwcHJvYWNoOiAkcGllLWRlZmF1bHQtYXBwcm9hY2gsXG4gICR6LWluZGV4OiAwXG4pIHtcbiAgYmVoYXZpb3I6ICRwaWUtYmVoYXZpb3I7XG4gIEBpZiAkYXBwcm9hY2ggPT0gcmVsYXRpdmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICBAZWxzZSBpZiAkYXBwcm9hY2ggPT0gei1pbmRleCB7XG4gICAgei1pbmRleDogJHotaW5kZXg7XG4gIH1cbn1cblxuLy8gYSBzbWFydCBtaXhpbiB0aGF0IGtub3dzIHRvIGV4dGVuZCBvciBpbmNsdWRlIHBpZS1lbGVtZW50IGFjY29yZGluZ1xuLy8gdG8geW91ciBzdHlsZXNoZWV0J3MgY29uZmlndXJhdGlvbiB2YXJpYWJsZXMuXG5AbWl4aW4gcGllKCRiYXNlLWNsYXNzOiAkcGllLWJhc2UtY2xhc3MpIHtcbiAgQGlmICRiYXNlLWNsYXNzIHtcbiAgICBAZXh0ZW5kIC4jeyRiYXNlLWNsYXNzfTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgcGllLWVsZW1lbnQ7XG4gIH1cbn1cblxuLy8gV2F0Y2ggYCRuYCBsZXZlbHMgb2YgYW5jZXN0b3JzIGZvciBjaGFuZ2VzIHRvIHRoZWlyIGNsYXNzIGF0dHJpYnV0ZVxuLy8gU28gdGhhdCBjYXNjYWRpbmcgc3R5bGVzIHdpbGwgd29yayBjb3JyZWN0bHkgb24gdGhlIFBJRSBlbGVtZW50LlxuQG1peGluIHBpZS13YXRjaC1hbmNlc3RvcnMoJG4pIHtcbiAgLXBpZS13YXRjaC1hbmNlc3RvcnM6ICRuO1xufSIsIi8vIFVzZXIgSW50ZXJmYWNlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhpcyBmaWxlIGNhbiBiZSBleHBhbmRlZCB0byBoYW5kbGUgYWxsIHRoZSB1c2VyIGludGVyZmFjZSBwcm9wZXJ0aWVzIGFzXG4vLyB0aGV5IGJlY29tZSBhdmFpbGFibGUgaW4gYnJvd3NlcnM6XG4vLyBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAwL1dELWNzczMtdXNlcmludC0yMDAwMDIxNlxuQGltcG9ydCBcInNoYXJlZFwiO1xuXG5cbi8vIFRoaXMgcHJvcGVydHkgY29udHJvbHMgdGhlIHNlbGVjdGlvbiBtb2RlbCBhbmQgZ3JhbnVsYXJpdHkgb2YgYW4gZWxlbWVudC5cbi8vXG4vLyBAcGFyYW0gJHNlbGVjdFxuLy8gICBbIG5vbmUgfCB0ZXh0IHwgdG9nZ2xlIHwgZWxlbWVudCB8IGVsZW1lbnRzIHwgYWxsIHwgaW5oZXJpdCBdXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdCkge1xuICAkc2VsZWN0OiB1bnF1b3RlKCRzZWxlY3QpO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwodXNlci1zZWxlY3QsICRzZWxlY3QsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgbm90KC1tcyksIC1raHRtbCwgb2ZmaWNpYWxcbiAgKTtcbn1cbiIsIkBpbXBvcnQgXCIuLi9zdXBwb3J0XCI7XG5AaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIFRoaXMgaXMgdGhlIHVuZGVybHlpbmcgaW1wbGVtZW50YXRpb24gZm9yIGFsbCB0aGUgb3RoZXIgbWl4aW5zIGluIHRoaXMgbW9kdWxlLlxuLy8gSXQgaXMgdGhlIG9ubHkgd2F5IHRvIGFjY2VzcyBwcmVmaXggc3VwcG9ydCBmb3Igb2xkZXIgdmVyc2lvbnMgb2YgdGhlIHNwZWMuXG4vLyBEZXZpYXRlcyBmcm9tIGNhbm9uaWNhbCBDb21wYXNzIGltcGxlbWVudGF0aW9uIGJ5IGRyb3BwaW5nIHN1cHBvcnQgZm9yXG4vLyBvbGRlciB2ZXJzaW9ucyBvZiB0aGUgRmxleGJveCBzcGVjLlxuLy9cbi8vIGAkcHJvcGVydGllc2A6IG1hcCBvZiBwcm9wZXJ0eS12YWx1ZSBwYWlycyB0aGF0IHNob3VsZCBiZSBwcmVmaXhlZFxuQG1peGluIGZsZXhib3goJHByb3BlcnRpZXMpIHtcbiAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkcHJvcGVydGllcyB7XG4gICAgQGlmICRwcm9wID09IGRpc3BsYXkge1xuICAgICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsLXZhbHVlKGRpc3BsYXksICR2YWx1ZSwgbm90KC1tb3opLCAtd2Via2l0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWwpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKCRwcm9wLCAkdmFsdWUsIG5vdCgtbW96KSwgLXdlYmtpdCwgbm90KC1vKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gVmFsdWVzIGZvciAkZGlzcGxheSBhcmU6IGZsZXggKGRlZmF1bHQpLCBpbmxpbmUtZmxleFxuQG1peGluIGRpc3BsYXktZmxleCgkZGlzcGxheTogZmxleCkge1xuICBAaW5jbHVkZSBmbGV4Ym94KChkaXNwbGF5OiAkZGlzcGxheSkpO1xufVxuXG4vLyBWYWx1ZXM6IHJvdyB8IHJvdy1yZXZlcnNlIHwgY29sdW1uIHwgY29sdW1uLXJldmVyc2VcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uKSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uKSk7XG59XG5cbi8vIFZhbHVlczogbm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZVxuQG1peGluIGZsZXgtd3JhcCgkd3JhcCkge1xuICBAaW5jbHVkZSBmbGV4Ym94KChmbGV4LXdyYXA6ICR3cmFwKSk7XG59XG5cbi8vIFNob3J0aGFuZCBmb3IgZmxleC1kaXJlY3Rpb24gYW5kIGZsZXgtd3JhcC5cbkBtaXhpbiBmbGV4LWZsb3coJGZsb3cpIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoZmxleC1mbG93OiAkZmxvdykpO1xufVxuXG4vLyBBY2NlcHRzIGFuIGludGVnZXJcbkBtaXhpbiBvcmRlcigkb3JkZXIpIHtcbiAgQGluY2x1ZGUgZmxleGJveCgob3JkZXI6ICRvcmRlcikpO1xufVxuXG4vLyBTaG9ydGhhbmQgZm9yIGZsZXgtZ3JvdywgZmxleC1zaHJpbmsgYW5kIG9wdGlvbmFsbHkgZmxleC1iYXNpcy5cbi8vIFNwYWNlIHNlcGFyYXRlZCwgaW4gdGhhdCBvcmRlci5cbkBtaXhpbiBmbGV4KCRmbGV4KSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKGZsZXg6ICRmbGV4KSk7XG59XG5cbi8vIEFjY2VwdHMgYSBudW1iZXIuXG5AbWl4aW4gZmxleC1ncm93KCRmbGV4LWdyb3cpIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoZmxleC1ncm93OiAkZmxleC1ncm93KSk7XG59XG5cbi8vIEFjY2VwdHMgYSBudW1iZXIuXG5AbWl4aW4gZmxleC1zaHJpbmsoJGZsZXgtc2hyaW5rKSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKGZsZXgtc2hyaW5rOiAkZmxleC1zaHJpbmspKTtcbn1cblxuLy8gQWNjZXB0cyBhbnkgbGVnYWwgdmFsdWUgZm9yIHRoZSB3aWR0aCBwcm9wZXJ0eS5cbkBtaXhpbiBmbGV4LWJhc2lzKCRmbGV4LWJhc2lzKSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKGZsZXgtYmFzaXM6ICRmbGV4LWJhc2lzKSk7XG59XG5cbi8vIExlZ2FsIHZhbHVlczogZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZFxuQG1peGluIGp1c3RpZnktY29udGVudCgkanVzdGlmeS1jb250ZW50KSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKGp1c3RpZnktY29udGVudDogJGp1c3RpZnktY29udGVudCkpO1xufVxuXG4vLyBMZWdhbCB2YWx1ZXM6IGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaFxuQG1peGluIGFsaWduLWl0ZW1zKCRhbGlnbi1pdGVtcykge1xuICBAaW5jbHVkZSBmbGV4Ym94KChhbGlnbi1pdGVtczogJGFsaWduLWl0ZW1zKSk7XG59XG5cbi8vIExlZ2FsIHZhbHVlczogYXV0byB8IGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaFxuQG1peGluIGFsaWduLXNlbGYoJGFsaWduLXNlbGYpIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoYWxpZ24tc2VsZjogJGFsaWduLXNlbGYpKTtcbn1cblxuLy8gTGVnYWwgdmFsdWVzOiBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kIHwgc3RyZXRjaFxuQG1peGluIGFsaWduLWNvbnRlbnQoJGFsaWduLWNvbnRlbnQpIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoYWxpZ24tY29udGVudDogJGFsaWduLWNvbnRlbnQpKTtcbn1cbiIsIi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBQaG90b0VkaXRvclNESy5cbiAqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTYgOWVsZW1lbnRzIEdtYkggPGNvbnRhY3RAOWVsZW1lbnRzLmNvbT5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aG91dFxuICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBsaWNlbnNlIGFncmVlbWVudFxuICogaXMgYXBwcm92ZWQgYW5kIGEgbGVnYWwvZmluYW5jaWFsIGNvbnRyYWN0IHdhcyBzaWduZWQgYnkgdGhlIHVzZXIuXG4gKiBUaGUgbGljZW5zZSBhZ3JlZW1lbnQgY2FuIGJlIGZvdW5kIHVuZGVyIGZvbGxvd2luZyBsaW5rOlxuICpcbiAqIGh0dHBzOi8vd3d3LnBob3RvZWRpdG9yc2RrLmNvbS9MSUNFTlNFLnR4dFxuICovXG5cbi8vIENvbG9yc1xuJHByaW1hcnlDb2xvcjogIzQzQURFQjtcbiRiYWNrZ3JvdW5kQ29sb3I6ICMxQjFCMUI7XG4kc2Vjb25kYXJ5QmFja2dyb3VuZENvbG9yOiAjMkIyQjJCO1xuJGxpZ2h0QmFja2dyb3VuZENvbG9yOiAjMzkzOTM5O1xuJHNlcGFyYXRvckNvbG9yOiAjNDY0NjQ2O1xuJGRhcmtDb2xvcjogIzFBMUExQTtcbiRncmV5Q29sb3I6ICMzNjM2MzY7XG4kZGFya2VyR3JleUNvbG9yOiAjMzEzMTMxO1xuJGxpZ2h0R3JleUNvbG9yOiByZ2JhKHdoaXRlLCAwLjIpO1xuJGxpZ2h0ZXJHcmV5Q29sb3I6IHJnYmEod2hpdGUsIDAuNSk7XG4kcHJpbWFyeUNvbG9yOiAjNDNBREVCO1xuJHJlZENvbG9yOiAjRkYzRTNFO1xuJHllbGxvd0NvbG9yOiAjRkZCRjNFO1xuXG4vLyBNZXRyaWNzXG4kaGVhZGVyQmFySGVpZ2h0OiAzMHB4O1xuJGtub2JTaXplOiAyMHB4O1xuJGNvbnRyb2xzSGVpZ2h0OiA4NHB4O1xuJGNvbnRyb2xzQnV0dG9uV2lkdGg6IDY0cHg7XG4kY29udHJvbHNCdXR0b25IZWlnaHQ6IDYwcHg7XG4kY29udHJvbHNOYXJyb3dCdXR0b25XaWR0aDogNTdweDtcblxuLy8gUmVzcG9uc2l2ZVxuJGdyaWQtY29sdW1uczogMTI7XG4kc2NyZWVuLXNtYWxsLW1pbjogNzY4cHg7XG4kc2NyZWVuLXNtYWxsLW1heDogOTkxcHg7XG4kc2NyZWVuLW1lZGl1bS1taW46IDk5MnB4O1xuJHNjcmVlbi1tZWRpdW0tbWF4OiAxMTk5cHg7XG4kc2NyZWVuLWxhcmdlLW1pbjogMTIwMHB4O1xuJHNjcmVlbi14c21hbGwtbWF4OiAkc2NyZWVuLXNtYWxsLW1pbiAtIDE7XG4kc2NyZWVuLXNtYWxsLW1heDogJHNjcmVlbi1tZWRpdW0tbWluIC0gMTtcbiRzY3JlZW4tbWVkaXVtLW1heDogJHNjcmVlbi1sYXJnZS1taW4gLSAxO1xuIiwiLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIFBob3RvRWRpdG9yU0RLLlxuICpcbiAqIENvcHlyaWdodCAoQykgMjAxNiA5ZWxlbWVudHMgR21iSCA8Y29udGFjdEA5ZWxlbWVudHMuY29tPlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRob3V0XG4gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGxpY2Vuc2UgYWdyZWVtZW50XG4gKiBpcyBhcHByb3ZlZCBhbmQgYSBsZWdhbC9maW5hbmNpYWwgY29udHJhY3Qgd2FzIHNpZ25lZCBieSB0aGUgdXNlci5cbiAqIFRoZSBsaWNlbnNlIGFncmVlbWVudCBjYW4gYmUgZm91bmQgdW5kZXIgZm9sbG93aW5nIGxpbms6XG4gKlxuICogaHR0cHM6Ly93d3cucGhvdG9lZGl0b3JzZGsuY29tL0xJQ0VOU0UudHh0XG4gKi9cblxuLy8gUHJlZml4IGFsbCBibG9jayBuYW1lcyB3aXRoIHRoaXNcbiRibG9ja1ByZWZpeDogJ3Blc2RrLXJlYWN0LSc7XG5cbiRlbGVtZW50U2VwYXJhdG9yOiAnX18nO1xuJG1vZGlmaWVyU2VwYXJhdG9yOiAnLS0nO1xuXG4vLyBCRU0gbWl4aW5zXG4vLyBTZWUgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9zbmlwcGV0cy9zYXNzL2JlbS1taXhpbnMvXG5cbkBtaXhpbiBibG9jaygkbmFtZSkge1xuICAuI3skYmxvY2tQcmVmaXh9I3skbmFtZX0ge1xuICAgIEBjb250ZW50OyB9IH1cblxuQG1peGluIGVsZW1lbnQoJG5hbWUpIHtcbiAgJiN7JGVsZW1lbnRTZXBhcmF0b3J9I3skbmFtZX0ge1xuICAgIEBjb250ZW50OyB9IH1cblxuQG1peGluIGVsZW1lbnRzV2l0aEJhc2VTZWxlY3RvcigkYmFzZVNlbGVjdG9yLCAkbmFtZXMuLi4pIHtcbiAgJHNlbGVjdG9yOiAoKTtcbiAgQGVhY2ggJG5hbWUgaW4gJG5hbWVzIHtcbiAgICAkc2VsZWN0b3I6IGFwcGVuZCgkc2VsZWN0b3IsIHVucXVvdGUoJyN7JGJhc2VTZWxlY3Rvcn0jeyRlbGVtZW50U2VwYXJhdG9yfSN7JG5hbWV9JyksIGNvbW1hKTsgfVxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBjb250ZW50OyB9IH1cblxuQG1peGluIGVsZW1lbnRzKCRuYW1lcy4uLikge1xuICAkc2VsZWN0b3I6ICgpO1xuICBAZWFjaCAkbmFtZSBpbiAkbmFtZXMge1xuICAgICRzZWxlY3RvcjogYXBwZW5kKCRzZWxlY3RvciwgdW5xdW90ZSgnJiN7JGVsZW1lbnRTZXBhcmF0b3J9I3skbmFtZX0nKSwgY29tbWEpOyB9XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGNvbnRlbnQ7IH0gfVxuXG5AbWl4aW4gbW9kaWZpZXIoJG5hbWUpIHtcbiAgJiN7JG1vZGlmaWVyU2VwYXJhdG9yfSN7JG5hbWV9IHtcbiAgICBAY29udGVudDsgfSB9XG5cbkBtaXhpbiBtb2RpZmllcnMoJG5hbWVzLi4uKSB7XG4gICRzZWxlY3RvcjogKCk7XG4gIEBlYWNoICRuYW1lIGluICRuYW1lcyB7XG4gICAgJHNlbGVjdG9yOiBhcHBlbmQoJHNlbGVjdG9yLCB1bnF1b3RlKCcmI3skbW9kaWZpZXJTZXBhcmF0b3J9I3skbmFtZX0nKSwgY29tbWEpOyB9XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGNvbnRlbnQ7IH0gfVxuXG5AbWl4aW4gZmxhZygkbmFtZSkge1xuICAmLmlzLSN7JG5hbWV9IHtcbiAgICBAY29udGVudDsgfSB9XG5cbkBtaXhpbiBwYXJlbnRfc2VsZWN0b3Jfd2l0aF9lbGVtZW50cygkcGFyZW50U2VsZWN0b3IsICRuYW1lcy4uLikge1xuICAkbmFtZXNTZWxlY3RvcnM6ICgpO1xuICBAZWFjaCAkbmFtZSBpbiAkbmFtZXMge1xuICAgICRuYW1lc1NlbGVjdG9yczogYXBwZW5kKCRuYW1lc1NlbGVjdG9ycywgdW5xdW90ZSgnJiN7JGVsZW1lbnRTZXBhcmF0b3J9I3skbmFtZX0nKSwgY29tbWEpOyB9XG4gICYjeyRwYXJlbnRTZWxlY3Rvcn0ge1xuICAgICN7JG5hbWVzU2VsZWN0b3JzfSB7fSB9IH1cbiIsIi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBQaG90b0VkaXRvclNESy5cbiAqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTYgOWVsZW1lbnRzIEdtYkggPGNvbnRhY3RAOWVsZW1lbnRzLmNvbT5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aG91dFxuICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBsaWNlbnNlIGFncmVlbWVudFxuICogaXMgYXBwcm92ZWQgYW5kIGEgbGVnYWwvZmluYW5jaWFsIGNvbnRyYWN0IHdhcyBzaWduZWQgYnkgdGhlIHVzZXIuXG4gKiBUaGUgbGljZW5zZSBhZ3JlZW1lbnQgY2FuIGJlIGZvdW5kIHVuZGVyIGZvbGxvd2luZyBsaW5rOlxuICpcbiAqIGh0dHBzOi8vd3d3LnBob3RvZWRpdG9yc2RrLmNvbS9MSUNFTlNFLnR4dFxuICovXG5cbiRmb250TmFtZTogXCJfX3Blc2RrX01vbnRzZXJyYXRcIjtcblxuQG1peGluIGZvbnQtcmVndWxhciB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udE5hbWU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuQG1peGluIGZvbnQtbGlnaHQge1xuICBmb250LWZhbWlseTogJGZvbnROYW1lO1xuICBmb250LXdlaWdodDogMTAwOyB9XG4iLCIvKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgUGhvdG9FZGl0b3JTREsuXG4gKlxuICogQ29weXJpZ2h0IChDKSAyMDE2IDllbGVtZW50cyBHbWJIIDxjb250YWN0QDllbGVtZW50cy5jb20+XG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGhvdXRcbiAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgbGljZW5zZSBhZ3JlZW1lbnRcbiAqIGlzIGFwcHJvdmVkIGFuZCBhIGxlZ2FsL2ZpbmFuY2lhbCBjb250cmFjdCB3YXMgc2lnbmVkIGJ5IHRoZSB1c2VyLlxuICogVGhlIGxpY2Vuc2UgYWdyZWVtZW50IGNhbiBiZSBmb3VuZCB1bmRlciBmb2xsb3dpbmcgbGluazpcbiAqXG4gKiBodHRwczovL3d3dy5waG90b2VkaXRvcnNkay5jb20vTElDRU5TRS50eHRcbiAqL1xuXG5AbWl4aW4gc2NyZWVuLW1pbi1zbWFsbCgpIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1pbikge1xuICAgIEBjb250ZW50OyB9IH1cblxuQG1peGluIHNjcmVlbi1taW4tbWVkaXVtKCkge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tbWVkaXVtLW1pbikge1xuICAgIEBjb250ZW50OyB9IH1cblxuQG1peGluIHNjcmVlbi1taW4tbGFyZ2UoKSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1sYXJnZS1taW4pIHtcbiAgICBAY29udGVudDsgfSB9XG5cbkBtaXhpbiBzY3JlZW4tc21hbGwoKSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1zbWFsbC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xuICAgIEBjb250ZW50OyB9IH1cblxuQG1peGluIHNjcmVlbi1tZWRpdW0oKSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1tZWRpdW0tbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZWRpdW0tbWF4KSB7XG4gICAgQGNvbnRlbnQ7IH0gfVxuIiwiLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIFBob3RvRWRpdG9yU0RLLlxuICpcbiAqIENvcHlyaWdodCAoQykgMjAxNiA5ZWxlbWVudHMgR21iSCA8Y29udGFjdEA5ZWxlbWVudHMuY29tPlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRob3V0XG4gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGxpY2Vuc2UgYWdyZWVtZW50XG4gKiBpcyBhcHByb3ZlZCBhbmQgYSBsZWdhbC9maW5hbmNpYWwgY29udHJhY3Qgd2FzIHNpZ25lZCBieSB0aGUgdXNlci5cbiAqIFRoZSBsaWNlbnNlIGFncmVlbWVudCBjYW4gYmUgZm91bmQgdW5kZXIgZm9sbG93aW5nIGxpbms6XG4gKlxuICogaHR0cHM6Ly93d3cucGhvdG9lZGl0b3JzZGsuY29tL0xJQ0VOU0UudHh0XG4gKi9cblxuQG1peGluIGFycm93KCRkaXJlY3Rpb246IHRvcCwgJHNpemU6IDEwcHgsICRjb2xvcjogI2NjYywgJGNlbnRlcjogNTAlLCAkbWFyZ2luOiAtMXB4LCAkcHNldWRvOiBiZWZvcmUpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAmOiN7JHBzZXVkb30ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgY29udGVudDogXCJcIjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IFwicmlnaHRcIiB7XG4gICAgICB0b3A6ICRjZW50ZXI7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogJHNpemUgKiAtMTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xuICAgICAgYm9yZGVyLXRvcDogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1sZWZ0OiAkc2l6ZSBzb2xpZCAkY29sb3I7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogaW5oZXJpdDsgfVxuXG4gICAgQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcImRvd25cIiB7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBsZWZ0OiAkY2VudGVyO1xuICAgICAgbWFyZ2luLXRvcDogJG1hcmdpbjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkc2l6ZSAqIC0xO1xuICAgICAgYm9yZGVyLXRvcDogJHNpemUgc29saWQgJGNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1sZWZ0OiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IGluaGVyaXQ7IH1cblxuICAgIEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJsZWZ0XCIge1xuICAgICAgdG9wOiAkY2VudGVyO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAkc2l6ZSAqIC0xO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICAgICAgYm9yZGVyLXRvcDogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6ICRzaXplIHNvbGlkICRjb2xvcjtcbiAgICAgIGJvcmRlci1ib3R0b206ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IGluaGVyaXQ7IH1cblxuICAgIEBlbHNlIHtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgIGxlZnQ6ICRjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRzaXplICogLTE7XG4gICAgICBib3JkZXItcmlnaHQ6ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHNpemUgc29saWQgJGNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogaW5oZXJpdDsgfSB9IH1cbiIsIi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBQaG90b0VkaXRvclNESy5cbiAqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTYgOWVsZW1lbnRzIEdtYkggPGNvbnRhY3RAOWVsZW1lbnRzLmNvbT5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aG91dFxuICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBsaWNlbnNlIGFncmVlbWVudFxuICogaXMgYXBwcm92ZWQgYW5kIGEgbGVnYWwvZmluYW5jaWFsIGNvbnRyYWN0IHdhcyBzaWduZWQgYnkgdGhlIHVzZXIuXG4gKiBUaGUgbGljZW5zZSBhZ3JlZW1lbnQgY2FuIGJlIGZvdW5kIHVuZGVyIGZvbGxvd2luZyBsaW5rOlxuICpcbiAqIGh0dHBzOi8vd3d3LnBob3RvZWRpdG9yc2RrLmNvbS9MSUNFTlNFLnR4dFxuICovXG5cbkBpbmNsdWRlIGJsb2NrKGVkaXRvcikge1xuICBAaW5jbHVkZSBnbG9iYWwtcmVzZXQoKTtcbiAgQGluY2x1ZGUgdXNlci1zZWxlY3Qobm9uZSk7XG5cbiAgLy8gV2Via2l0IGJ1Z2ZpeCBmb3Igcm91bmRlZCBib3JkZXIgd2l0aCBvdmVyZmxvdzogaGlkZGVuXG4gIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFBQkNBSUFBQUNRZDFQZUFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBQTVKUkVGVWVOcGlZR0JnQUFnd0FBQUVBQUdiQStvSkFBQUFBRWxGVGtTdVFtQ0MpO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmRDb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICBAaW5jbHVkZSBzY3JlZW4tbWluLXNtYWxsIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDVweCk7IH1cblxuICAmLCAqIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9IH1cbiIsIi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBQaG90b0VkaXRvclNESy5cbiAqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTYgOWVsZW1lbnRzIEdtYkggPGNvbnRhY3RAOWVsZW1lbnRzLmNvbT5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aG91dFxuICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBsaWNlbnNlIGFncmVlbWVudFxuICogaXMgYXBwcm92ZWQgYW5kIGEgbGVnYWwvZmluYW5jaWFsIGNvbnRyYWN0IHdhcyBzaWduZWQgYnkgdGhlIHVzZXIuXG4gKiBUaGUgbGljZW5zZSBhZ3JlZW1lbnQgY2FuIGJlIGZvdW5kIHVuZGVyIGZvbGxvd2luZyBsaW5rOlxuICpcbiAqIGh0dHBzOi8vd3d3LnBob3RvZWRpdG9yc2RrLmNvbS9MSUNFTlNFLnR4dFxuICovXG5cbiRoZWFkZXJCYXJIZWlnaHQ6IDMwcHg7XG5cbkBpbmNsdWRlIGJsb2NrKGVkaXRvcikge1xuICBAaW5jbHVkZSBibG9jayhoZWFkZXIpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRoZWFkZXJCYXJIZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZENvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGVsZW1lbnQobGFiZWwpIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtcmVndWxhcjtcbiAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMC41KTtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyQmFySGVpZ2h0O1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG5cbiAgICBAaW5jbHVkZSBlbGVtZW50KGNsb3NlKSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICBsZWZ0OiAxNXB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICBAaW5jbHVkZSBlbGVtZW50KGltYWdlKSB7XG4gICAgICAgIHdpZHRoOiAxMXB4O1xuICAgICAgICBoZWlnaHQ6IDExcHg7IH0gfSB9IH1cbiIsIi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBQaG90b0VkaXRvclNESy5cbiAqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTYgOWVsZW1lbnRzIEdtYkggPGNvbnRhY3RAOWVsZW1lbnRzLmNvbT5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aG91dFxuICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBsaWNlbnNlIGFncmVlbWVudFxuICogaXMgYXBwcm92ZWQgYW5kIGEgbGVnYWwvZmluYW5jaWFsIGNvbnRyYWN0IHdhcyBzaWduZWQgYnkgdGhlIHVzZXIuXG4gKiBUaGUgbGljZW5zZSBhZ3JlZW1lbnQgY2FuIGJlIGZvdW5kIHVuZGVyIGZvbGxvd2luZyBsaW5rOlxuICpcbiAqIGh0dHBzOi8vd3d3LnBob3RvZWRpdG9yc2RrLmNvbS9MSUNFTlNFLnR4dFxuICovXG5cbkBpbmNsdWRlIGJsb2NrKGVkaXRvcikge1xuICBAaW5jbHVkZSBibG9jayhzY3JlZW4pIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDVweCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAkaGVhZGVyQmFySGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnlCYWNrZ3JvdW5kQ29sb3I7IH0gfVxuIiwiLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIFBob3RvRWRpdG9yU0RLLlxuICpcbiAqIENvcHlyaWdodCAoQykgMjAxNiA5ZWxlbWVudHMgR21iSCA8Y29udGFjdEA5ZWxlbWVudHMuY29tPlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRob3V0XG4gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGxpY2Vuc2UgYWdyZWVtZW50XG4gKiBpcyBhcHByb3ZlZCBhbmQgYSBsZWdhbC9maW5hbmNpYWwgY29udHJhY3Qgd2FzIHNpZ25lZCBieSB0aGUgdXNlci5cbiAqIFRoZSBsaWNlbnNlIGFncmVlbWVudCBjYW4gYmUgZm91bmQgdW5kZXIgZm9sbG93aW5nIGxpbms6XG4gKlxuICogaHR0cHM6Ly93d3cucGhvdG9lZGl0b3JzZGsuY29tL0xJQ0VOU0UudHh0XG4gKi9cblxuQGluY2x1ZGUgYmxvY2soZWRpdG9yKSB7XG4gIEBpbmNsdWRlIGJsb2NrKGJ1dHRvbikge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNXB4KTtcbiAgICBAaW5jbHVkZSBmb250LXJlZ3VsYXI7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeUNvbG9yO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6IHdoaXRlO1xuXG4gICAgQGluY2x1ZGUgbW9kaWZpZXIoaW5saW5lKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfSB9XG4iLCIvKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgUGhvdG9FZGl0b3JTREsuXG4gKlxuICogQ29weXJpZ2h0IChDKSAyMDE2IDllbGVtZW50cyBHbWJIIDxjb250YWN0QDllbGVtZW50cy5jb20+XG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGhvdXRcbiAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgbGljZW5zZSBhZ3JlZW1lbnRcbiAqIGlzIGFwcHJvdmVkIGFuZCBhIGxlZ2FsL2ZpbmFuY2lhbCBjb250cmFjdCB3YXMgc2lnbmVkIGJ5IHRoZSB1c2VyLlxuICogVGhlIGxpY2Vuc2UgYWdyZWVtZW50IGNhbiBiZSBmb3VuZCB1bmRlciBmb2xsb3dpbmcgbGluazpcbiAqXG4gKiBodHRwczovL3d3dy5waG90b2VkaXRvcnNkay5jb20vTElDRU5TRS50eHRcbiAqL1xuXG4kc3ViSGVhZGVySGVpZ2h0OiA1MHB4O1xuJHN1YkhlYWRlckhvcml6b250YWxQYWRkaW5nOiAyMHB4O1xuXG5AaW5jbHVkZSBibG9jayhlZGl0b3IpIHtcbiAgQGluY2x1ZGUgYmxvY2soc3ViSGVhZGVyKSB7XG4gICAgQGluY2x1ZGUgZWxlbWVudChyb3cpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgICAgIGhlaWdodDogJHN1YkhlYWRlckhlaWdodDtcbiAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnlCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuICAgIEBpbmNsdWRlIGVsZW1lbnQoY2VsbCkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHBhZGRpbmc6IDAgJHN1YkhlYWRlckhvcml6b250YWxQYWRkaW5nOyB9XG5cbiAgICBAaW5jbHVkZSBlbGVtZW50KGxhYmVsKSB7XG4gICAgICBAaW5jbHVkZSBmb250LXJlZ3VsYXI7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBsaW5lLWhlaWdodDogJHN1YkhlYWRlckhlaWdodDtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuXG4gICAgQGluY2x1ZGUgZWxlbWVudHMobGVmdCwgcmlnaHQpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTBweDsgfVxuXG4gICAgQGluY2x1ZGUgZWxlbWVudChsZWZ0KSB7XG4gICAgICBsZWZ0OiAxNXB4OyB9XG5cbiAgICBAaW5jbHVkZSBlbGVtZW50KHJpZ2h0KSB7XG4gICAgICByaWdodDogMTVweDsgfVxuXG4gICAgQGluY2x1ZGUgZWxlbWVudChjYW5jZWxCdXR0b24pIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtcmVndWxhcjtcbiAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMC41KTtcbiAgICAgIC8vIE5vdCBmbG9hdGluZyBiZWNhdXNlIHdlIHdhbnQgdGhlIGxhYmVsIHRvIHN0YXkgY2VudGVyZWRcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6ICRzdWJIZWFkZXJIb3Jpem9udGFsUGFkZGluZztcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkc3ViSGVhZGVySGVpZ2h0O1xuICAgICAgY29sb3I6IHdoaXRlO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgxLjApOyB9IH1cblxuICAgIEBpbmNsdWRlIGVsZW1lbnQoYnV0dG9uKSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgcGFkZGluZzogMCA2cHggMCA5cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZENvbG9yO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICBAaW5jbHVkZSBzY3JlZW4tbWluLXNtYWxsIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTJweDsgfVxuXG4gICAgICBAaW5jbHVkZSBtb2RpZmllcihibHVlKSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5Q29sb3I7IH1cblxuICAgICAgQGluY2x1ZGUgbW9kaWZpZXIod2l0aEljb24pIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxOHB4ICsgMTRweDsgfVxuXG4gICAgICBAaW5jbHVkZSBlbGVtZW50KGxhYmVsKSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtcmVndWxhcjtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuXG4gICAgICAgIEBpbmNsdWRlIHNjcmVlbi1taW4tc21hbGwge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG5cbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQoaWNvbikge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogOXB4O1xuICAgICAgICBsZWZ0OiAxMXB4O1xuICAgICAgICB3aWR0aDogMTRweDsgfSB9IH0gfVxuIiwiLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIFBob3RvRWRpdG9yU0RLLlxuICpcbiAqIENvcHlyaWdodCAoQykgMjAxNiA5ZWxlbWVudHMgR21iSCA8Y29udGFjdEA5ZWxlbWVudHMuY29tPlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRob3V0XG4gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGxpY2Vuc2UgYWdyZWVtZW50XG4gKiBpcyBhcHByb3ZlZCBhbmQgYSBsZWdhbC9maW5hbmNpYWwgY29udHJhY3Qgd2FzIHNpZ25lZCBieSB0aGUgdXNlci5cbiAqIFRoZSBsaWNlbnNlIGFncmVlbWVudCBjYW4gYmUgZm91bmQgdW5kZXIgZm9sbG93aW5nIGxpbms6XG4gKlxuICogaHR0cHM6Ly93d3cucGhvdG9lZGl0b3JzZGsuY29tL0xJQ0VOU0UudHh0XG4gKi9cblxuQGluY2x1ZGUgYmxvY2soZWRpdG9yKSB7XG4gIEBpbmNsdWRlIGJsb2NrKGNhbnZhcykge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQoY29udGFpbmVyKSB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50KHJvdykge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gICAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kQ29sb3I7IH1cblxuICAgICAgQGluY2x1ZGUgZWxlbWVudChjZWxsKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG5cbiAgICBAaW5jbHVkZSBlbGVtZW50cyhpbm5lckNvbnRhaW5lciwgY2FudmFzKSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgQGluY2x1ZGUgZmxhZyhkcmFnZ2FibGUpIHtcbiAgICAgICAgY3Vyc29yOiBtb3ZlOyB9IH0gfSB9XG4iLCIvKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgUGhvdG9FZGl0b3JTREsuXG4gKlxuICogQ29weXJpZ2h0IChDKSAyMDE2IDllbGVtZW50cyBHbWJIIDxjb250YWN0QDllbGVtZW50cy5jb20+XG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGhvdXRcbiAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgbGljZW5zZSBhZ3JlZW1lbnRcbiAqIGlzIGFwcHJvdmVkIGFuZCBhIGxlZ2FsL2ZpbmFuY2lhbCBjb250cmFjdCB3YXMgc2lnbmVkIGJ5IHRoZSB1c2VyLlxuICogVGhlIGxpY2Vuc2UgYWdyZWVtZW50IGNhbiBiZSBmb3VuZCB1bmRlciBmb2xsb3dpbmcgbGluazpcbiAqXG4gKiBodHRwczovL3d3dy5waG90b2VkaXRvcnNkay5jb20vTElDRU5TRS50eHRcbiAqL1xuXG5AaW5jbHVkZSBibG9jayhlZGl0b3IpIHtcbiAgQGluY2x1ZGUgYmxvY2soY29udHJvbHMpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBlbGVtZW50KGNvbnRhaW5lcikge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudChyb3cpIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtcm93O1xuICAgICAgICBoZWlnaHQ6ICRjb250cm9sc0hlaWdodDtcbiAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeUJhY2tncm91bmRDb2xvcjsgfVxuXG4gICAgICBAaW5jbHVkZSBlbGVtZW50KGNlbGwpIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgaGVpZ2h0OiAkY29udHJvbHNIZWlnaHQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbiAgICBAaW5jbHVkZSBlbGVtZW50KHRhYmxlKSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAkY29udHJvbHNIZWlnaHQ7XG4gICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyB9XG5cbiAgICBAaW5jbHVkZSBlbGVtZW50KG92ZXJsYXkpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIEBpbmNsdWRlIG1vZGlmaWVyKGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMCAxMHB4IDA7IH1cblxuICAgICAgQGluY2x1ZGUgbW9kaWZpZXIoZGFyaykge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRzZWNvbmRhcnlCYWNrZ3JvdW5kQ29sb3IsIDAuNyk7IH0gfVxuXG4gICAgQGluY2x1ZGUgZWxlbWVudChjZWxsKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICAgQGluY2x1ZGUgbW9kaWZpZXIobGlzdCkge1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDA7IH1cblxuICAgICAgQGluY2x1ZGUgbW9kaWZpZXJzKGJ1dHRvbiwgY29sb3JQaWNrZXIpIHtcbiAgICAgICAgd2lkdGg6ICRjb250cm9sc0J1dHRvbldpZHRoICsgMTBweDsgfVxuXG4gICAgICBAaW5jbHVkZSBtb2RpZmllcihjYXRlZ29yeURyb3Bkb3duKSB7XG4gICAgICAgIHdpZHRoOiAkY29udHJvbHNCdXR0b25XaWR0aCArIDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRsaWdodEJhY2tncm91bmRDb2xvcjsgfVxuXG4gICAgICBAaW5jbHVkZSBtb2RpZmllcihsYXJnZUJ1dHRvbikge1xuICAgICAgICB3aWR0aDogJGNvbnRyb2xzTmFycm93QnV0dG9uV2lkdGg7IH1cblxuICAgICAgQGluY2x1ZGUgbW9kaWZpZXIoc2xpZGVyKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cblxuICAgICAgQGluY2x1ZGUgbW9kaWZpZXIod2l0aEJvcmRlclJpZ2h0KSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRiYWNrZ3JvdW5kQ29sb3I7IH1cblxuICAgICAgQGluY2x1ZGUgbW9kaWZpZXIod2l0aEJvcmRlckxlZnQpIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkYmFja2dyb3VuZENvbG9yOyB9XG5cbiAgICAgIEBpbmNsdWRlIG1vZGlmaWVyKGVtcHR5KSB7XG4gICAgICAgIHdpZHRoOiAwOyB9IH1cblxuICAgIEBpbmNsdWRlIGVsZW1lbnQobGFyZ2VCdXR0b24pIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAkY29udHJvbHNOYXJyb3dCdXR0b25XaWR0aDtcbiAgICAgIGhlaWdodDogJGNvbnRyb2xzSGVpZ2h0O1xuICAgICAgYmFja2dyb3VuZDogJGxpZ2h0QmFja2dyb3VuZENvbG9yO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgbGluZS1oZWlnaHQ6ICRjb250cm9sc0hlaWdodDtcblxuICAgICAgQGluY2x1ZGUgZWxlbWVudChpY29uKSB7XG4gICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMC44KTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgd2lkdGg6IDM2cHg7IH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIEBpbmNsdWRlIGVsZW1lbnQoaWNvbik7IH0gfVxuXG5cbiAgICBAaW5jbHVkZSBlbGVtZW50KGJ1dHRvbikge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygxcHgpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6ICRjb250cm9sc0J1dHRvbldpZHRoO1xuICAgICAgaGVpZ2h0OiAkY29udHJvbHNCdXR0b25IZWlnaHQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBsaW5lLWhlaWdodDogJGNvbnRyb2xzQnV0dG9uSGVpZ2h0O1xuXG4gICAgICBAaW5jbHVkZSBlbGVtZW50KGlubGluZUxhYmVsKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGZsYWcoYWN0aXZlKSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkcHJpbWFyeUNvbG9yLCAwLjgpOyB9XG5cbiAgICAgICAgQGluY2x1ZGUgZWxlbWVudChsYWJlbCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJhY2tncm91bmQobGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYShibGFjaywgMCksIHJnYmEoYmxhY2ssIDAuNikpKTtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LWxpZ2h0O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTsgfSB9XG5cbiAgICAgIEBpbmNsdWRlIGZsYWcoYWN0aXZlKSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5Q29sb3I7IH1cblxuICAgICAgKiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbiAgICAgIEBpbmNsdWRlIG1vZGlmaWVyKG5hcnJvdykge1xuICAgICAgICB3aWR0aDogJGNvbnRyb2xzTmFycm93QnV0dG9uV2lkdGg7IH1cblxuICAgICAgQGluY2x1ZGUgZWxlbWVudChpY29uKSB7XG4gICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMC44KTtcbiAgICAgICAgd2lkdGg6IDM2cHg7IH1cblxuICAgICAgQGluY2x1ZGUgZWxlbWVudChjYW52YXMpIHtcbiAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgwLjgpO1xuICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMS4wKTsgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1vZGlmaWVyKGxhcmdlKSB7XG4gICAgICAgICAgd2lkdGg6ICRjb250cm9sc0J1dHRvbldpZHRoO1xuICAgICAgICAgIGhlaWdodDogJGNvbnRyb2xzQnV0dG9uSGVpZ2h0OyB9IH1cblxuICAgICAgQGluY2x1ZGUgZWxlbWVudChsYWJlbCkge1xuICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDAuOCk7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtcmVndWxhcjtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogOXB4O1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTsgfSB9XG5cbiAgICBAaW5jbHVkZSBlbGVtZW50KGxpc3QpIHtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICBoZWlnaHQ6ICRjb250cm9sc0hlaWdodDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQoaXRlbSkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgcGFkZGluZzogMCA1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbW9kaWZpZXIoZ2FwKSB7XG4gICAgICAgICAgd2lkdGg6IDIwcHg7IH0gfVxuXG4gICAgICBAaW5jbHVkZSBlbGVtZW50KHNlcGFyYXRvcikge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiA2NHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc2VwYXJhdG9yQ29sb3I7IH0gfSB9IH1cblxuQGluY2x1ZGUgYmxvY2soY29udHJvbHMpIHtcbiAgQGluY2x1ZGUgZWxlbWVudChidXR0b24pIHtcbiAgICAkYmFzZVNlbGVjdG9yOiAmO1xuICAgICY6aG92ZXIge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudHNXaXRoQmFzZVNlbGVjdG9yKCRiYXNlU2VsZWN0b3IsIGljb24sIGxhYmVsKSB7XG4gICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMS4wKTsgfSB9IH1cblxuICBAaW5jbHVkZSBlbGVtZW50KGxhcmdlQnV0dG9uKSB7XG4gICAgJGJhc2VTZWxlY3RvcjogJjtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnRzV2l0aEJhc2VTZWxlY3RvcigkYmFzZVNlbGVjdG9yLCBpY29uLCBsYWJlbCkge1xuICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDEuMCk7IH0gfSB9IH1cblxuQGluY2x1ZGUgYmxvY2soY29udHJvbHMpIHtcbiAgQGluY2x1ZGUgZWxlbWVudChidXR0b24pIHtcbiAgICAmI3skbW9kaWZpZXJTZXBhcmF0b3J9d2l0aElubGluZUxhYmVsICYjeyRlbGVtZW50U2VwYXJhdG9yfWljb24ge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygxcHgpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6ICRjb250cm9sc0J1dHRvbldpZHRoO1xuICAgICAgaGVpZ2h0OiAkY29udHJvbHNCdXR0b25IZWlnaHQ7IH1cblxuICAgICYjeyRtb2RpZmllclNlcGFyYXRvcn13aXRoSW5saW5lTGFiZWwgJiN7JGVsZW1lbnRTZXBhcmF0b3J9bGFiZWwge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoNHB4KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kQ29sb3I7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4gICAgJiN7JG1vZGlmaWVyU2VwYXJhdG9yfXdpdGhJbmxpbmVMYWJlbC5pcy1hY3RpdmUgJiN7JGVsZW1lbnRTZXBhcmF0b3J9bGFiZWwge1xuICAgICAgYmFja2dyb3VuZDogJHByaW1hcnlDb2xvcjsgfSB9IH1cbiIsIi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBQaG90b0VkaXRvclNESy5cbiAqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTYgOWVsZW1lbnRzIEdtYkggPGNvbnRhY3RAOWVsZW1lbnRzLmNvbT5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aG91dFxuICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBsaWNlbnNlIGFncmVlbWVudFxuICogaXMgYXBwcm92ZWQgYW5kIGEgbGVnYWwvZmluYW5jaWFsIGNvbnRyYWN0IHdhcyBzaWduZWQgYnkgdGhlIHVzZXIuXG4gKiBUaGUgbGljZW5zZSBhZ3JlZW1lbnQgY2FuIGJlIGZvdW5kIHVuZGVyIGZvbGxvd2luZyBsaW5rOlxuICpcbiAqIGh0dHBzOi8vd3d3LnBob3RvZWRpdG9yc2RrLmNvbS9MSUNFTlNFLnR4dFxuICovXG5cbkBpbmNsdWRlIGJsb2NrKGVkaXRvcikge1xuICBAaW5jbHVkZSBibG9jayhjYW52YXNDb250cm9scykge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQoaW5uZXJDb250YWluZXIpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4gICAgQGluY2x1ZGUgZWxlbWVudChjb250YWluZXIpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgQGluY2x1ZGUgbW9kaWZpZXIoZnVsbCkge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cblxuICAgICAgQGluY2x1ZGUgbW9kaWZpZXIoYm90dG9tKSB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMCAxMHB4IDA7IH1cblxuICAgICAgQGluY2x1ZGUgbW9kaWZpZXIoZGFyaykge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRzZWNvbmRhcnlCYWNrZ3JvdW5kQ29sb3IsIDAuNyk7IH0gfVxuXG4gICAgQGluY2x1ZGUgZWxlbWVudCh0YWJsZSkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG5cbiAgICBAaW5jbHVkZSBlbGVtZW50KHJvdykge1xuICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9XG5cbiAgICBAaW5jbHVkZSBlbGVtZW50KGNlbGwpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfSB9XG4iLCIvKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgUGhvdG9FZGl0b3JTREsuXG4gKlxuICogQ29weXJpZ2h0IChDKSAyMDE2IDllbGVtZW50cyBHbWJIIDxjb250YWN0QDllbGVtZW50cy5jb20+XG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGhvdXRcbiAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgbGljZW5zZSBhZ3JlZW1lbnRcbiAqIGlzIGFwcHJvdmVkIGFuZCBhIGxlZ2FsL2ZpbmFuY2lhbCBjb250cmFjdCB3YXMgc2lnbmVkIGJ5IHRoZSB1c2VyLlxuICogVGhlIGxpY2Vuc2UgYWdyZWVtZW50IGNhbiBiZSBmb3VuZCB1bmRlciBmb2xsb3dpbmcgbGluazpcbiAqXG4gKiBodHRwczovL3d3dy5waG90b2VkaXRvcnNkay5jb20vTElDRU5TRS50eHRcbiAqL1xuXG5AaW5jbHVkZSBibG9jayhlZGl0b3IpIHtcbiAgQGluY2x1ZGUgYmxvY2sod2ViY2FtKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAyNXB4O1xuXG4gICAgQGluY2x1ZGUgZWxlbWVudCh2aWRlbykge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IGF1dG87IH0gfSB9XG4iLCIvKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgUGhvdG9FZGl0b3JTREsuXG4gKlxuICogQ29weXJpZ2h0IChDKSAyMDE2IDllbGVtZW50cyBHbWJIIDxjb250YWN0QDllbGVtZW50cy5jb20+XG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGhvdXRcbiAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgbGljZW5zZSBhZ3JlZW1lbnRcbiAqIGlzIGFwcHJvdmVkIGFuZCBhIGxlZ2FsL2ZpbmFuY2lhbCBjb250cmFjdCB3YXMgc2lnbmVkIGJ5IHRoZSB1c2VyLlxuICogVGhlIGxpY2Vuc2UgYWdyZWVtZW50IGNhbiBiZSBmb3VuZCB1bmRlciBmb2xsb3dpbmcgbGluazpcbiAqXG4gKiBodHRwczovL3d3dy5waG90b2VkaXRvcnNkay5jb20vTElDRU5TRS50eHRcbiAqL1xuXG5AaW5jbHVkZSBibG9jayhlZGl0b3IpIHtcbiAgQGluY2x1ZGUgYmxvY2soc2Nyb2xsYmFyKSB7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSgwLjMpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDI1cHg7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgcGFkZGluZzogNHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIEBpbmNsdWRlIGVsZW1lbnQoYmFyKSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTJweDtcbiAgICAgIHBhZGRpbmc6IDRweDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICBjb250ZW50OiAnJzsgfSB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMC41KTsgfSB9IH1cbiIsIi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBQaG90b0VkaXRvclNESy5cbiAqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTYgOWVsZW1lbnRzIEdtYkggPGNvbnRhY3RAOWVsZW1lbnRzLmNvbT5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aG91dFxuICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBsaWNlbnNlIGFncmVlbWVudFxuICogaXMgYXBwcm92ZWQgYW5kIGEgbGVnYWwvZmluYW5jaWFsIGNvbnRyYWN0IHdhcyBzaWduZWQgYnkgdGhlIHVzZXIuXG4gKiBUaGUgbGljZW5zZSBhZ3JlZW1lbnQgY2FuIGJlIGZvdW5kIHVuZGVyIGZvbGxvd2luZyBsaW5rOlxuICpcbiAqIGh0dHBzOi8vd3d3LnBob3RvZWRpdG9yc2RrLmNvbS9MSUNFTlNFLnR4dFxuICovXG5cbkBpbmNsdWRlIGJsb2NrKGVkaXRvcikge1xuICBAaW5jbHVkZSBibG9jayhzbGlkZXIpIHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgd2lkdGg6IDI4MHB4O1xuXG4gICAgQGluY2x1ZGUgbW9kaWZpZXIobGFyZ2UpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiA2MDBweDsgfVxuXG4gICAgQGluY2x1ZGUgZWxlbWVudChiYXIpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA2cHg7XG5cbiAgICAgIEBpbmNsdWRlIGVsZW1lbnRzKGJhY2tncm91bmQsIGZvcmVncm91bmQpIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygzcHgpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTsgfVxuXG4gICAgICBAaW5jbHVkZSBlbGVtZW50KGJhY2tncm91bmQpIHtcbiAgICAgICAgQGluY2x1ZGUgYmFja2dyb3VuZChsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEod2hpdGUsIDAuMiksIHJnYmEod2hpdGUsIDAuNykpKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQoZm9yZWdyb3VuZCkge1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnlDb2xvcjsgfVxuXG4gICAgICBAaW5jbHVkZSBlbGVtZW50KGtub2IpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAyOyB9XG5cbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQobWlkZGxlRG90KSB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1hcmdpbjogLTNweCAwIDAgLTZweDtcbiAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnlDb2xvcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9IH1cblxuICAgIEBpbmNsdWRlIGVsZW1lbnQobGFiZWxzKSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBAaW5jbHVkZSBlbGVtZW50KGxhYmVsKSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtbGlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1vZGlmaWVyKGxvd2VyQm91bmRhcnkpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbiAgICAgICAgQGluY2x1ZGUgbW9kaWZpZXIodXBwZXJCb3VuZGFyeSkge1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbiAgICAgICAgQGluY2x1ZGUgbW9kaWZpZXJzKHVwcGVyQm91bmRhcnksIGxvd2VyQm91bmRhcnkpIHtcbiAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDAuNSk7XG4gICAgICAgICAgd2lkdGg6IDQwcHg7IH1cblxuICAgICAgICBAaW5jbHVkZSBtb2RpZmllcih2YWx1ZSkge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9IH0gfSB9XG4iLCIvKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgUGhvdG9FZGl0b3JTREsuXG4gKlxuICogQ29weXJpZ2h0IChDKSAyMDE2IDllbGVtZW50cyBHbWJIIDxjb250YWN0QDllbGVtZW50cy5jb20+XG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGhvdXRcbiAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgbGljZW5zZSBhZ3JlZW1lbnRcbiAqIGlzIGFwcHJvdmVkIGFuZCBhIGxlZ2FsL2ZpbmFuY2lhbCBjb250cmFjdCB3YXMgc2lnbmVkIGJ5IHRoZSB1c2VyLlxuICogVGhlIGxpY2Vuc2UgYWdyZWVtZW50IGNhbiBiZSBmb3VuZCB1bmRlciBmb2xsb3dpbmcgbGluazpcbiAqXG4gKiBodHRwczovL3d3dy5waG90b2VkaXRvcnNkay5jb20vTElDRU5TRS50eHRcbiAqL1xuXG5AaW5jbHVkZSBibG9jayhlZGl0b3IpIHtcbiAgQGluY2x1ZGUgYmxvY2sobWluaVNsaWRlcikge1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB3aWR0aDogNDRweDtcblxuICAgIEBpbmNsdWRlIGVsZW1lbnQoYmFyKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMnB4O1xuXG4gICAgICBAaW5jbHVkZSBlbGVtZW50cyhiYWNrZ3JvdW5kLCBmb3JlZ3JvdW5kKSB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoM3B4KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cblxuICAgICAgQGluY2x1ZGUgZWxlbWVudChiYWNrZ3JvdW5kKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEod2hpdGUsIDAuMyk7IH1cblxuICAgICAgQGluY2x1ZGUgZWxlbWVudChmb3JlZ3JvdW5kKSB7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeUNvbG9yOyB9XG5cbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQoa25vYikge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlOyB9IH0gfSB9XG4iLCIvKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgUGhvdG9FZGl0b3JTREsuXG4gKlxuICogQ29weXJpZ2h0IChDKSAyMDE2IDllbGVtZW50cyBHbWJIIDxjb250YWN0QDllbGVtZW50cy5jb20+XG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGhvdXRcbiAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgbGljZW5zZSBhZ3JlZW1lbnRcbiAqIGlzIGFwcHJvdmVkIGFuZCBhIGxlZ2FsL2ZpbmFuY2lhbCBjb250cmFjdCB3YXMgc2lnbmVkIGJ5IHRoZSB1c2VyLlxuICogVGhlIGxpY2Vuc2UgYWdyZWVtZW50IGNhbiBiZSBmb3VuZCB1bmRlciBmb2xsb3dpbmcgbGluazpcbiAqXG4gKiBodHRwczovL3d3dy5waG90b2VkaXRvcnNkay5jb20vTElDRU5TRS50eHRcbiAqL1xuXG5AaW5jbHVkZSBibG9jayhlZGl0b3IpIHtcbiAgQGluY2x1ZGUgYmxvY2soa25vYikge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICBtYXJnaW46IC0xMHB4IDAgMCAtMTBweDtcbiAgICBib3gtc2hhZG93OiAwcHggMXB4IDJweCAwcHggcmdiYShibGFjaywgLjUpO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbW9kaWZpZXIodHJhbnNwYXJlbnQpIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHdoaXRlO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuICAgIEBpbmNsdWRlIG1vZGlmaWVyKHNsaWRlcikge1xuICAgICAgbWFyZ2luOiAtN3B4IDAgMCAtN3B4O1xuICAgICAgcGFkZGluZzogNHB4IDA7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHByaW1hcnlDb2xvcjtcbiAgICAgICAgd2lkdGg6IDhweDtcbiAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgIGNvbnRlbnQ6ICcnOyB9IH1cblxuICAgIEBpbmNsdWRlIGVsZW1lbnQoaWNvbikge1xuICAgICAgd2lkdGg6IDhweDtcbiAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgQGluY2x1ZGUgbW9kaWZpZXIobGFyZ2VyKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgd2lkdGg6IDEwcHg7IH0gfSB9IH1cbiIsIi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBQaG90b0VkaXRvclNESy5cbiAqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTYgOWVsZW1lbnRzIEdtYkggPGNvbnRhY3RAOWVsZW1lbnRzLmNvbT5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aG91dFxuICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBsaWNlbnNlIGFncmVlbWVudFxuICogaXMgYXBwcm92ZWQgYW5kIGEgbGVnYWwvZmluYW5jaWFsIGNvbnRyYWN0IHdhcyBzaWduZWQgYnkgdGhlIHVzZXIuXG4gKiBUaGUgbGljZW5zZSBhZ3JlZW1lbnQgY2FuIGJlIGZvdW5kIHVuZGVyIGZvbGxvd2luZyBsaW5rOlxuICpcbiAqIGh0dHBzOi8vd3d3LnBob3RvZWRpdG9yc2RrLmNvbS9MSUNFTlNFLnR4dFxuICovXG5cbkBpbmNsdWRlIGJsb2NrKGVkaXRvcikge1xuICBAaW5jbHVkZSBibG9jayhjb2xvclBpY2tlcikge1xuICAgIGhlaWdodDogJGNvbnRyb2xzSGVpZ2h0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIEBpbmNsdWRlIGZsYWcoYWN0aXZlKSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZENvbG9yOyB9XG5cbiAgICBAaW5jbHVkZSBlbGVtZW50KHByZXZpZXcpIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMnB4KTtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIGhlaWdodDogMzBweDsgfVxuXG4gICAgQGluY2x1ZGUgZWxlbWVudChsYWJlbCkge1xuICAgICAgQGluY2x1ZGUgb3BhY2l0eSgwLjgpO1xuICAgICAgQGluY2x1ZGUgZm9udC1yZWd1bGFyO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAxOXB4O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cblxuICAgIEBpbmNsdWRlIGVsZW1lbnQob3ZlcmxheSkge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoNHB4KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDQ7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgICByaWdodDogMDtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgd2lkdGg6IDIyMHB4O1xuICAgICAgaGVpZ2h0OiAyMjBweDtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZENvbG9yO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgICBAaW5jbHVkZSBlbGVtZW50KGJvdHRvbSkge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH0gfVxuXG4gICAgQGluY2x1ZGUgZWxlbWVudHMoc2F0dXJhdGlvbiwgaHVlLCBhbHBoYSkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBAaW5jbHVkZSBlbGVtZW50KGtub2IpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQoY2FudmFzKSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfSB9XG5cbiAgICBAaW5jbHVkZSBlbGVtZW50KHNhdHVyYXRpb24pIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDE2MHB4O1xuICAgICAgaGVpZ2h0OiAxNjBweDtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQoY2FudmFzKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDE2MHB4OyB9IH1cblxuICAgIEBpbmNsdWRlIGVsZW1lbnQoaHVlKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIGhlaWdodDogMTYwcHg7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50KGNhbnZhcykge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxNjBweDsgfSB9XG5cbiAgICBAaW5jbHVkZSBlbGVtZW50KGFscGhhKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQoY2FudmFzKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDMwcHg7IH0gfSB9IH1cblxuQGluY2x1ZGUgYmxvY2soY29sb3JQaWNrZXIpIHtcbiAgJGJhc2VTZWxlY3RvcjogJjtcbiAgJjpob3ZlciB7XG4gICAgQGluY2x1ZGUgZWxlbWVudHNXaXRoQmFzZVNlbGVjdG9yKCRiYXNlU2VsZWN0b3IsIGljb24sIGxhYmVsKSB7XG4gICAgICBAaW5jbHVkZSBvcGFjaXR5KDEuMCk7IH0gfSB9XG5cbiIsIi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBQaG90b0VkaXRvclNESy5cbiAqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTYgOWVsZW1lbnRzIEdtYkggPGNvbnRhY3RAOWVsZW1lbnRzLmNvbT5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aG91dFxuICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBsaWNlbnNlIGFncmVlbWVudFxuICogaXMgYXBwcm92ZWQgYW5kIGEgbGVnYWwvZmluYW5jaWFsIGNvbnRyYWN0IHdhcyBzaWduZWQgYnkgdGhlIHVzZXIuXG4gKiBUaGUgbGljZW5zZSBhZ3JlZW1lbnQgY2FuIGJlIGZvdW5kIHVuZGVyIGZvbGxvd2luZyBsaW5rOlxuICpcbiAqIGh0dHBzOi8vd3d3LnBob3RvZWRpdG9yc2RrLmNvbS9MSUNFTlNFLnR4dFxuICovXG5cbkBpbmNsdWRlIGJsb2NrKGVkaXRvcikge1xuICBAaW5jbHVkZSBibG9jayhjb250cm9scykge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQoY2F0ZWdvcnlEcm9wZG93bikge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiAkY29udHJvbHNIZWlnaHQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkbGlnaHRCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgIEBpbmNsdWRlIGZsYWcoYWN0aXZlKSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kQ29sb3I7IH1cblxuICAgICAgQGluY2x1ZGUgZWxlbWVudChsYWJlbCkge1xuICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDAuOCk7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtcmVndWxhcjtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMTlweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBjb2xvcjogd2hpdGU7IH1cblxuICAgICAgQGluY2x1ZGUgZWxlbWVudChpY29uKSB7XG4gICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMC44KTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTNweDtcbiAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgIGhlaWdodDogMzZweDsgfSB9IH1cblxuICBAaW5jbHVkZSBibG9jayhjYXRlZ29yeURyb3Bkb3duKSB7XG4gICAgQGluY2x1ZGUgZWxlbWVudChvdmVybGF5KSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyg0cHgpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogNDtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIHdpZHRoOiAyMjBweDtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRiYWNrZ3JvdW5kQ29sb3IsIDAuOSk7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQobGlzdCkge1xuICAgICAgICBAaW5jbHVkZSBlbGVtZW50KGl0ZW0pIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDJweCk7XG4gICAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgwLjkpO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZENvbG9yOyB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBmbGFnKGFjdGl2ZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgxLjApO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnlDb2xvcjsgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgZWxlbWVudChsYWJlbCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1yZWd1bGFyO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlOyB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBlbGVtZW50KGljb24pIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luOiA2cHggMTBweCAwIDZweDtcbiAgICAgICAgICAgIHdpZHRoOiAzNnB4OyB9IH0gfSB9IH0gfVxuXG5AaW5jbHVkZSBibG9jayhjb250cm9scykge1xuICBAaW5jbHVkZSBlbGVtZW50KGNhdGVnb3J5RHJvcGRvd24pIHtcbiAgICAkYmFzZVNlbGVjdG9yOiAmO1xuICAgICY6aG92ZXIge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudHNXaXRoQmFzZVNlbGVjdG9yKCRiYXNlU2VsZWN0b3IsIGljb24sIGxhYmVsKSB7XG4gICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMS4wKTsgfSB9IH0gfVxuIiwiLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIFBob3RvRWRpdG9yU0RLLlxuICpcbiAqIENvcHlyaWdodCAoQykgMjAxNiA5ZWxlbWVudHMgR21iSCA8Y29udGFjdEA5ZWxlbWVudHMuY29tPlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRob3V0XG4gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGxpY2Vuc2UgYWdyZWVtZW50XG4gKiBpcyBhcHByb3ZlZCBhbmQgYSBsZWdhbC9maW5hbmNpYWwgY29udHJhY3Qgd2FzIHNpZ25lZCBieSB0aGUgdXNlci5cbiAqIFRoZSBsaWNlbnNlIGFncmVlbWVudCBjYW4gYmUgZm91bmQgdW5kZXIgZm9sbG93aW5nIGxpbms6XG4gKlxuICogaHR0cHM6Ly93d3cucGhvdG9lZGl0b3JzZGsuY29tL0xJQ0VOU0UudHh0XG4gKi9cblxuQGluY2x1ZGUgYmxvY2soZWRpdG9yKSB7XG4gIEBpbmNsdWRlIGJsb2NrKGhpZGRlbkZpbGVJbnB1dCkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwOyB9IH1cbiIsIi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBQaG90b0VkaXRvclNESy5cbiAqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTYgOWVsZW1lbnRzIEdtYkggPGNvbnRhY3RAOWVsZW1lbnRzLmNvbT5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aG91dFxuICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBsaWNlbnNlIGFncmVlbWVudFxuICogaXMgYXBwcm92ZWQgYW5kIGEgbGVnYWwvZmluYW5jaWFsIGNvbnRyYWN0IHdhcyBzaWduZWQgYnkgdGhlIHVzZXIuXG4gKiBUaGUgbGljZW5zZSBhZ3JlZW1lbnQgY2FuIGJlIGZvdW5kIHVuZGVyIGZvbGxvd2luZyBsaW5rOlxuICpcbiAqIGh0dHBzOi8vd3d3LnBob3RvZWRpdG9yc2RrLmNvbS9MSUNFTlNFLnR4dFxuICovXG5cbkBpbmNsdWRlIGJsb2NrKGVkaXRvcikge1xuICBAaW5jbHVkZSBibG9jayhtb2RhbHMpIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50KG1vZGFsKSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDY7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCBncmV5O1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkc2Vjb25kYXJ5QmFja2dyb3VuZENvbG9yLCAwLjkpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICBAaW5jbHVkZSBtb2RpZmllcihlcnJvcikge1xuICAgICAgICBib3JkZXItY29sb3I6ICRyZWRDb2xvcjsgfVxuXG4gICAgICBAaW5jbHVkZSBtb2RpZmllcih3YXJuaW5nKSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHllbGxvd0NvbG9yOyB9IH1cblxuICAgIEBpbmNsdWRlIGVsZW1lbnQob3ZlcmxheSkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogNTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGJhY2tncm91bmRDb2xvciwgMC44KTsgfVxuXG4gICAgQGluY2x1ZGUgZWxlbWVudChidXR0b24pIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNWVtOyB9XG5cbiAgICBAaW5jbHVkZSBlbGVtZW50cyh0aXRsZSwgdGV4dCkge1xuICAgICAgQGluY2x1ZGUgZm9udC1yZWd1bGFyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cblxuICAgIEBpbmNsdWRlIGVsZW1lbnQodGl0bGUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOyB9XG5cbiAgICBAaW5jbHVkZSBlbGVtZW50KHRleHQpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGNvbG9yOiByZ2JhKHdoaXRlLCAwLjUpOyB9IH0gfVxuIiwiLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIFBob3RvRWRpdG9yU0RLLlxuICpcbiAqIENvcHlyaWdodCAoQykgMjAxNiA5ZWxlbWVudHMgR21iSCA8Y29udGFjdEA5ZWxlbWVudHMuY29tPlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRob3V0XG4gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGxpY2Vuc2UgYWdyZWVtZW50XG4gKiBpcyBhcHByb3ZlZCBhbmQgYSBsZWdhbC9maW5hbmNpYWwgY29udHJhY3Qgd2FzIHNpZ25lZCBieSB0aGUgdXNlci5cbiAqIFRoZSBsaWNlbnNlIGFncmVlbWVudCBjYW4gYmUgZm91bmQgdW5kZXIgZm9sbG93aW5nIGxpbms6XG4gKlxuICogaHR0cHM6Ly93d3cucGhvdG9lZGl0b3JzZGsuY29tL0xJQ0VOU0UudHh0XG4gKi9cblxuQGluY2x1ZGUgYmxvY2soZWRpdG9yKSB7XG4gIEBpbmNsdWRlIGJsb2NrKGNyb3BDYW52YXNDb250cm9scykge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcblxuICAgIEBpbmNsdWRlIGVsZW1lbnQoa25vYikge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMjtcblxuICAgICAgQGluY2x1ZGUgbW9kaWZpZXIodG9wTGVmdCkge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogKCRrbm9iU2l6ZSAqIC0wLjUpIDAgMCAoJGtub2JTaXplICogLTAuNSk7IH1cblxuICAgICAgQGluY2x1ZGUgbW9kaWZpZXIoYm90dG9tUmlnaHQpIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbWFyZ2luOiAwICgka25vYlNpemUgKiAtMC41KSAoJGtub2JTaXplICogLTAuNSkgMDsgfSB9XG5cbiAgICBAaW5jbHVkZSBlbGVtZW50KHJvdykge1xuICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9XG5cbiAgICBAaW5jbHVkZSBlbGVtZW50KGNlbGwpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICBjdXJzb3I6IG1vdmU7XG5cbiAgICAgIEBpbmNsdWRlIG1vZGlmaWVyKGRhcmspIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkYmFja2dyb3VuZENvbG9yLCAwLjgpO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMHB4OyB9XG5cbiAgICAgIEBpbmNsdWRlIG1vZGlmaWVyKGJvcmRlcmVkKSB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMHB4IDFweCAycHggMHB4IGJsYWNrKTsgfSB9XG5cbiAgICBAaW5jbHVkZSBlbGVtZW50KGRpbWVuc2lvbnMpIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtbGlnaHQ7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkYmFja2dyb3VuZENvbG9yLCAwLjcpO1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgY29sb3I6IHdoaXRlOyB9IH0gfVxuIiwiLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIFBob3RvRWRpdG9yU0RLLlxuICpcbiAqIENvcHlyaWdodCAoQykgMjAxNiA5ZWxlbWVudHMgR21iSCA8Y29udGFjdEA5ZWxlbWVudHMuY29tPlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRob3V0XG4gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGxpY2Vuc2UgYWdyZWVtZW50XG4gKiBpcyBhcHByb3ZlZCBhbmQgYSBsZWdhbC9maW5hbmNpYWwgY29udHJhY3Qgd2FzIHNpZ25lZCBieSB0aGUgdXNlci5cbiAqIFRoZSBsaWNlbnNlIGFncmVlbWVudCBjYW4gYmUgZm91bmQgdW5kZXIgZm9sbG93aW5nIGxpbms6XG4gKlxuICogaHR0cHM6Ly93d3cucGhvdG9lZGl0b3JzZGsuY29tL0xJQ0VOU0UudHh0XG4gKi9cblxuQGluY2x1ZGUgYmxvY2soZWRpdG9yKSB7XG4gIEBpbmNsdWRlIGJsb2NrKGxpbmVhckZvY3VzQ2FudmFzQ29udHJvbHMpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBlbGVtZW50KGtub2IpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBtYXJnaW46ICgka25vYlNpemUgKiAtMC41KSAwIDAgKCRrbm9iU2l6ZSAqIC0wLjUpOyB9XG5cbiAgICBAaW5jbHVkZSBlbGVtZW50KGFyZWEpIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMHB4IDFweCAycHggMHB4IGJsYWNrKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xuICAgICAgY3Vyc29yOiBtb3ZlOyB9IH0gfVxuIiwiLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIFBob3RvRWRpdG9yU0RLLlxuICpcbiAqIENvcHlyaWdodCAoQykgMjAxNiA5ZWxlbWVudHMgR21iSCA8Y29udGFjdEA5ZWxlbWVudHMuY29tPlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRob3V0XG4gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGxpY2Vuc2UgYWdyZWVtZW50XG4gKiBpcyBhcHByb3ZlZCBhbmQgYSBsZWdhbC9maW5hbmNpYWwgY29udHJhY3Qgd2FzIHNpZ25lZCBieSB0aGUgdXNlci5cbiAqIFRoZSBsaWNlbnNlIGFncmVlbWVudCBjYW4gYmUgZm91bmQgdW5kZXIgZm9sbG93aW5nIGxpbms6XG4gKlxuICogaHR0cHM6Ly93d3cucGhvdG9lZGl0b3JzZGsuY29tL0xJQ0VOU0UudHh0XG4gKi9cblxuQGluY2x1ZGUgYmxvY2soZWRpdG9yKSB7XG4gIEBpbmNsdWRlIGJsb2NrKHJhZGlhbEZvY3VzQ2FudmFzQ29udHJvbHMpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBlbGVtZW50KGtub2IpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBtYXJnaW46ICgka25vYlNpemUgKiAtMC41KSAwIDAgKCRrbm9iU2l6ZSAqIC0wLjUpOyB9XG5cbiAgICBAaW5jbHVkZSBlbGVtZW50KGFyZWEpIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNTAlKTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMHB4IDFweCAycHggMHB4IGJsYWNrKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xuICAgICAgY3Vyc29yOiBtb3ZlOyB9IH0gfVxuIiwiLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIFBob3RvRWRpdG9yU0RLLlxuICpcbiAqIENvcHlyaWdodCAoQykgMjAxNiA5ZWxlbWVudHMgR21iSCA8Y29udGFjdEA5ZWxlbWVudHMuY29tPlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRob3V0XG4gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGxpY2Vuc2UgYWdyZWVtZW50XG4gKiBpcyBhcHByb3ZlZCBhbmQgYSBsZWdhbC9maW5hbmNpYWwgY29udHJhY3Qgd2FzIHNpZ25lZCBieSB0aGUgdXNlci5cbiAqIFRoZSBsaWNlbnNlIGFncmVlbWVudCBjYW4gYmUgZm91bmQgdW5kZXIgZm9sbG93aW5nIGxpbms6XG4gKlxuICogaHR0cHM6Ly93d3cucGhvdG9lZGl0b3JzZGsuY29tL0xJQ0VOU0UudHh0XG4gKi9cblxuQGluY2x1ZGUgYmxvY2soZWRpdG9yKSB7XG4gIEBpbmNsdWRlIGJsb2NrKHN0aWNrZXJzQ29udHJvbHMpIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50KHRvb2x0aXApIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgICAgIEBpbmNsdWRlIGFycm93KGRvd24sIDEwcHgsICRzZWNvbmRhcnlCYWNrZ3JvdW5kQ29sb3IpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHggLTY1cHg7XG4gICAgICB3aWR0aDogMTMwcHg7XG4gICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnlCYWNrZ3JvdW5kQ29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQoY2FudmFzKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4gICAgQGluY2x1ZGUgZWxlbWVudChpdGVtKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAgNHB4O1xuICAgICAgd2lkdGg6ICRjb250cm9sc0J1dHRvbldpZHRoICsgMjBweDtcbiAgICAgIGhlaWdodDogJGNvbnRyb2xzQnV0dG9uSGVpZ2h0O1xuICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgYmFja2dyb3VuZDogJGRhcmtlckdyZXlDb2xvcjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJjpmaXJzdC1jaGlsZCwgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxuXG4gICAgICBAaW5jbHVkZSBlbGVtZW50KGNhbnZhcykge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9IH0gfSB9XG4iLCIvKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgUGhvdG9FZGl0b3JTREsuXG4gKlxuICogQ29weXJpZ2h0IChDKSAyMDE2IDllbGVtZW50cyBHbWJIIDxjb250YWN0QDllbGVtZW50cy5jb20+XG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGhvdXRcbiAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgbGljZW5zZSBhZ3JlZW1lbnRcbiAqIGlzIGFwcHJvdmVkIGFuZCBhIGxlZ2FsL2ZpbmFuY2lhbCBjb250cmFjdCB3YXMgc2lnbmVkIGJ5IHRoZSB1c2VyLlxuICogVGhlIGxpY2Vuc2UgYWdyZWVtZW50IGNhbiBiZSBmb3VuZCB1bmRlciBmb2xsb3dpbmcgbGluazpcbiAqXG4gKiBodHRwczovL3d3dy5waG90b2VkaXRvcnNkay5jb20vTElDRU5TRS50eHRcbiAqL1xuXG5AaW5jbHVkZSBibG9jayhlZGl0b3IpIHtcbiAgQGluY2x1ZGUgYmxvY2soc3ByaXRlc0NhbnZhc0NvbnRyb2xzKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIEBpbmNsdWRlIGVsZW1lbnQoaXRlbSkge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudChrbm9iKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMzsgfVxuXG4gICAgICBAaW5jbHVkZSBlbGVtZW50KGNvbnRhaW5lcikge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuICAgICAgQGluY2x1ZGUgZWxlbWVudHModGV4dCwgc3RpY2tlciwga25vYikge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuICAgICAgQGluY2x1ZGUgZWxlbWVudHModGV4dCwgc3RpY2tlcikge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgZmxhZyhzZWxlY3RlZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMHB4IDFweCAycHggMHB4IGJsYWNrKTtcbiAgICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgd2hpdGU7XG4gICAgICAgICAgY3Vyc29yOiBtb3ZlOyB9IH1cblxuICAgICAgQGluY2x1ZGUgZWxlbWVudCh0ZXh0KSB7XG4gICAgICAgIEBpbmNsdWRlIGVsZW1lbnQoZGlzYWJsZWRPdmVybGF5KSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgfVxuXG4gICAgICAgIEBpbmNsdWRlIGVsZW1lbnQoY29udGVudCkge1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHJlc2l6ZTogbm9uZTsgfSB9IH0gfSB9XG4iLCIvKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgUGhvdG9FZGl0b3JTREsuXG4gKlxuICogQ29weXJpZ2h0IChDKSAyMDE2IDllbGVtZW50cyBHbWJIIDxjb250YWN0QDllbGVtZW50cy5jb20+XG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGhvdXRcbiAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgbGljZW5zZSBhZ3JlZW1lbnRcbiAqIGlzIGFwcHJvdmVkIGFuZCBhIGxlZ2FsL2ZpbmFuY2lhbCBjb250cmFjdCB3YXMgc2lnbmVkIGJ5IHRoZSB1c2VyLlxuICogVGhlIGxpY2Vuc2UgYWdyZWVtZW50IGNhbiBiZSBmb3VuZCB1bmRlciBmb2xsb3dpbmcgbGluazpcbiAqXG4gKiBodHRwczovL3d3dy5waG90b2VkaXRvcnNkay5jb20vTElDRU5TRS50eHRcbiAqL1xuXG5AaW5jbHVkZSBibG9jayhlZGl0b3IpIHtcbiAgQGluY2x1ZGUgYmxvY2soc3RpY2tlckNvbnRyb2xzT3ZlcmxheSkge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgNHB4IDlweCByZ2JhKGJsYWNrLCAwLjIpKTtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtNTAlKSk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjBweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgaGVpZ2h0OiAzMXB4O1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5Q29sb3I7XG5cbiAgICBAaW5jbHVkZSBlbGVtZW50cyhpdGVtLCBzZXBhcmF0b3IpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4gICAgQGluY2x1ZGUgZWxlbWVudChpdGVtKSB7XG4gICAgICB3aWR0aDogMzVweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYShibGFjaywgMC4xKTsgfVxuXG4gICAgICBAaW5jbHVkZSBlbGVtZW50KGljb24pIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDsgfSB9XG5cbiAgICBAaW5jbHVkZSBlbGVtZW50KHNlcGFyYXRvcikge1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIGhlaWdodDogMTlweDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoYmxhY2ssIDAuMSk7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9IH0gfVxuIiwiLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIFBob3RvRWRpdG9yU0RLLlxuICpcbiAqIENvcHlyaWdodCAoQykgMjAxNiA5ZWxlbWVudHMgR21iSCA8Y29udGFjdEA5ZWxlbWVudHMuY29tPlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRob3V0XG4gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGxpY2Vuc2UgYWdyZWVtZW50XG4gKiBpcyBhcHByb3ZlZCBhbmQgYSBsZWdhbC9maW5hbmNpYWwgY29udHJhY3Qgd2FzIHNpZ25lZCBieSB0aGUgdXNlci5cbiAqIFRoZSBsaWNlbnNlIGFncmVlbWVudCBjYW4gYmUgZm91bmQgdW5kZXIgZm9sbG93aW5nIGxpbms6XG4gKlxuICogaHR0cHM6Ly93d3cucGhvdG9lZGl0b3JzZGsuY29tL0xJQ0VOU0UudHh0XG4gKi9cblxuQGluY2x1ZGUgYmxvY2soZWRpdG9yKSB7XG4gIEBpbmNsdWRlIGJsb2NrKGFkanVzdG1lbnRzQ29udHJvbHMpIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50KG1pbmlTbGlkZXIpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMjJweDsgfSB9IH1cbiIsIi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBQaG90b0VkaXRvclNESy5cbiAqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTYgOWVsZW1lbnRzIEdtYkggPGNvbnRhY3RAOWVsZW1lbnRzLmNvbT5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aG91dFxuICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBsaWNlbnNlIGFncmVlbWVudFxuICogaXMgYXBwcm92ZWQgYW5kIGEgbGVnYWwvZmluYW5jaWFsIGNvbnRyYWN0IHdhcyBzaWduZWQgYnkgdGhlIHVzZXIuXG4gKiBUaGUgbGljZW5zZSBhZ3JlZW1lbnQgY2FuIGJlIGZvdW5kIHVuZGVyIGZvbGxvd2luZyBsaW5rOlxuICpcbiAqIGh0dHBzOi8vd3d3LnBob3RvZWRpdG9yc2RrLmNvbS9MSUNFTlNFLnR4dFxuICovXG5cbkBpbmNsdWRlIGJsb2NrKGVkaXRvcikge1xuICBAaW5jbHVkZSBibG9jayh0ZXh0Rm9udFNpemVDb250cm9scykge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTEwcHg7XG4gICAgaGVpZ2h0OiAkY29udHJvbHNCdXR0b25IZWlnaHQ7XG4gICAgQGluY2x1ZGUgZWxlbWVudChidXR0b25zKSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogOXB4IDAgMCAxNXB4O1xuICAgICAgQGluY2x1ZGUgZWxlbWVudChidXR0b24pIHtcbiAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgwLjIpO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDAuNSk7IH1cblxuICAgICAgICBAaW5jbHVkZSBtb2RpZmllcihwbHVzKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMnB4KTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcHg7IH1cblxuICAgICAgICBAaW5jbHVkZSBtb2RpZmllcihtaW51cykge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDJweCk7IH1cblxuICAgICAgICBAaW5jbHVkZSBlbGVtZW50KGljb24pIHtcbiAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9IH0gfVxuXG4gICAgQGluY2x1ZGUgZWxlbWVudChyaWdodCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luLXRvcDogN3B4O1xuICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICBAaW5jbHVkZSBlbGVtZW50KHNpemUpIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1yZWd1bGFyO1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuXG4gICAgICBAaW5jbHVkZSBlbGVtZW50KGxhYmVsKSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtcmVndWxhcjtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBjb2xvcjogd2hpdGU7IH0gfSB9IH1cbiIsIi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBQaG90b0VkaXRvclNESy5cbiAqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTYgOWVsZW1lbnRzIEdtYkggPGNvbnRhY3RAOWVsZW1lbnRzLmNvbT5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aG91dFxuICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBsaWNlbnNlIGFncmVlbWVudFxuICogaXMgYXBwcm92ZWQgYW5kIGEgbGVnYWwvZmluYW5jaWFsIGNvbnRyYWN0IHdhcyBzaWduZWQgYnkgdGhlIHVzZXIuXG4gKiBUaGUgbGljZW5zZSBhZ3JlZW1lbnQgY2FuIGJlIGZvdW5kIHVuZGVyIGZvbGxvd2luZyBsaW5rOlxuICpcbiAqIGh0dHBzOi8vd3d3LnBob3RvZWRpdG9yc2RrLmNvbS9MSUNFTlNFLnR4dFxuICovXG5cbkBpbmNsdWRlIGJsb2NrKGVkaXRvcikge1xuICBAaW5jbHVkZSBibG9jayhmb250U2l6ZSkge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQodGV4dCkge1xuICAgICAgQGluY2x1ZGUgZm9udC1yZWd1bGFyO1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfSB9IH1cbiIsIi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBQaG90b0VkaXRvclNESy5cbiAqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTYgOWVsZW1lbnRzIEdtYkggPGNvbnRhY3RAOWVsZW1lbnRzLmNvbT5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aG91dFxuICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBsaWNlbnNlIGFncmVlbWVudFxuICogaXMgYXBwcm92ZWQgYW5kIGEgbGVnYWwvZmluYW5jaWFsIGNvbnRyYWN0IHdhcyBzaWduZWQgYnkgdGhlIHVzZXIuXG4gKiBUaGUgbGljZW5zZSBhZ3JlZW1lbnQgY2FuIGJlIGZvdW5kIHVuZGVyIGZvbGxvd2luZyBsaW5rOlxuICpcbiAqIGh0dHBzOi8vd3d3LnBob3RvZWRpdG9yc2RrLmNvbS9MSUNFTlNFLnR4dFxuICovXG5cbkBpbmNsdWRlIGJsb2NrKGVkaXRvcikge1xuICBAaW5jbHVkZSBibG9jayhmb250RmFtaWx5KSB7XG4gICAgQGluY2x1ZGUgZWxlbWVudChjYW52YXMpIHtcbiAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgaGVpZ2h0OiA0MnB4OyB9XG5cbiAgICBAaW5jbHVkZSBlbGVtZW50KGxpc3QpIHtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDVweCAwIDEwcHggMDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuICAgIEBpbmNsdWRlIGVsZW1lbnQoaXRlbSkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWFyZ2luOiAwIDJweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDNweCk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlOyB9IH1cblxuICAgIEBpbmNsdWRlIGVsZW1lbnQobGFiZWwpIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtcmVndWxhcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogNXB4O1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfSB9IH1cbiIsIi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBQaG90b0VkaXRvclNESy5cbiAqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTYgOWVsZW1lbnRzIEdtYkggPGNvbnRhY3RAOWVsZW1lbnRzLmNvbT5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aG91dFxuICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBsaWNlbnNlIGFncmVlbWVudFxuICogaXMgYXBwcm92ZWQgYW5kIGEgbGVnYWwvZmluYW5jaWFsIGNvbnRyYWN0IHdhcyBzaWduZWQgYnkgdGhlIHVzZXIuXG4gKiBUaGUgbGljZW5zZSBhZ3JlZW1lbnQgY2FuIGJlIGZvdW5kIHVuZGVyIGZvbGxvd2luZyBsaW5rOlxuICpcbiAqIGh0dHBzOi8vd3d3LnBob3RvZWRpdG9yc2RrLmNvbS9MSUNFTlNFLnR4dFxuICovXG5cbkBpbmNsdWRlIGJsb2NrKGVkaXRvcikge1xuICBAaW5jbHVkZSBibG9jayhicnVzaENhbnZhc0NvbnRyb2xzKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGN1cnNvcjogbm9uZTtcblxuICAgIEBpbmNsdWRlIGVsZW1lbnQoY3Vyc29yKSB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDBweCAxcHggMnB4IDBweCBibGFjayk7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgd2hpdGU7XG4gICAgICBjdXJzb3I6IG5vbmU7XG5cbiAgICAgIEBpbmNsdWRlIGZsYWcodmlzaWJsZSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9IH0gfVxuIiwiLypcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIFBob3RvRWRpdG9yU0RLLlxuICpcbiAqIENvcHlyaWdodCAoQykgMjAxNiA5ZWxlbWVudHMgR21iSCA8Y29udGFjdEA5ZWxlbWVudHMuY29tPlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRob3V0XG4gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGxpY2Vuc2UgYWdyZWVtZW50XG4gKiBpcyBhcHByb3ZlZCBhbmQgYSBsZWdhbC9maW5hbmNpYWwgY29udHJhY3Qgd2FzIHNpZ25lZCBieSB0aGUgdXNlci5cbiAqIFRoZSBsaWNlbnNlIGFncmVlbWVudCBjYW4gYmUgZm91bmQgdW5kZXIgZm9sbG93aW5nIGxpbms6XG4gKlxuICogaHR0cHM6Ly93d3cucGhvdG9lZGl0b3JzZGsuY29tL0xJQ0VOU0UudHh0XG4gKi9cblxuQGluY2x1ZGUgYmxvY2soZWRpdG9yKSB7XG4gIEBpbmNsdWRlIGJsb2NrKHNwbGFzaFNjcmVlbikge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQoY2VsbCkge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1cHgpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGJvcmRlcjogMjBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICBAaW5jbHVkZSBtb2RpZmllcihoYWxmSGVpZ2h0KSB7XG4gICAgICAgIGhlaWdodDogNTAlOyB9XG5cbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQoaW1hZ2UpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDE1cHg7XG4gICAgICAgIGhlaWdodDogNTdweDsgfVxuXG4gICAgICBAaW5jbHVkZSBlbGVtZW50KGJ1dHRvbikge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQoZGVzY3JpcHRpb24pIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1saWdodDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDI1NXB4O1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGNvbG9yOiAkbGlnaHRHcmV5Q29sb3I7IH1cblxuICAgICAgQGluY2x1ZGUgZWxlbWVudChjb250ZW50V3JhcHBlcikge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7IH1cblxuICAgICAgQGluY2x1ZGUgZWxlbWVudChjb250ZW50Um93KSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxuXG4gICAgICBAaW5jbHVkZSBlbGVtZW50KGNvbnRlbnRDZWxsKSB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNXB4KTtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICBAaW5jbHVkZSBtb2RpZmllcih3aXRoQm9yZGVyKSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggZGFzaGVkICRsaWdodEdyZXlDb2xvcjsgfSB9XG5cbiAgICAgIEBpbmNsdWRlIG1vZGlmaWVyKHVwbG9hZCkge1xuICAgICAgICBAaW5jbHVkZSBmbGFnKGhvdmVyZWQpIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRsaWdodGVyR3JleUNvbG9yOyB9XG5cbiAgICAgICAgQGluY2x1ZGUgZWxlbWVudChvcikge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtbGlnaHQ7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogLTEwcHg7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMjVweDtcbiAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5QmFja2dyb3VuZENvbG9yO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgY29sb3I6ICRsaWdodEdyZXlDb2xvcjsgfSB9IH0gfSB9XG4iLCIvKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgUGhvdG9FZGl0b3JTREsuXG4gKlxuICogQ29weXJpZ2h0IChDKSAyMDE2IDllbGVtZW50cyBHbWJIIDxjb250YWN0QDllbGVtZW50cy5jb20+XG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGhvdXRcbiAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgbGljZW5zZSBhZ3JlZW1lbnRcbiAqIGlzIGFwcHJvdmVkIGFuZCBhIGxlZ2FsL2ZpbmFuY2lhbCBjb250cmFjdCB3YXMgc2lnbmVkIGJ5IHRoZSB1c2VyLlxuICogVGhlIGxpY2Vuc2UgYWdyZWVtZW50IGNhbiBiZSBmb3VuZCB1bmRlciBmb2xsb3dpbmcgbGluazpcbiAqXG4gKiBodHRwczovL3d3dy5waG90b2VkaXRvcnNkay5jb20vTElDRU5TRS50eHRcbiAqL1xuXG5AaW5jbHVkZSBibG9jayhlZGl0b3IpIHtcbiAgQGluY2x1ZGUgYmxvY2sod2ViY2FtU2NyZWVuKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgZWxlbWVudChyb3cpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxuXG4gICAgQGluY2x1ZGUgZWxlbWVudChjZWxsKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG5cbiAgICBAaW5jbHVkZSBlbGVtZW50KHNodXR0ZXJCdXR0b24pIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMjZweCk7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWFyZ2luOiAxNXB4IGF1dG8gYXV0byBhdXRvO1xuICAgICAgd2lkdGg6IDExNXB4O1xuICAgICAgaGVpZ2h0OiA1M3B4O1xuICAgICAgYmFja2dyb3VuZDogZ3JheXNjYWxlKCRwcmltYXJ5Q29sb3IpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICBAaW5jbHVkZSBmbGFnKGFjdGl2ZSkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeUNvbG9yOyB9XG5cbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQoaWNvbikge1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgIHdpZHRoOiAzOXB4O1xuICAgICAgICBoZWlnaHQ6IDM5cHg7IH0gfSB9IH1cbiIsIi8qXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBQaG90b0VkaXRvclNESy5cbiAqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTYgOWVsZW1lbnRzIEdtYkggPGNvbnRhY3RAOWVsZW1lbnRzLmNvbT5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aG91dFxuICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBsaWNlbnNlIGFncmVlbWVudFxuICogaXMgYXBwcm92ZWQgYW5kIGEgbGVnYWwvZmluYW5jaWFsIGNvbnRyYWN0IHdhcyBzaWduZWQgYnkgdGhlIHVzZXIuXG4gKiBUaGUgbGljZW5zZSBhZ3JlZW1lbnQgY2FuIGJlIGZvdW5kIHVuZGVyIGZvbGxvd2luZyBsaW5rOlxuICpcbiAqIGh0dHBzOi8vd3d3LnBob3RvZWRpdG9yc2RrLmNvbS9MSUNFTlNFLnR4dFxuICovXG5cbkBpbmNsdWRlIGJsb2NrKGVkaXRvcikge1xuICBAaW5jbHVkZSBibG9jayhlZGl0b3JTY3JlZW4pIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBlbGVtZW50KHpvb20pIHtcbiAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMC43KTtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuXG4gICAgICBAaW5jbHVkZSBlbGVtZW50KGJ1dHRvbikge1xuICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDAuNSk7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgcGFkZGluZzogMCAxN3B4O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMSk7IH1cblxuICAgICAgICBAaW5jbHVkZSBmbGFnKGRpc2FibGVkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgwLjEpOyB9XG5cbiAgICAgICAgQGluY2x1ZGUgZWxlbWVudChpbWFnZSkge1xuICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9IH1cblxuICAgICAgQGluY2x1ZGUgZWxlbWVudChsYWJlbCkge1xuICAgICAgICBAaW5jbHVkZSBmb250LWxpZ2h0O1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTsgfSB9IH0gfVxuIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7O0dBWUc7QXFFWkg7Ozs7Ozs7Ozs7OztHQVlHO0FDWkg7Ozs7Ozs7Ozs7OztHQVlHO0FDWkg7Ozs7Ozs7Ozs7OztHQVlHO0FDWkg7Ozs7Ozs7Ozs7OztHQVlHO0FDWkg7Ozs7Ozs7Ozs7OztHQVlHO0FDWkg7Ozs7Ozs7Ozs7OztHQVlHO0FKWUQsQUFBQSxtQkFBbUIsQ0FBbkI7RWhDVnVELG1CQUFvQixFNkJGbEUsSUFBTztFN0JJMEMsZ0JBQWlCLEU2QkpsRSxJQUFPO0U3Qk8rQyxXQUFZLEU2QlBsRSxJQUFPO0VPT2hCLGtCQUFrQixFQUE0SywyS0FBQztFQUUvTCxRQUFRLEVBQUUsUUFBUztFQUNuQixRQUFRLEVBQUUsTUFBTztFQUNqQixLQUFLLEVBQUUsSUFBSztFQUNaLE1BQU0sRUFBRSxJQUFLO0VBQ2IsVUFBVSxFTFRNLE9BQU87RUtVdkIsVUFBVSxFQUFFLElBQUssR0pESjtFQURiLEF4RHBCQSxtQndEb0JtQixDeERwQm5CLElBQUksRXdEb0JKLEF4RHBCTSxtQndEb0JhLEN4RHBCYixJQUFJLEV3RG9CVixBeERwQlksbUJ3RG9CTyxDeERwQlAsR0FBRyxFd0RvQmYsQXhEcEJpQixtQndEb0JFLEN4RHBCRixJQUFJLEV3RG9CckIsQXhEcEJ1QixtQndEb0JKLEN4RHBCSSxNQUFNLEV3RG9CN0IsQXhEcEIrQixtQndEb0JaLEN4RHBCWSxNQUFNLEV3RG9CckMsQXhEcEJ1QyxtQndEb0JwQixDeERwQm9CLE1BQU07RXdEb0I3QyxBeERuQkEsbUJ3RG1CbUIsQ3hEbkJuQixFQUFFLEV3RG1CRixBeERuQkksbUJ3RG1CZSxDeERuQmYsRUFBRSxFd0RtQk4sQXhEbkJRLG1Cd0RtQlcsQ3hEbkJYLEVBQUUsRXdEbUJWLEF4RG5CWSxtQndEbUJPLEN4RG5CUCxFQUFFLEV3RG1CZCxBeERuQmdCLG1Cd0RtQkcsQ3hEbkJILEVBQUUsRXdEbUJsQixBeERuQm9CLG1Cd0RtQkQsQ3hEbkJDLEVBQUUsRXdEbUJ0QixBeERuQndCLG1Cd0RtQkwsQ3hEbkJLLENBQUMsRXdEbUJ6QixBeERuQjJCLG1Cd0RtQlIsQ3hEbkJRLFVBQVUsRXdEbUJyQyxBeERuQnVDLG1Cd0RtQnBCLEN4RG5Cb0IsR0FBRztFd0RtQjFDLEF4RGxCQSxtQndEa0JtQixDeERsQm5CLENBQUMsRXdEa0JELEF4RGxCRyxtQndEa0JnQixDeERsQmhCLElBQUksRXdEa0JQLEF4RGxCUyxtQndEa0JVLEN4RGxCVixPQUFPLEV3RGtCaEIsQXhEbEJrQixtQndEa0JDLEN4RGxCRCxPQUFPLEV3RGtCekIsQXhEbEIyQixtQndEa0JSLEN4RGxCUSxHQUFHLEV3RGtCOUIsQXhEbEJnQyxtQndEa0JiLEN4RGxCYSxJQUFJLEV3RGtCcEMsQXhEbEJzQyxtQndEa0JuQixDeERsQm1CLElBQUk7RXdEa0IxQyxBeERqQkEsbUJ3RGlCbUIsQ3hEakJuQixHQUFHLEV3RGlCSCxBeERqQkssbUJ3RGlCYyxDeERqQmQsR0FBRyxFd0RpQlIsQXhEakJVLG1Cd0RpQlMsQ3hEakJULEVBQUUsRXdEaUJaLEF4RGpCYyxtQndEaUJLLEN4RGpCTCxHQUFHLEV3RGlCakIsQXhEakJtQixtQndEaUJBLEN4RGpCQSxHQUFHLEV3RGlCdEIsQXhEakJ3QixtQndEaUJMLEN4RGpCSyxHQUFHLEV3RGlCM0IsQXhEakI2QixtQndEaUJWLEN4RGpCVSxDQUFDLEV3RGlCOUIsQXhEakJnQyxtQndEaUJiLEN4RGpCYSxDQUFDLEV3RGlCakMsQXhEakJtQyxtQndEaUJoQixDeERqQmdCLElBQUk7RXdEaUJ2QyxBeERoQkEsbUJ3RGdCbUIsQ3hEaEJuQixLQUFLLEV3RGdCTCxBeERoQk8sbUJ3RGdCWSxDeERoQlosTUFBTSxFd0RnQmIsQXhEaEJlLG1Cd0RnQkksQ3hEaEJKLE1BQU0sRXdEZ0JyQixBeERoQnVCLG1Cd0RnQkosQ3hEaEJJLEdBQUcsRXdEZ0IxQixBeERoQjRCLG1Cd0RnQlQsQ3hEaEJTLEdBQUcsRXdEZ0IvQixBeERoQmlDLG1Cd0RnQmQsQ3hEaEJjLEVBQUUsRXdEZ0JuQyxBeERoQnFDLG1Cd0RnQmxCLEN4RGhCa0IsR0FBRztFd0RnQnhDLEF4RGZBLG1Cd0RlbUIsQ3hEZm5CLENBQUMsRXdEZUQsQXhEZkcsbUJ3RGVnQixDeERmaEIsQ0FBQyxFd0RlSixBeERmTSxtQndEZWEsQ3hEZmIsQ0FBQyxFd0RlUCxBeERmUyxtQndEZVUsQ3hEZlYsTUFBTTtFd0RlZixBeERkQSxtQndEY21CLEN4RGRuQixFQUFFLEV3RGNGLEF4RGRJLG1Cd0RjZSxDeERkZixFQUFFLEV3RGNOLEF4RGRRLG1Cd0RjVyxDeERkWCxFQUFFLEV3RGNWLEF4RGRZLG1Cd0RjTyxDeERkUCxFQUFFLEV3RGNkLEF4RGRnQixtQndEY0csQ3hEZEgsRUFBRSxFd0RjbEIsQXhEZG9CLG1Cd0RjRCxDeERkQyxFQUFFO0V3RGN0QixBeERiQSxtQndEYW1CLEN4RGJuQixRQUFRLEV3RGFSLEF4RGJVLG1Cd0RhUyxDeERiVCxJQUFJLEV3RGFkLEF4RGJnQixtQndEYUcsQ3hEYkgsS0FBSyxFd0RhckIsQXhEYnVCLG1Cd0RhSixDeERiSSxNQUFNO0V3RGE3QixBeERaQSxtQndEWW1CLEN4RFpuQixLQUFLLEV3RFlMLEF4RFpPLG1Cd0RZWSxDeERaWixPQUFPLEV3RFlkLEF4RFpnQixtQndEWUcsQ3hEWkgsS0FBSyxFd0RZckIsQXhEWnVCLG1Cd0RZSixDeERaSSxLQUFLLEV3RFk1QixBeERaOEIsbUJ3RFlYLEN4RFpXLEtBQUssRXdEWW5DLEF4RFpxQyxtQndEWWxCLEN4RFprQixFQUFFLEV3RFl2QyxBeERaeUMsbUJ3RFl0QixDeERac0IsRUFBRSxFd0RZM0MsQXhEWjZDLG1Cd0RZMUIsQ3hEWjBCLEVBQUU7RXdEWS9DLEF4RFhBLG1Cd0RXbUIsQ3hEWG5CLE9BQU8sRXdEV1AsQXhEWFMsbUJ3RFdVLEN4RFhWLEtBQUssRXdEV2QsQXhEWGdCLG1Cd0RXRyxDeERYSCxNQUFNLEV3RFd0QixBeERYd0IsbUJ3RFdMLEN4RFhLLE9BQU8sRXdEVy9CLEF4RFhpQyxtQndEV2QsQ3hEWGMsS0FBSztFd0RXdEMsQXhEVkEsbUJ3RFVtQixDeERWbkIsTUFBTSxFd0RVTixBeERWUSxtQndEVVcsQ3hEVlgsVUFBVSxFd0RVbEIsQXhEVm9CLG1Cd0RVRCxDeERWQyxNQUFNLEV3RFUxQixBeERWNEIsbUJ3RFVULEN4RFZTLE1BQU0sRXdEVWxDLEF4RFZvQyxtQndEVWpCLEN4RFZpQixNQUFNO0V3RFUxQyxBeERUQSxtQndEU21CLEN4RFRuQixJQUFJLEV3RFNKLEF4RFRNLG1Cd0RTYSxDeERUYixHQUFHLEV3RFNULEF4RFRXLG1Cd0RTUSxDeERUUixNQUFNLEV3RFNqQixBeERUbUIsbUJ3RFNBLEN4RFRBLElBQUksRXdEU3ZCLEF4RFR5QixtQndEU04sQ3hEVE0sT0FBTyxFd0RTaEMsQXhEVGtDLG1Cd0RTZixDeERUZSxPQUFPO0V3RFN6QyxBeERSQSxtQndEUW1CLEN4RFJuQixJQUFJLEV3RFFKLEF4RFJNLG1Cd0RRYSxDeERSYixJQUFJLEV3RFFWLEF4RFJZLG1Cd0RRTyxDeERSUCxLQUFLLEV3RFFqQixBeERSbUIsbUJ3RFFBLEN4RFJBLEtBQUssQ0FBQztJQWlEekIsTUFBTSxFQUFFLENBQUU7SUFDVixPQUFPLEVBQUUsQ0FBRTtJQUNYLE1BQU0sRUFBRSxDQUFFO0lBSVYsSUFBSSxFQUFFLE9BQVE7SUFDZCxTQUFTLEVBQUUsSUFBSztJQUNoQixjQUFjLEVBQUUsUUFBUyxHQXZERDtFd0RNeEIsQXhESEEsbUJ3REdtQixDeERIbkIsSUFBSSxDQUFDO0lBNkRMLFdBQVcsRUFBRSxDQUFFLEdBNURTO0V3REV4QixBeEREQSxtQndEQ21CLEN4RERuQixFQUFFLEV3RENGLEF4RERJLG1Cd0RDZSxDeEREZixFQUFFLENBQUM7SUErRFAsVUFBVSxFQUFFLElBQUssR0E5RGE7RXdEQTlCLEF4RENBLG1Cd0REbUIsQ3hEQ25CLEtBQUssQ0FBQztJQWlFTixlQUFlLEVBQUUsUUFBUztJQUMxQixjQUFjLEVBQUUsQ0FBRSxHQWpFTztFd0RGekIsQXhER0EsbUJ3REhtQixDeERHbkIsT0FBTyxFd0RIUCxBeERHUyxtQndESFUsQ3hER1YsRUFBRSxFd0RIWCxBeERHYSxtQndESE0sQ3hER04sRUFBRSxDQUFDO0lBb0VoQixVQUFVLEVBQUUsSUFBSztJQUNqQixXQUFXLEVBQUUsTUFBTztJQUNwQixjQUFjLEVBQUUsTUFBTyxHQXJFTztFd0RKOUIsQXhES0EsbUJ3RExtQixDeERLbkIsQ0FBQyxFd0RMRCxBeERLRyxtQndETGdCLEN4REtoQixVQUFVLENBQUM7SUF3RWQsTUFBTSxFQUFFLElBQUssR0F2RWdCO0l3RE43QixBeERLQSxtQndETG1CLEN4REtuQixDQUFDLEFBeUVBLE9BQU8sRXdEOUVSLEF4REtBLG1Cd0RMbUIsQ3hES25CLENBQUMsQUF5RVUsTUFBTSxFd0Q5RWpCLEF4REtHLG1Cd0RMZ0IsQ3hES2hCLFVBQVUsQUF5RVosT0FBTyxFd0Q5RVIsQXhES0csbUJ3RExnQixDeERLaEIsVUFBVSxBQXlFRixNQUFNLENBQUM7TUFDaEIsT0FBTyxFQUFFLEVBQUc7TUFDWixPQUFPLEVBQUUsSUFBSyxHQUFHO0V3RGhGbkIsQXhET0UsbUJ3RFBpQixDeERPbkIsQ0FBQyxDQUFDLEdBQUcsQ0FBQztJQTZFTixNQUFNLEVBQUUsSUFBSyxHQTVFMEI7RXdEUnZDLEF4RDJGQSxtQndEM0ZtQixDeEQyRm5CLE9BQU8sRXdEM0ZQLEF4RDJGUyxtQndEM0ZVLEN4RDJGVixLQUFLLEV3RDNGZCxBeEQyRmdCLG1Cd0QzRkcsQ3hEMkZILE9BQU8sRXdEM0Z2QixBeEQyRnlCLG1Cd0QzRk4sQ3hEMkZNLFVBQVUsRXdEM0ZuQyxBeEQyRnFDLG1Cd0QzRmxCLEN4RDJGa0IsTUFBTSxFd0QzRjNDLEF4RDJGNkMsbUJ3RDNGMUIsQ3hEMkYwQixNQUFNLEV3RDNGbkQsQXhEMkZxRCxtQndEM0ZsQyxDeEQyRmtDLE1BQU0sRXdEM0YzRCxBeEQyRjZELG1Cd0QzRjFDLEN4RDJGMEMsTUFBTSxFd0QzRm5FLEF4RDJGcUUsbUJ3RDNGbEQsQ3hEMkZrRCxJQUFJLEV3RDNGekUsQXhEMkYyRSxtQndEM0Z4RCxDeEQyRndELElBQUksRXdEM0YvRSxBeEQyRmlGLG1Cd0QzRjlELEN4RDJGOEQsR0FBRyxFd0QzRnBGLEF4RDJGc0YsbUJ3RDNGbkUsQ3hEMkZtRSxPQUFPLEV3RDNGN0YsQXhEMkYrRixtQndEM0Y1RSxDeEQyRjRFLE9BQU8sQ0FBdEc7SUFDRSxPQUFPLEVBQUUsS0FBTSxHQUFHO0UwRHJHcEIsTUFBTSxNQUFELE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJRlNqQyxBQUFBLG1CQUFtQixDQUFuQjtNaENWdUQscUJBQW9CLEVvQ2VsRCxHQUFHO01wQ2I4QixrQkFBaUIsRW9DYWxELEdBQUc7TXBDWitCLGlCQUFnQixFb0NZbEQsR0FBRztNcENYZ0MsZ0JBQWUsRW9DV2xELEdBQUc7TXBDVm1DLGFBQVksRW9DVWxELEdBQUcs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QUFBLG1CQUFtQixDQUFuQix3Q0FBeUIsQUFpQ3hCLFVBQVUsQ0FBWDtNaUNmTSxVQUFVLEVsQ2pCSCxPQUFPLEdDaUNQO0lBbENiLEFBQUEsbUJBQW1CLENBQW5CLDhDQUF5QixDQUl6QjtNaUNpQk0sVUFBVSxFQUFFLEdBQUk7TUFDaEIsS0FBSyxFQUFFLElBQUs7TUFDWixNQUFNLEVBQUUsSUFBSyxHakNsQk47O0FrQzdCZjs7Ozs7Ozs7Ozs7O0dBWUc7QWxDWUQsQUFBQSxtQkFBbUIsQ0FBbkIseUJBQXlCLENBQXpCO0VrQ1JFLFFBQVEsRUFBRSxRQUFTO0VBQ25CLEdBQUcsRUFBRSxDQUFFO0VBQ1AsSUFBSSxFQUFFLENBQUU7RUFDUixPQUFPLEVBQUUsS0FBTTtFQUNmLFlBQVksRUFBRSxLQUFNO0VBQ3BCLEtBQUssRUFBRSxJQUFLO0VBQ1osTUFBTSxFQUFFLElBQUssR2xDR0Y7RUFEYixBQUFBLG1CQUFtQixDQUFuQiwrQkFBeUIsQ0FJekI7SW5CbkJFLE1BQU0sRUFBRSxtREFBTztJQUVqQixPQUFPLEVxRGNjLEdBQUc7SUFDcEIsT0FBTyxFQUFFLEtBQU07SUFDZixNQUFNLEVBQUUsSUFBSztJQUNiLEtBQUssRUFBRSxJQUFLO0lBQ1osTUFBTSxFQUFFLElBQUs7SUFDYixZQUFZLEVBQUUsS0FBTSxHbENEWDtJQUxiLEFBQUEsbUJBQW1CLENBQW5CLHVDQUF5QixDQUl6QjtNbkJuQkUsTUFBTSxFQUFFLG1EQUFPO01BRWpCLE9BQU8sRXFEc0JnQixHQUFHO01BQ3BCLE9BQU8sRUFBRSxVQUFXO01BQ3BCLE1BQU0sRUFBRSxPQUFRO01BQ2hCLGNBQWMsRUFBRSxNQUFPO01BQ3ZCLE9BQU8sRUFBRSxNQUFPLEdsQ1JUO01BTGIsQUFBQSxtQkFBbUIsQ0FBbkIsdUNBQXlCLEFrQ2VsQixNQUFNLENBQUM7UXJEOUJaLE1BQU0sRUFBRSxvREFBTztRQUVqQixPQUFPLEVxRDZCa0IsQ0FBQyxHQUFJO01sQ2hCOUIsQUFBQSxtQkFBbUIsQ0FBbkIsdUNBQXlCLEFBaUN4QixZQUFZLENBQWI7UW5CaERFLE1BQU0sRUFBRSxtREFBTztRQUVqQixPQUFPLEVxRGdDa0IsR0FBRyxHbENlZjtNQWxDYixBQUFBLG1CQUFtQixDQUFuQiw4Q0FBeUIsQ0FJekI7UWtDa0JRLEtBQUssRUFBRSxJQUFLO1FBQ1osTUFBTSxFQUFFLElBQUs7UUFDYixjQUFjLEVBQUUsTUFBTyxHbENuQmxCO0lBTGIsQUFBQSxtQkFBbUIsQ0FBbkIsc0NBQXlCLENBSXpCO01DUEEsV0FBVyxFQVBGLG9CQUFvQjtNQVE3QixXQUFXLEVBQUUsR0FBSTtNaUM4QlgsT0FBTyxFQUFFLFVBQVc7TUFDcEIsY0FBYyxFQUFFLE1BQU87TUFDdkIsU0FBUyxFQUFFLElBQUs7TUFDaEIsS0FBSyxFQUFFLEtBQU0sR2xDMUJOIiwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */

/*!
 * Bootstrap v3.3.5 (http://getbootstrap.com)
 * Copyright 2011-2015 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}
audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}
audio:not([controls]) {
  display: none;
  height: 0;
}
[hidden],
template {
  display: none;
}
a {
  background-color: transparent;
}
a:active,
a:hover {
  outline: 0;
}
abbr[title] {
  border-bottom: 1px dotted;
}
b,
strong {
  font-weight: bold;
}
dfn {
  font-style: italic;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
mark {
  background: #ff0;
  color: #000;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
img {
  border: 0;
}
svg:not(:root) {
  overflow: hidden;
}
figure {
  margin: 1em 40px;
}
hr {
  box-sizing: content-box;
  height: 0;
}
pre {
  overflow: auto;
}
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}
button {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}
button[disabled],
html input[disabled] {
  cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
input {
  line-height: normal;
}
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
legend {
  border: 0;
  padding: 0;
}
textarea {
  overflow: auto;
}
optgroup {
  font-weight: bold;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .navbar {
    display: none;
  }
  .btn > .caret,
  .dropup > .btn > .caret {
    border-top-color: #000 !important;
  }
  .label {
    border: 1px solid #000;
  }
  .table {
    border-collapse: collapse !important;
  }
  .table td,
  .table th {
    background-color: #fff !important;
  }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #ddd !important;
  }
}
@font-face {
  font-family: 'Glyphicons Halflings';
  src: url('../fonts/glyphicons-halflings-regular.eot');
  src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
}
.glyphicon {
  position: relative;
  top: 1px;
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.glyphicon-asterisk:before {
  content: "\2a";
}
.glyphicon-plus:before {
  content: "\2b";
}
.glyphicon-euro:before,
.glyphicon-eur:before {
  content: "\20ac";
}
.glyphicon-minus:before {
  content: "\2212";
}
.glyphicon-cloud:before {
  content: "\2601";
}
.glyphicon-envelope:before {
  content: "\2709";
}
.glyphicon-pencil:before {
  content: "\270f";
}
.glyphicon-glass:before {
  content: "\e001";
}
.glyphicon-music:before {
  content: "\e002";
}
.glyphicon-search:before {
  content: "\e003";
}
.glyphicon-heart:before {
  content: "\e005";
}
.glyphicon-star:before {
  content: "\e006";
}
.glyphicon-star-empty:before {
  content: "\e007";
}
.glyphicon-user:before {
  content: "\e008";
}
.glyphicon-film:before {
  content: "\e009";
}
.glyphicon-th-large:before {
  content: "\e010";
}
.glyphicon-th:before {
  content: "\e011";
}
.glyphicon-th-list:before {
  content: "\e012";
}
.glyphicon-ok:before {
  content: "\e013";
}
.glyphicon-remove:before {
  content: "\e014";
}
.glyphicon-zoom-in:before {
  content: "\e015";
}
.glyphicon-zoom-out:before {
  content: "\e016";
}
.glyphicon-off:before {
  content: "\e017";
}
.glyphicon-signal:before {
  content: "\e018";
}
.glyphicon-cog:before {
  content: "\e019";
}
.glyphicon-trash:before {
  content: "\e020";
}
.glyphicon-home:before {
  content: "\e021";
}
.glyphicon-file:before {
  content: "\e022";
}
.glyphicon-time:before {
  content: "\e023";
}
.glyphicon-road:before {
  content: "\e024";
}
.glyphicon-download-alt:before {
  content: "\e025";
}
.glyphicon-download:before {
  content: "\e026";
}
.glyphicon-upload:before {
  content: "\e027";
}
.glyphicon-inbox:before {
  content: "\e028";
}
.glyphicon-play-circle:before {
  content: "\e029";
}
.glyphicon-repeat:before {
  content: "\e030";
}
.glyphicon-refresh:before {
  content: "\e031";
}
.glyphicon-list-alt:before {
  content: "\e032";
}
.glyphicon-lock:before {
  content: "\e033";
}
.glyphicon-flag:before {
  content: "\e034";
}
.glyphicon-headphones:before {
  content: "\e035";
}
.glyphicon-volume-off:before {
  content: "\e036";
}
.glyphicon-volume-down:before {
  content: "\e037";
}
.glyphicon-volume-up:before {
  content: "\e038";
}
.glyphicon-qrcode:before {
  content: "\e039";
}
.glyphicon-barcode:before {
  content: "\e040";
}
.glyphicon-tag:before {
  content: "\e041";
}
.glyphicon-tags:before {
  content: "\e042";
}
.glyphicon-book:before {
  content: "\e043";
}
.glyphicon-bookmark:before {
  content: "\e044";
}
.glyphicon-print:before {
  content: "\e045";
}
.glyphicon-camera:before {
  content: "\e046";
}
.glyphicon-font:before {
  content: "\e047";
}
.glyphicon-bold:before {
  content: "\e048";
}
.glyphicon-italic:before {
  content: "\e049";
}
.glyphicon-text-height:before {
  content: "\e050";
}
.glyphicon-text-width:before {
  content: "\e051";
}
.glyphicon-align-left:before {
  content: "\e052";
}
.glyphicon-align-center:before {
  content: "\e053";
}
.glyphicon-align-right:before {
  content: "\e054";
}
.glyphicon-align-justify:before {
  content: "\e055";
}
.glyphicon-list:before {
  content: "\e056";
}
.glyphicon-indent-left:before {
  content: "\e057";
}
.glyphicon-indent-right:before {
  content: "\e058";
}
.glyphicon-facetime-video:before {
  content: "\e059";
}
.glyphicon-picture:before {
  content: "\e060";
}
.glyphicon-map-marker:before {
  content: "\e062";
}
.glyphicon-adjust:before {
  content: "\e063";
}
.glyphicon-tint:before {
  content: "\e064";
}
.glyphicon-edit:before {
  content: "\e065";
}
.glyphicon-share:before {
  content: "\e066";
}
.glyphicon-check:before {
  content: "\e067";
}
.glyphicon-move:before {
  content: "\e068";
}
.glyphicon-step-backward:before {
  content: "\e069";
}
.glyphicon-fast-backward:before {
  content: "\e070";
}
.glyphicon-backward:before {
  content: "\e071";
}
.glyphicon-play:before {
  content: "\e072";
}
.glyphicon-pause:before {
  content: "\e073";
}
.glyphicon-stop:before {
  content: "\e074";
}
.glyphicon-forward:before {
  content: "\e075";
}
.glyphicon-fast-forward:before {
  content: "\e076";
}
.glyphicon-step-forward:before {
  content: "\e077";
}
.glyphicon-eject:before {
  content: "\e078";
}
.glyphicon-chevron-left:before {
  content: "\e079";
}
.glyphicon-chevron-right:before {
  content: "\e080";
}
.glyphicon-plus-sign:before {
  content: "\e081";
}
.glyphicon-minus-sign:before {
  content: "\e082";
}
.glyphicon-remove-sign:before {
  content: "\e083";
}
.glyphicon-ok-sign:before {
  content: "\e084";
}
.glyphicon-question-sign:before {
  content: "\e085";
}
.glyphicon-info-sign:before {
  content: "\e086";
}
.glyphicon-screenshot:before {
  content: "\e087";
}
.glyphicon-remove-circle:before {
  content: "\e088";
}
.glyphicon-ok-circle:before {
  content: "\e089";
}
.glyphicon-ban-circle:before {
  content: "\e090";
}
.glyphicon-arrow-left:before {
  content: "\e091";
}
.glyphicon-arrow-right:before {
  content: "\e092";
}
.glyphicon-arrow-up:before {
  content: "\e093";
}
.glyphicon-arrow-down:before {
  content: "\e094";
}
.glyphicon-share-alt:before {
  content: "\e095";
}
.glyphicon-resize-full:before {
  content: "\e096";
}
.glyphicon-resize-small:before {
  content: "\e097";
}
.glyphicon-exclamation-sign:before {
  content: "\e101";
}
.glyphicon-gift:before {
  content: "\e102";
}
.glyphicon-leaf:before {
  content: "\e103";
}
.glyphicon-fire:before {
  content: "\e104";
}
.glyphicon-eye-open:before {
  content: "\e105";
}
.glyphicon-eye-close:before {
  content: "\e106";
}
.glyphicon-warning-sign:before {
  content: "\e107";
}
.glyphicon-plane:before {
  content: "\e108";
}
.glyphicon-calendar:before {
  content: "\e109";
}
.glyphicon-random:before {
  content: "\e110";
}
.glyphicon-comment:before {
  content: "\e111";
}
.glyphicon-magnet:before {
  content: "\e112";
}
.glyphicon-chevron-up:before {
  content: "\e113";
}
.glyphicon-chevron-down:before {
  content: "\e114";
}
.glyphicon-retweet:before {
  content: "\e115";
}
.glyphicon-shopping-cart:before {
  content: "\e116";
}
.glyphicon-folder-close:before {
  content: "\e117";
}
.glyphicon-folder-open:before {
  content: "\e118";
}
.glyphicon-resize-vertical:before {
  content: "\e119";
}
.glyphicon-resize-horizontal:before {
  content: "\e120";
}
.glyphicon-hdd:before {
  content: "\e121";
}
.glyphicon-bullhorn:before {
  content: "\e122";
}
.glyphicon-bell:before {
  content: "\e123";
}
.glyphicon-certificate:before {
  content: "\e124";
}
.glyphicon-thumbs-up:before {
  content: "\e125";
}
.glyphicon-thumbs-down:before {
  content: "\e126";
}
.glyphicon-hand-right:before {
  content: "\e127";
}
.glyphicon-hand-left:before {
  content: "\e128";
}
.glyphicon-hand-up:before {
  content: "\e129";
}
.glyphicon-hand-down:before {
  content: "\e130";
}
.glyphicon-circle-arrow-right:before {
  content: "\e131";
}
.glyphicon-circle-arrow-left:before {
  content: "\e132";
}
.glyphicon-circle-arrow-up:before {
  content: "\e133";
}
.glyphicon-circle-arrow-down:before {
  content: "\e134";
}
.glyphicon-globe:before {
  content: "\e135";
}
.glyphicon-wrench:before {
  content: "\e136";
}
.glyphicon-tasks:before {
  content: "\e137";
}
.glyphicon-filter:before {
  content: "\e138";
}
.glyphicon-briefcase:before {
  content: "\e139";
}
.glyphicon-fullscreen:before {
  content: "\e140";
}
.glyphicon-dashboard:before {
  content: "\e141";
}
.glyphicon-paperclip:before {
  content: "\e142";
}
.glyphicon-heart-empty:before {
  content: "\e143";
}
.glyphicon-link:before {
  content: "\e144";
}
.glyphicon-phone:before {
  content: "\e145";
}
.glyphicon-pushpin:before {
  content: "\e146";
}
.glyphicon-usd:before {
  content: "\e148";
}
.glyphicon-gbp:before {
  content: "\e149";
}
.glyphicon-sort:before {
  content: "\e150";
}
.glyphicon-sort-by-alphabet:before {
  content: "\e151";
}
.glyphicon-sort-by-alphabet-alt:before {
  content: "\e152";
}
.glyphicon-sort-by-order:before {
  content: "\e153";
}
.glyphicon-sort-by-order-alt:before {
  content: "\e154";
}
.glyphicon-sort-by-attributes:before {
  content: "\e155";
}
.glyphicon-sort-by-attributes-alt:before {
  content: "\e156";
}
.glyphicon-unchecked:before {
  content: "\e157";
}
.glyphicon-expand:before {
  content: "\e158";
}
.glyphicon-collapse-down:before {
  content: "\e159";
}
.glyphicon-collapse-up:before {
  content: "\e160";
}
.glyphicon-log-in:before {
  content: "\e161";
}
.glyphicon-flash:before {
  content: "\e162";
}
.glyphicon-log-out:before {
  content: "\e163";
}
.glyphicon-new-window:before {
  content: "\e164";
}
.glyphicon-record:before {
  content: "\e165";
}
.glyphicon-save:before {
  content: "\e166";
}
.glyphicon-open:before {
  content: "\e167";
}
.glyphicon-saved:before {
  content: "\e168";
}
.glyphicon-import:before {
  content: "\e169";
}
.glyphicon-export:before {
  content: "\e170";
}
.glyphicon-send:before {
  content: "\e171";
}
.glyphicon-floppy-disk:before {
  content: "\e172";
}
.glyphicon-floppy-saved:before {
  content: "\e173";
}
.glyphicon-floppy-remove:before {
  content: "\e174";
}
.glyphicon-floppy-save:before {
  content: "\e175";
}
.glyphicon-floppy-open:before {
  content: "\e176";
}
.glyphicon-credit-card:before {
  content: "\e177";
}
.glyphicon-transfer:before {
  content: "\e178";
}
.glyphicon-cutlery:before {
  content: "\e179";
}
.glyphicon-header:before {
  content: "\e180";
}
.glyphicon-compressed:before {
  content: "\e181";
}
.glyphicon-earphone:before {
  content: "\e182";
}
.glyphicon-phone-alt:before {
  content: "\e183";
}
.glyphicon-tower:before {
  content: "\e184";
}
.glyphicon-stats:before {
  content: "\e185";
}
.glyphicon-sd-video:before {
  content: "\e186";
}
.glyphicon-hd-video:before {
  content: "\e187";
}
.glyphicon-subtitles:before {
  content: "\e188";
}
.glyphicon-sound-stereo:before {
  content: "\e189";
}
.glyphicon-sound-dolby:before {
  content: "\e190";
}
.glyphicon-sound-5-1:before {
  content: "\e191";
}
.glyphicon-sound-6-1:before {
  content: "\e192";
}
.glyphicon-sound-7-1:before {
  content: "\e193";
}
.glyphicon-copyright-mark:before {
  content: "\e194";
}
.glyphicon-registration-mark:before {
  content: "\e195";
}
.glyphicon-cloud-download:before {
  content: "\e197";
}
.glyphicon-cloud-upload:before {
  content: "\e198";
}
.glyphicon-tree-conifer:before {
  content: "\e199";
}
.glyphicon-tree-deciduous:before {
  content: "\e200";
}
.glyphicon-cd:before {
  content: "\e201";
}
.glyphicon-save-file:before {
  content: "\e202";
}
.glyphicon-open-file:before {
  content: "\e203";
}
.glyphicon-level-up:before {
  content: "\e204";
}
.glyphicon-copy:before {
  content: "\e205";
}
.glyphicon-paste:before {
  content: "\e206";
}
.glyphicon-alert:before {
  content: "\e209";
}
.glyphicon-equalizer:before {
  content: "\e210";
}
.glyphicon-king:before {
  content: "\e211";
}
.glyphicon-queen:before {
  content: "\e212";
}
.glyphicon-pawn:before {
  content: "\e213";
}
.glyphicon-bishop:before {
  content: "\e214";
}
.glyphicon-knight:before {
  content: "\e215";
}
.glyphicon-baby-formula:before {
  content: "\e216";
}
.glyphicon-tent:before {
  content: "\26fa";
}
.glyphicon-blackboard:before {
  content: "\e218";
}
.glyphicon-bed:before {
  content: "\e219";
}
.glyphicon-apple:before {
  content: "\f8ff";
}
.glyphicon-erase:before {
  content: "\e221";
}
.glyphicon-hourglass:before {
  content: "\231b";
}
.glyphicon-lamp:before {
  content: "\e223";
}
.glyphicon-duplicate:before {
  content: "\e224";
}
.glyphicon-piggy-bank:before {
  content: "\e225";
}
.glyphicon-scissors:before {
  content: "\e226";
}
.glyphicon-bitcoin:before {
  content: "\e227";
}
.glyphicon-btc:before {
  content: "\e227";
}
.glyphicon-xbt:before {
  content: "\e227";
}
.glyphicon-yen:before {
  content: "\00a5";
}
.glyphicon-jpy:before {
  content: "\00a5";
}
.glyphicon-ruble:before {
  content: "\20bd";
}
.glyphicon-rub:before {
  content: "\20bd";
}
.glyphicon-scale:before {
  content: "\e230";
}
.glyphicon-ice-lolly:before {
  content: "\e231";
}
.glyphicon-ice-lolly-tasted:before {
  content: "\e232";
}
.glyphicon-education:before {
  content: "\e233";
}
.glyphicon-option-horizontal:before {
  content: "\e234";
}
.glyphicon-option-vertical:before {
  content: "\e235";
}
.glyphicon-menu-hamburger:before {
  content: "\e236";
}
.glyphicon-modal-window:before {
  content: "\e237";
}
.glyphicon-oil:before {
  content: "\e238";
}
.glyphicon-grain:before {
  content: "\e239";
}
.glyphicon-sunglasses:before {
  content: "\e240";
}
.glyphicon-text-size:before {
  content: "\e241";
}
.glyphicon-text-color:before {
  content: "\e242";
}
.glyphicon-text-background:before {
  content: "\e243";
}
.glyphicon-object-align-top:before {
  content: "\e244";
}
.glyphicon-object-align-bottom:before {
  content: "\e245";
}
.glyphicon-object-align-horizontal:before {
  content: "\e246";
}
.glyphicon-object-align-left:before {
  content: "\e247";
}
.glyphicon-object-align-vertical:before {
  content: "\e248";
}
.glyphicon-object-align-right:before {
  content: "\e249";
}
.glyphicon-triangle-right:before {
  content: "\e250";
}
.glyphicon-triangle-left:before {
  content: "\e251";
}
.glyphicon-triangle-bottom:before {
  content: "\e252";
}
.glyphicon-triangle-top:before {
  content: "\e253";
}
.glyphicon-console:before {
  content: "\e254";
}
.glyphicon-superscript:before {
  content: "\e255";
}
.glyphicon-subscript:before {
  content: "\e256";
}
.glyphicon-menu-left:before {
  content: "\e257";
}
.glyphicon-menu-right:before {
  content: "\e258";
}
.glyphicon-menu-down:before {
  content: "\e259";
}
.glyphicon-menu-up:before {
  content: "\e260";
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  font-size: 10px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.42857143;
  color: #333333;
  background-color: #f6f6f6;
}
input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
a {
  color: #337ab7;
  text-decoration: none;
}
a:hover,
a:focus {
  color: #23527c;
  text-decoration: underline;
}
a:focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
figure {
  margin: 0;
}
img {
  vertical-align: middle;
}
.img-responsive,
.thumbnail > img,
.thumbnail a > img,
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  display: block;
  max-width: 100%;
  height: auto;
}
.img-rounded {
  border-radius: 6px;
}
.img-thumbnail {
  padding: 4px;
  line-height: 1.42857143;
  background-color: #f6f6f6;
  border: 1px solid #dddddd;
  border-radius: 4px;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  max-width: 100%;
  height: auto;
}
.img-circle {
  border-radius: 50%;
}
hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eeeeee;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}
[role="button"] {
  cursor: pointer;
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: inherit;
  font-weight: 500;
  line-height: 1.1;
  color: inherit;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small,
.h1 small,
.h2 small,
.h3 small,
.h4 small,
.h5 small,
.h6 small,
h1 .small,
h2 .small,
h3 .small,
h4 .small,
h5 .small,
h6 .small,
.h1 .small,
.h2 .small,
.h3 .small,
.h4 .small,
.h5 .small,
.h6 .small {
  font-weight: normal;
  line-height: 1;
  color: #777777;
}
h1,
.h1,
h2,
.h2,
h3,
.h3 {
  margin-top: 20px;
  margin-bottom: 10px;
}
h1 small,
.h1 small,
h2 small,
.h2 small,
h3 small,
.h3 small,
h1 .small,
.h1 .small,
h2 .small,
.h2 .small,
h3 .small,
.h3 .small {
  font-size: 65%;
}
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  margin-top: 10px;
  margin-bottom: 10px;
}
h4 small,
.h4 small,
h5 small,
.h5 small,
h6 small,
.h6 small,
h4 .small,
.h4 .small,
h5 .small,
.h5 .small,
h6 .small,
.h6 .small {
  font-size: 75%;
}
h1,
.h1 {
  font-size: 36px;
}
h2,
.h2 {
  font-size: 30px;
}
h3,
.h3 {
  font-size: 24px;
}
h4,
.h4 {
  font-size: 18px;
}
h5,
.h5 {
  font-size: 14px;
}
h6,
.h6 {
  font-size: 12px;
}
p {
  margin: 0 0 10px;
}
.lead {
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .lead {
    font-size: 21px;
  }
}
small,
.small {
  font-size: 85%;
}
mark,
.mark {
  background-color: #996d43;
  padding: .2em;
}
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.text-center {
  text-align: center;
}
.text-justify {
  text-align: justify;
}
.text-nowrap {
  white-space: nowrap;
}
.text-lowercase {
  text-transform: lowercase;
}
.text-uppercase {
  text-transform: uppercase;
}
.text-capitalize {
  text-transform: capitalize;
}
.text-muted {
  color: #777777;
}
.text-primary {
  color: #337ab7;
}
a.text-primary:hover,
a.text-primary:focus {
  color: #286090;
}
.text-success {
  color: #8bbf61;
}
a.text-success:hover,
a.text-success:focus {
  color: #71a944;
}
.text-info {
  color: #31708f;
}
a.text-info:hover,
a.text-info:focus {
  color: #245269;
}
.text-warning {
  color: #ab7a4b;
}
a.text-warning:hover,
a.text-warning:focus {
  color: #88613b;
}
.text-danger {
  color: #bd362f;
}
a.text-danger:hover,
a.text-danger:focus {
  color: #942a25;
}
.bg-primary {
  color: #fff;
  background-color: #337ab7;
}
a.bg-primary:hover,
a.bg-primary:focus {
  background-color: #286090;
}
.bg-success {
  background-color: #7eb84f;
}
a.bg-success:hover,
a.bg-success:focus {
  background-color: #65973d;
}
.bg-info {
  background-color: #d9edf7;
}
a.bg-info:hover,
a.bg-info:focus {
  background-color: #afd9ee;
}
.bg-warning {
  background-color: #996d43;
}
a.bg-warning:hover,
a.bg-warning:focus {
  background-color: #765434;
}
.bg-danger {
  background-color: #a9302a;
}
a.bg-danger:hover,
a.bg-danger:focus {
  background-color: #802420;
}
.page-header {
  padding-bottom: 9px;
  margin: 40px 0 20px;
  border-bottom: 1px solid #eeeeee;
}
ul,
ol {
  margin-top: 0;
  margin-bottom: 10px;
}
ul ul,
ol ul,
ul ol,
ol ol {
  margin-bottom: 0;
}
.list-unstyled {
  padding-left: 0;
  list-style: none;
}
.list-inline {
  padding-left: 0;
  list-style: none;
  margin-left: -5px;
}
.list-inline > li {
  display: inline-block;
  padding-left: 5px;
  padding-right: 5px;
}
dl {
  margin-top: 0;
  margin-bottom: 20px;
}
dt,
dd {
  line-height: 1.42857143;
}
dt {
  font-weight: bold;
}
dd {
  margin-left: 0;
}
@media (min-width: 768px) {
  .dl-horizontal dt {
    float: left;
    width: 160px;
    clear: left;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .dl-horizontal dd {
    margin-left: 180px;
  }
}
abbr[title],
abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted #777777;
}
.initialism {
  font-size: 90%;
  text-transform: uppercase;
}
blockquote {
  padding: 10px 20px;
  margin: 0 0 20px;
  font-size: 17.5px;
  border-left: 5px solid #eeeeee;
}
blockquote p:last-child,
blockquote ul:last-child,
blockquote ol:last-child {
  margin-bottom: 0;
}
blockquote footer,
blockquote small,
blockquote .small {
  display: block;
  font-size: 80%;
  line-height: 1.42857143;
  color: #777777;
}
blockquote footer:before,
blockquote small:before,
blockquote .small:before {
  content: '\2014 \00A0';
}
.blockquote-reverse,
blockquote.pull-right {
  padding-right: 15px;
  padding-left: 0;
  border-right: 5px solid #eeeeee;
  border-left: 0;
  text-align: right;
}
.blockquote-reverse footer:before,
blockquote.pull-right footer:before,
.blockquote-reverse small:before,
blockquote.pull-right small:before,
.blockquote-reverse .small:before,
blockquote.pull-right .small:before {
  content: '';
}
.blockquote-reverse footer:after,
blockquote.pull-right footer:after,
.blockquote-reverse small:after,
blockquote.pull-right small:after,
.blockquote-reverse .small:after,
blockquote.pull-right .small:after {
  content: '\00A0 \2014';
}
address {
  margin-bottom: 20px;
  font-style: normal;
  line-height: 1.42857143;
}
code,
kbd,
pre,
samp {
  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
}
code {
  padding: 2px 4px;
  font-size: 90%;
  color: #c7254e;
  background-color: #f9f2f4;
  border-radius: 4px;
}
kbd {
  padding: 2px 4px;
  font-size: 90%;
  color: #ffffff;
  background-color: #333333;
  border-radius: 3px;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
}
kbd kbd {
  padding: 0;
  font-size: 100%;
  font-weight: bold;
  box-shadow: none;
}
pre {
  display: block;
  padding: 9.5px;
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.42857143;
  word-break: break-all;
  word-wrap: break-word;
  color: #333333;
  background-color: #f5f5f5;
  border: 1px solid #cccccc;
  border-radius: 4px;
}
pre code {
  padding: 0;
  font-size: inherit;
  color: inherit;
  white-space: pre-wrap;
  background-color: transparent;
  border-radius: 0;
}
.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll;
}
.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}
@media (min-width: 768px) {
  .container {
    width: 750px;
  }
}
@media (min-width: 992px) {
  .container {
    width: 970px;
  }
}
@media (min-width: 1200px) {
  .container {
    width: 1170px;
  }
}
.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}
.row {
  margin-left: -15px;
  margin-right: -15px;
}
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
}
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
  float: left;
}
.col-xs-12 {
  width: 100%;
}
.col-xs-11 {
  width: 91.66666667%;
}
.col-xs-10 {
  width: 83.33333333%;
}
.col-xs-9 {
  width: 75%;
}
.col-xs-8 {
  width: 66.66666667%;
}
.col-xs-7 {
  width: 58.33333333%;
}
.col-xs-6 {
  width: 50%;
}
.col-xs-5 {
  width: 41.66666667%;
}
.col-xs-4 {
  width: 33.33333333%;
}
.col-xs-3 {
  width: 25%;
}
.col-xs-2 {
  width: 16.66666667%;
}
.col-xs-1 {
  width: 8.33333333%;
}
.col-xs-pull-12 {
  right: 100%;
}
.col-xs-pull-11 {
  right: 91.66666667%;
}
.col-xs-pull-10 {
  right: 83.33333333%;
}
.col-xs-pull-9 {
  right: 75%;
}
.col-xs-pull-8 {
  right: 66.66666667%;
}
.col-xs-pull-7 {
  right: 58.33333333%;
}
.col-xs-pull-6 {
  right: 50%;
}
.col-xs-pull-5 {
  right: 41.66666667%;
}
.col-xs-pull-4 {
  right: 33.33333333%;
}
.col-xs-pull-3 {
  right: 25%;
}
.col-xs-pull-2 {
  right: 16.66666667%;
}
.col-xs-pull-1 {
  right: 8.33333333%;
}
.col-xs-pull-0 {
  right: auto;
}
.col-xs-push-12 {
  left: 100%;
}
.col-xs-push-11 {
  left: 91.66666667%;
}
.col-xs-push-10 {
  left: 83.33333333%;
}
.col-xs-push-9 {
  left: 75%;
}
.col-xs-push-8 {
  left: 66.66666667%;
}
.col-xs-push-7 {
  left: 58.33333333%;
}
.col-xs-push-6 {
  left: 50%;
}
.col-xs-push-5 {
  left: 41.66666667%;
}
.col-xs-push-4 {
  left: 33.33333333%;
}
.col-xs-push-3 {
  left: 25%;
}
.col-xs-push-2 {
  left: 16.66666667%;
}
.col-xs-push-1 {
  left: 8.33333333%;
}
.col-xs-push-0 {
  left: auto;
}
.col-xs-offset-12 {
  margin-left: 100%;
}
.col-xs-offset-11 {
  margin-left: 91.66666667%;
}
.col-xs-offset-10 {
  margin-left: 83.33333333%;
}
.col-xs-offset-9 {
  margin-left: 75%;
}
.col-xs-offset-8 {
  margin-left: 66.66666667%;
}
.col-xs-offset-7 {
  margin-left: 58.33333333%;
}
.col-xs-offset-6 {
  margin-left: 50%;
}
.col-xs-offset-5 {
  margin-left: 41.66666667%;
}
.col-xs-offset-4 {
  margin-left: 33.33333333%;
}
.col-xs-offset-3 {
  margin-left: 25%;
}
.col-xs-offset-2 {
  margin-left: 16.66666667%;
}
.col-xs-offset-1 {
  margin-left: 8.33333333%;
}
.col-xs-offset-0 {
  margin-left: 0%;
}
@media (min-width: 768px) {
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    float: left;
  }
  .col-sm-12 {
    width: 100%;
  }
  .col-sm-11 {
    width: 91.66666667%;
  }
  .col-sm-10 {
    width: 83.33333333%;
  }
  .col-sm-9 {
    width: 75%;
  }
  .col-sm-8 {
    width: 66.66666667%;
  }
  .col-sm-7 {
    width: 58.33333333%;
  }
  .col-sm-6 {
    width: 50%;
  }
  .col-sm-5 {
    width: 41.66666667%;
  }
  .col-sm-4 {
    width: 33.33333333%;
  }
  .col-sm-3 {
    width: 25%;
  }
  .col-sm-2 {
    width: 16.66666667%;
  }
  .col-sm-1 {
    width: 8.33333333%;
  }
  .col-sm-pull-12 {
    right: 100%;
  }
  .col-sm-pull-11 {
    right: 91.66666667%;
  }
  .col-sm-pull-10 {
    right: 83.33333333%;
  }
  .col-sm-pull-9 {
    right: 75%;
  }
  .col-sm-pull-8 {
    right: 66.66666667%;
  }
  .col-sm-pull-7 {
    right: 58.33333333%;
  }
  .col-sm-pull-6 {
    right: 50%;
  }
  .col-sm-pull-5 {
    right: 41.66666667%;
  }
  .col-sm-pull-4 {
    right: 33.33333333%;
  }
  .col-sm-pull-3 {
    right: 25%;
  }
  .col-sm-pull-2 {
    right: 16.66666667%;
  }
  .col-sm-pull-1 {
    right: 8.33333333%;
  }
  .col-sm-pull-0 {
    right: auto;
  }
  .col-sm-push-12 {
    left: 100%;
  }
  .col-sm-push-11 {
    left: 91.66666667%;
  }
  .col-sm-push-10 {
    left: 83.33333333%;
  }
  .col-sm-push-9 {
    left: 75%;
  }
  .col-sm-push-8 {
    left: 66.66666667%;
  }
  .col-sm-push-7 {
    left: 58.33333333%;
  }
  .col-sm-push-6 {
    left: 50%;
  }
  .col-sm-push-5 {
    left: 41.66666667%;
  }
  .col-sm-push-4 {
    left: 33.33333333%;
  }
  .col-sm-push-3 {
    left: 25%;
  }
  .col-sm-push-2 {
    left: 16.66666667%;
  }
  .col-sm-push-1 {
    left: 8.33333333%;
  }
  .col-sm-push-0 {
    left: auto;
  }
  .col-sm-offset-12 {
    margin-left: 100%;
  }
  .col-sm-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-sm-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-sm-offset-9 {
    margin-left: 75%;
  }
  .col-sm-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-sm-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-sm-offset-6 {
    margin-left: 50%;
  }
  .col-sm-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-sm-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-sm-offset-3 {
    margin-left: 25%;
  }
  .col-sm-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-sm-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-sm-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 992px) {
  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    float: left;
  }
  .col-md-12 {
    width: 100%;
  }
  .col-md-11 {
    width: 91.66666667%;
  }
  .col-md-10 {
    width: 83.33333333%;
  }
  .col-md-9 {
    width: 75%;
  }
  .col-md-8 {
    width: 66.66666667%;
  }
  .col-md-7 {
    width: 58.33333333%;
  }
  .col-md-6 {
    width: 50%;
  }
  .col-md-5 {
    width: 41.66666667%;
  }
  .col-md-4 {
    width: 33.33333333%;
  }
  .col-md-3 {
    width: 25%;
  }
  .col-md-2 {
    width: 16.66666667%;
  }
  .col-md-1 {
    width: 8.33333333%;
  }
  .col-md-pull-12 {
    right: 100%;
  }
  .col-md-pull-11 {
    right: 91.66666667%;
  }
  .col-md-pull-10 {
    right: 83.33333333%;
  }
  .col-md-pull-9 {
    right: 75%;
  }
  .col-md-pull-8 {
    right: 66.66666667%;
  }
  .col-md-pull-7 {
    right: 58.33333333%;
  }
  .col-md-pull-6 {
    right: 50%;
  }
  .col-md-pull-5 {
    right: 41.66666667%;
  }
  .col-md-pull-4 {
    right: 33.33333333%;
  }
  .col-md-pull-3 {
    right: 25%;
  }
  .col-md-pull-2 {
    right: 16.66666667%;
  }
  .col-md-pull-1 {
    right: 8.33333333%;
  }
  .col-md-pull-0 {
    right: auto;
  }
  .col-md-push-12 {
    left: 100%;
  }
  .col-md-push-11 {
    left: 91.66666667%;
  }
  .col-md-push-10 {
    left: 83.33333333%;
  }
  .col-md-push-9 {
    left: 75%;
  }
  .col-md-push-8 {
    left: 66.66666667%;
  }
  .col-md-push-7 {
    left: 58.33333333%;
  }
  .col-md-push-6 {
    left: 50%;
  }
  .col-md-push-5 {
    left: 41.66666667%;
  }
  .col-md-push-4 {
    left: 33.33333333%;
  }
  .col-md-push-3 {
    left: 25%;
  }
  .col-md-push-2 {
    left: 16.66666667%;
  }
  .col-md-push-1 {
    left: 8.33333333%;
  }
  .col-md-push-0 {
    left: auto;
  }
  .col-md-offset-12 {
    margin-left: 100%;
  }
  .col-md-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-md-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-md-offset-9 {
    margin-left: 75%;
  }
  .col-md-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-md-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-md-offset-6 {
    margin-left: 50%;
  }
  .col-md-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-md-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-md-offset-3 {
    margin-left: 25%;
  }
  .col-md-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-md-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-md-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 1200px) {
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left;
  }
  .col-lg-12 {
    width: 100%;
  }
  .col-lg-11 {
    width: 91.66666667%;
  }
  .col-lg-10 {
    width: 83.33333333%;
  }
  .col-lg-9 {
    width: 75%;
  }
  .col-lg-8 {
    width: 66.66666667%;
  }
  .col-lg-7 {
    width: 58.33333333%;
  }
  .col-lg-6 {
    width: 50%;
  }
  .col-lg-5 {
    width: 41.66666667%;
  }
  .col-lg-4 {
    width: 33.33333333%;
  }
  .col-lg-3 {
    width: 25%;
  }
  .col-lg-2 {
    width: 16.66666667%;
  }
  .col-lg-1 {
    width: 8.33333333%;
  }
  .col-lg-pull-12 {
    right: 100%;
  }
  .col-lg-pull-11 {
    right: 91.66666667%;
  }
  .col-lg-pull-10 {
    right: 83.33333333%;
  }
  .col-lg-pull-9 {
    right: 75%;
  }
  .col-lg-pull-8 {
    right: 66.66666667%;
  }
  .col-lg-pull-7 {
    right: 58.33333333%;
  }
  .col-lg-pull-6 {
    right: 50%;
  }
  .col-lg-pull-5 {
    right: 41.66666667%;
  }
  .col-lg-pull-4 {
    right: 33.33333333%;
  }
  .col-lg-pull-3 {
    right: 25%;
  }
  .col-lg-pull-2 {
    right: 16.66666667%;
  }
  .col-lg-pull-1 {
    right: 8.33333333%;
  }
  .col-lg-pull-0 {
    right: auto;
  }
  .col-lg-push-12 {
    left: 100%;
  }
  .col-lg-push-11 {
    left: 91.66666667%;
  }
  .col-lg-push-10 {
    left: 83.33333333%;
  }
  .col-lg-push-9 {
    left: 75%;
  }
  .col-lg-push-8 {
    left: 66.66666667%;
  }
  .col-lg-push-7 {
    left: 58.33333333%;
  }
  .col-lg-push-6 {
    left: 50%;
  }
  .col-lg-push-5 {
    left: 41.66666667%;
  }
  .col-lg-push-4 {
    left: 33.33333333%;
  }
  .col-lg-push-3 {
    left: 25%;
  }
  .col-lg-push-2 {
    left: 16.66666667%;
  }
  .col-lg-push-1 {
    left: 8.33333333%;
  }
  .col-lg-push-0 {
    left: auto;
  }
  .col-lg-offset-12 {
    margin-left: 100%;
  }
  .col-lg-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-lg-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-lg-offset-9 {
    margin-left: 75%;
  }
  .col-lg-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-lg-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-lg-offset-6 {
    margin-left: 50%;
  }
  .col-lg-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-lg-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-lg-offset-3 {
    margin-left: 25%;
  }
  .col-lg-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-lg-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-lg-offset-0 {
    margin-left: 0%;
  }
}
table {
  background-color: transparent;
}
caption {
  padding-top: 8px;
  padding-bottom: 8px;
  color: #777777;
  text-align: left;
}
th {
  text-align: left;
}
.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 20px;
}
.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
  padding: 8px;
  line-height: 1.42857143;
  vertical-align: top;
  border-top: 1px solid #dddddd;
}
.table > thead > tr > th {
  vertical-align: bottom;
  border-bottom: 2px solid #dddddd;
}
.table > caption + thead > tr:first-child > th,
.table > colgroup + thead > tr:first-child > th,
.table > thead:first-child > tr:first-child > th,
.table > caption + thead > tr:first-child > td,
.table > colgroup + thead > tr:first-child > td,
.table > thead:first-child > tr:first-child > td {
  border-top: 0;
}
.table > tbody + tbody {
  border-top: 2px solid #dddddd;
}
.table .table {
  background-color: #f6f6f6;
}
.table-condensed > thead > tr > th,
.table-condensed > tbody > tr > th,
.table-condensed > tfoot > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > td {
  padding: 5px;
}
.table-bordered {
  border: 1px solid #dddddd;
}
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > td {
  border: 1px solid #dddddd;
}
.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td {
  border-bottom-width: 2px;
}
.table-striped > tbody > tr:nth-of-type(odd) {
  background-color: #f9f9f9;
}
.table-hover > tbody > tr:hover {
  background-color: #f5f5f5;
}
table col[class*="col-"] {
  position: static;
  float: none;
  display: table-column;
}
table td[class*="col-"],
table th[class*="col-"] {
  position: static;
  float: none;
  display: table-cell;
}
.table > thead > tr > td.active,
.table > tbody > tr > td.active,
.table > tfoot > tr > td.active,
.table > thead > tr > th.active,
.table > tbody > tr > th.active,
.table > tfoot > tr > th.active,
.table > thead > tr.active > td,
.table > tbody > tr.active > td,
.table > tfoot > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr.active > th,
.table > tfoot > tr.active > th {
  background-color: #f5f5f5;
}
.table-hover > tbody > tr > td.active:hover,
.table-hover > tbody > tr > th.active:hover,
.table-hover > tbody > tr.active:hover > td,
.table-hover > tbody > tr:hover > .active,
.table-hover > tbody > tr.active:hover > th {
  background-color: #e8e8e8;
}
.table > thead > tr > td.success,
.table > tbody > tr > td.success,
.table > tfoot > tr > td.success,
.table > thead > tr > th.success,
.table > tbody > tr > th.success,
.table > tfoot > tr > th.success,
.table > thead > tr.success > td,
.table > tbody > tr.success > td,
.table > tfoot > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr.success > th,
.table > tfoot > tr.success > th {
  background-color: #7eb84f;
}
.table-hover > tbody > tr > td.success:hover,
.table-hover > tbody > tr > th.success:hover,
.table-hover > tbody > tr.success:hover > td,
.table-hover > tbody > tr:hover > .success,
.table-hover > tbody > tr.success:hover > th {
  background-color: #71a944;
}
.table > thead > tr > td.info,
.table > tbody > tr > td.info,
.table > tfoot > tr > td.info,
.table > thead > tr > th.info,
.table > tbody > tr > th.info,
.table > tfoot > tr > th.info,
.table > thead > tr.info > td,
.table > tbody > tr.info > td,
.table > tfoot > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr.info > th,
.table > tfoot > tr.info > th {
  background-color: #d9edf7;
}
.table-hover > tbody > tr > td.info:hover,
.table-hover > tbody > tr > th.info:hover,
.table-hover > tbody > tr.info:hover > td,
.table-hover > tbody > tr:hover > .info,
.table-hover > tbody > tr.info:hover > th {
  background-color: #c4e3f3;
}
.table > thead > tr > td.warning,
.table > tbody > tr > td.warning,
.table > tfoot > tr > td.warning,
.table > thead > tr > th.warning,
.table > tbody > tr > th.warning,
.table > tfoot > tr > th.warning,
.table > thead > tr.warning > td,
.table > tbody > tr.warning > td,
.table > tfoot > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr.warning > th,
.table > tfoot > tr.warning > th {
  background-color: #996d43;
}
.table-hover > tbody > tr > td.warning:hover,
.table-hover > tbody > tr > th.warning:hover,
.table-hover > tbody > tr.warning:hover > td,
.table-hover > tbody > tr:hover > .warning,
.table-hover > tbody > tr.warning:hover > th {
  background-color: #88613b;
}
.table > thead > tr > td.danger,
.table > tbody > tr > td.danger,
.table > tfoot > tr > td.danger,
.table > thead > tr > th.danger,
.table > tbody > tr > th.danger,
.table > tfoot > tr > th.danger,
.table > thead > tr.danger > td,
.table > tbody > tr.danger > td,
.table > tfoot > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr.danger > th,
.table > tfoot > tr.danger > th {
  background-color: #a9302a;
}
.table-hover > tbody > tr > td.danger:hover,
.table-hover > tbody > tr > th.danger:hover,
.table-hover > tbody > tr.danger:hover > td,
.table-hover > tbody > tr:hover > .danger,
.table-hover > tbody > tr.danger:hover > th {
  background-color: #942a25;
}
.table-responsive {
  overflow-x: auto;
  min-height: 0.01%;
}
@media screen and (max-width: 767px) {
  .table-responsive {
    width: 100%;
    margin-bottom: 15px;
    overflow-y: hidden;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    border: 1px solid #dddddd;
  }
  .table-responsive > .table {
    margin-bottom: 0;
  }
  .table-responsive > .table > thead > tr > th,
  .table-responsive > .table > tbody > tr > th,
  .table-responsive > .table > tfoot > tr > th,
  .table-responsive > .table > thead > tr > td,
  .table-responsive > .table > tbody > tr > td,
  .table-responsive > .table > tfoot > tr > td {
    white-space: nowrap;
  }
  .table-responsive > .table-bordered {
    border: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:first-child,
  .table-responsive > .table-bordered > tbody > tr > th:first-child,
  .table-responsive > .table-bordered > tfoot > tr > th:first-child,
  .table-responsive > .table-bordered > thead > tr > td:first-child,
  .table-responsive > .table-bordered > tbody > tr > td:first-child,
  .table-responsive > .table-bordered > tfoot > tr > td:first-child {
    border-left: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:last-child,
  .table-responsive > .table-bordered > tbody > tr > th:last-child,
  .table-responsive > .table-bordered > tfoot > tr > th:last-child,
  .table-responsive > .table-bordered > thead > tr > td:last-child,
  .table-responsive > .table-bordered > tbody > tr > td:last-child,
  .table-responsive > .table-bordered > tfoot > tr > td:last-child {
    border-right: 0;
  }
  .table-responsive > .table-bordered > tbody > tr:last-child > th,
  .table-responsive > .table-bordered > tfoot > tr:last-child > th,
  .table-responsive > .table-bordered > tbody > tr:last-child > td,
  .table-responsive > .table-bordered > tfoot > tr:last-child > td {
    border-bottom: 0;
  }
}
fieldset {
  padding: 0;
  margin: 0;
  border: 0;
  min-width: 0;
}
legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 20px;
  font-size: 21px;
  line-height: inherit;
  color: #333333;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
}
label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: bold;
}
input[type="search"] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
input[type="radio"],
input[type="checkbox"] {
  margin: 4px 0 0;
  margin-top: 1px \9;
  line-height: normal;
}
input[type="file"] {
  display: block;
}
input[type="range"] {
  display: block;
  width: 100%;
}
select[multiple],
select[size] {
  height: auto;
}
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
output {
  display: block;
  padding-top: 7px;
  font-size: 14px;
  line-height: 1.42857143;
  color: #333333;
}
.form-control {
  display: block;
  width: 100%;
  height: 34px;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.42857143;
  color: #333333;
  background-color: #f7f7f7;
  background-image: none;
  border: 1px solid #efefef;
  border-radius: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.form-control:focus {
  border-color: #dfdfdf;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(223, 223, 223, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(223, 223, 223, 0.6);
}
.form-control::-moz-placeholder {
  color: #cccccc;
  opacity: 1;
}
.form-control:-ms-input-placeholder {
  color: #cccccc;
}
.form-control::-webkit-input-placeholder {
  color: #cccccc;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
  background-color: #eeeeee;
  opacity: 1;
}
.form-control[disabled],
fieldset[disabled] .form-control {
  cursor: not-allowed;
}
textarea.form-control {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: none;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type="date"].form-control,
  input[type="time"].form-control,
  input[type="datetime-local"].form-control,
  input[type="month"].form-control {
    line-height: 34px;
  }
  input[type="date"].input-sm,
  input[type="time"].input-sm,
  input[type="datetime-local"].input-sm,
  input[type="month"].input-sm,
  .input-group-sm input[type="date"],
  .input-group-sm input[type="time"],
  .input-group-sm input[type="datetime-local"],
  .input-group-sm input[type="month"] {
    line-height: 30px;
  }
  input[type="date"].input-lg,
  input[type="time"].input-lg,
  input[type="datetime-local"].input-lg,
  input[type="month"].input-lg,
  .input-group-lg input[type="date"],
  .input-group-lg input[type="time"],
  .input-group-lg input[type="datetime-local"],
  .input-group-lg input[type="month"] {
    line-height: 46px;
  }
}
.form-group {
  margin-bottom: 15px;
}
.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
}
.radio label,
.checkbox label {
  min-height: 20px;
  padding-left: 20px;
  margin-bottom: 0;
  font-weight: normal;
  cursor: pointer;
}
.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
  position: absolute;
  margin-left: -20px;
  margin-top: 4px \9;
}
.radio + .radio,
.checkbox + .checkbox {
  margin-top: -5px;
}
.radio-inline,
.checkbox-inline {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  margin-bottom: 0;
  vertical-align: middle;
  font-weight: normal;
  cursor: pointer;
}
.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
  margin-top: 0;
  margin-left: 10px;
}
input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"].disabled,
input[type="checkbox"].disabled,
fieldset[disabled] input[type="radio"],
fieldset[disabled] input[type="checkbox"] {
  cursor: not-allowed;
}
.radio-inline.disabled,
.checkbox-inline.disabled,
fieldset[disabled] .radio-inline,
fieldset[disabled] .checkbox-inline {
  cursor: not-allowed;
}
.radio.disabled label,
.checkbox.disabled label,
fieldset[disabled] .radio label,
fieldset[disabled] .checkbox label {
  cursor: not-allowed;
}
.form-control-static {
  padding-top: 7px;
  padding-bottom: 7px;
  margin-bottom: 0;
  min-height: 34px;
}
.form-control-static.input-lg,
.form-control-static.input-sm {
  padding-left: 0;
  padding-right: 0;
}
.input-sm {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 3px;
}
select.input-sm {
  height: 30px;
  line-height: 30px;
}
textarea.input-sm,
select[multiple].input-sm {
  height: auto;
}
.form-group-sm .form-control {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 3px;
}
.form-group-sm select.form-control {
  height: 30px;
  line-height: 30px;
}
.form-group-sm textarea.form-control,
.form-group-sm select[multiple].form-control {
  height: auto;
}
.form-group-sm .form-control-static {
  height: 30px;
  min-height: 32px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.5;
}
.input-lg {
  height: 46px;
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  border-radius: 6px;
}
select.input-lg {
  height: 46px;
  line-height: 46px;
}
textarea.input-lg,
select[multiple].input-lg {
  height: auto;
}
.form-group-lg .form-control {
  height: 46px;
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  border-radius: 6px;
}
.form-group-lg select.form-control {
  height: 46px;
  line-height: 46px;
}
.form-group-lg textarea.form-control,
.form-group-lg select[multiple].form-control {
  height: auto;
}
.form-group-lg .form-control-static {
  height: 46px;
  min-height: 38px;
  padding: 11px 16px;
  font-size: 18px;
  line-height: 1.3333333;
}
.has-feedback {
  position: relative;
}
.has-feedback .form-control {
  padding-right: 42.5px;
}
.form-control-feedback {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 34px;
  height: 34px;
  line-height: 34px;
  text-align: center;
  pointer-events: none;
}
.input-lg + .form-control-feedback,
.input-group-lg + .form-control-feedback,
.form-group-lg .form-control + .form-control-feedback {
  width: 46px;
  height: 46px;
  line-height: 46px;
}
.input-sm + .form-control-feedback,
.input-group-sm + .form-control-feedback,
.form-group-sm .form-control + .form-control-feedback {
  width: 30px;
  height: 30px;
  line-height: 30px;
}
.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
  color: #8bbf61;
}
.has-success .form-control {
  border-color: #8bbf61;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-success .form-control:focus {
  border-color: #71a944;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0dcaa;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0dcaa;
}
.has-success .input-group-addon {
  color: #8bbf61;
  border-color: #8bbf61;
  background-color: #7eb84f;
}
.has-success .form-control-feedback {
  color: #8bbf61;
}
.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline,
.has-warning.radio label,
.has-warning.checkbox label,
.has-warning.radio-inline label,
.has-warning.checkbox-inline label {
  color: #ab7a4b;
}
.has-warning .form-control {
  border-color: #ab7a4b;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-warning .form-control:focus {
  border-color: #88613b;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #cead8e;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #cead8e;
}
.has-warning .input-group-addon {
  color: #ab7a4b;
  border-color: #ab7a4b;
  background-color: #996d43;
}
.has-warning .form-control-feedback {
  color: #ab7a4b;
}
.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline,
.has-error.radio label,
.has-error.checkbox label,
.has-error.radio-inline label,
.has-error.checkbox-inline label {
  color: #bd362f;
}
.has-error .form-control {
  border-color: #bd362f;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-error .form-control:focus {
  border-color: #942a25;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dd7a75;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dd7a75;
}
.has-error .input-group-addon {
  color: #bd362f;
  border-color: #bd362f;
  background-color: #a9302a;
}
.has-error .form-control-feedback {
  color: #bd362f;
}
.has-feedback label ~ .form-control-feedback {
  top: 25px;
}
.has-feedback label.sr-only ~ .form-control-feedback {
  top: 0;
}
.help-block {
  display: block;
  margin-top: 5px;
  margin-bottom: 10px;
  color: #737373;
}
@media (min-width: 768px) {
  .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-static {
    display: inline-block;
  }
  .form-inline .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .form-inline .input-group .input-group-addon,
  .form-inline .input-group .input-group-btn,
  .form-inline .input-group .form-control {
    width: auto;
  }
  .form-inline .input-group > .form-control {
    width: 100%;
  }
  .form-inline .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio,
  .form-inline .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio label,
  .form-inline .checkbox label {
    padding-left: 0;
  }
  .form-inline .radio input[type="radio"],
  .form-inline .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0;
  }
  .form-inline .has-feedback .form-control-feedback {
    top: 0;
  }
}
.form-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 7px;
}
.form-horizontal .radio,
.form-horizontal .checkbox {
  min-height: 27px;
}
.form-horizontal .form-group {
  margin-left: -15px;
  margin-right: -15px;
}
@media (min-width: 768px) {
  .form-horizontal .control-label {
    text-align: right;
    margin-bottom: 0;
    padding-top: 7px;
  }
}
.form-horizontal .has-feedback .form-control-feedback {
  right: 15px;
}
@media (min-width: 768px) {
  .form-horizontal .form-group-lg .control-label {
    padding-top: 14.333333px;
    font-size: 18px;
  }
}
@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px;
    font-size: 12px;
  }
}
.btn {
  display: inline-block;
  margin-bottom: 0;
  font-weight: 500;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.42857143;
  border-radius: 4px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.btn:hover,
.btn:focus,
.btn.focus {
  color: #444444;
  text-decoration: none;
}
.btn:active,
.btn.active {
  outline: 0;
  background-image: none;
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
  cursor: not-allowed;
  opacity: 0.65;
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
  box-shadow: none;
}
a.btn.disabled,
fieldset[disabled] a.btn {
  pointer-events: none;
}
.btn-default {
  color: #444444;
  background-color: #efefef;
  border-color: #e7e7e7;
}
.btn-default:focus,
.btn-default.focus {
  color: #444444;
  background-color: #d5d5d5;
  border-color: #a7a7a7;
}
.btn-default:hover {
  color: #444444;
  background-color: #d5d5d5;
  border-color: #c8c8c8;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  color: #444444;
  background-color: #d5d5d5;
  border-color: #c8c8c8;
}
.btn-default:active:hover,
.btn-default.active:hover,
.open > .dropdown-toggle.btn-default:hover,
.btn-default:active:focus,
.btn-default.active:focus,
.open > .dropdown-toggle.btn-default:focus,
.btn-default:active.focus,
.btn-default.active.focus,
.open > .dropdown-toggle.btn-default.focus {
  color: #444444;
  background-color: #c3c3c3;
  border-color: #a7a7a7;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  background-image: none;
}
.btn-default.disabled,
.btn-default[disabled],
fieldset[disabled] .btn-default,
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus,
.btn-default.disabled:active,
.btn-default[disabled]:active,
fieldset[disabled] .btn-default:active,
.btn-default.disabled.active,
.btn-default[disabled].active,
fieldset[disabled] .btn-default.active {
  background-color: #efefef;
  border-color: #e7e7e7;
}
.btn-default .badge {
  color: #efefef;
  background-color: #444444;
}
.btn-primary {
  color: #ffffff;
  background-color: #ef4136;
  border-color: #ef4136;
}
.btn-primary:focus,
.btn-primary.focus {
  color: #ffffff;
  background-color: #e01e12;
  border-color: #99150c;
}
.btn-primary:hover {
  color: #ffffff;
  background-color: #e01e12;
  border-color: #d71d11;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  color: #ffffff;
  background-color: #e01e12;
  border-color: #d71d11;
}
.btn-primary:active:hover,
.btn-primary.active:hover,
.open > .dropdown-toggle.btn-primary:hover,
.btn-primary:active:focus,
.btn-primary.active:focus,
.open > .dropdown-toggle.btn-primary:focus,
.btn-primary:active.focus,
.btn-primary.active.focus,
.open > .dropdown-toggle.btn-primary.focus {
  color: #ffffff;
  background-color: #bf1a0f;
  border-color: #99150c;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  background-image: none;
}
.btn-primary.disabled,
.btn-primary[disabled],
fieldset[disabled] .btn-primary,
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus,
.btn-primary.disabled:active,
.btn-primary[disabled]:active,
fieldset[disabled] .btn-primary:active,
.btn-primary.disabled.active,
.btn-primary[disabled].active,
fieldset[disabled] .btn-primary.active {
  background-color: #ef4136;
  border-color: #ef4136;
}
.btn-primary .badge {
  color: #ef4136;
  background-color: #ffffff;
}
.btn-success {
  color: #ffffff;
  background-color: #8bbf61;
  border-color: #8bbf61;
}
.btn-success:focus,
.btn-success.focus {
  color: #ffffff;
  background-color: #71a944;
  border-color: #4d722e;
}
.btn-success:hover {
  color: #ffffff;
  background-color: #71a944;
  border-color: #6ca141;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
  color: #ffffff;
  background-color: #71a944;
  border-color: #6ca141;
}
.btn-success:active:hover,
.btn-success.active:hover,
.open > .dropdown-toggle.btn-success:hover,
.btn-success:active:focus,
.btn-success.active:focus,
.open > .dropdown-toggle.btn-success:focus,
.btn-success:active.focus,
.btn-success.active.focus,
.open > .dropdown-toggle.btn-success.focus {
  color: #ffffff;
  background-color: #608f3a;
  border-color: #4d722e;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
  background-image: none;
}
.btn-success.disabled,
.btn-success[disabled],
fieldset[disabled] .btn-success,
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus,
.btn-success.disabled:active,
.btn-success[disabled]:active,
fieldset[disabled] .btn-success:active,
.btn-success.disabled.active,
.btn-success[disabled].active,
fieldset[disabled] .btn-success.active {
  background-color: #8bbf61;
  border-color: #8bbf61;
}
.btn-success .badge {
  color: #8bbf61;
  background-color: #ffffff;
}
.btn-info {
  color: #ffffff;
  background-color: #4193d0;
  border-color: #4193d0;
}
.btn-info:focus,
.btn-info.focus {
  color: #ffffff;
  background-color: #2c79b2;
  border-color: #1d4f75;
}
.btn-info:hover {
  color: #ffffff;
  background-color: #2c79b2;
  border-color: #2a73aa;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
  color: #ffffff;
  background-color: #2c79b2;
  border-color: #2a73aa;
}
.btn-info:active:hover,
.btn-info.active:hover,
.open > .dropdown-toggle.btn-info:hover,
.btn-info:active:focus,
.btn-info.active:focus,
.open > .dropdown-toggle.btn-info:focus,
.btn-info:active.focus,
.btn-info.active.focus,
.open > .dropdown-toggle.btn-info.focus {
  color: #ffffff;
  background-color: #256595;
  border-color: #1d4f75;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
  background-image: none;
}
.btn-info.disabled,
.btn-info[disabled],
fieldset[disabled] .btn-info,
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus,
.btn-info.disabled:active,
.btn-info[disabled]:active,
fieldset[disabled] .btn-info:active,
.btn-info.disabled.active,
.btn-info[disabled].active,
fieldset[disabled] .btn-info.active {
  background-color: #4193d0;
  border-color: #4193d0;
}
.btn-info .badge {
  color: #4193d0;
  background-color: #ffffff;
}
.btn-warning {
  color: #ffffff;
  background-color: #ab7a4b;
  border-color: #ab7a4b;
}
.btn-warning:focus,
.btn-warning.focus {
  color: #ffffff;
  background-color: #88613b;
  border-color: #523b24;
}
.btn-warning:hover {
  color: #ffffff;
  background-color: #88613b;
  border-color: #805c38;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
  color: #ffffff;
  background-color: #88613b;
  border-color: #805c38;
}
.btn-warning:active:hover,
.btn-warning.active:hover,
.open > .dropdown-toggle.btn-warning:hover,
.btn-warning:active:focus,
.btn-warning.active:focus,
.open > .dropdown-toggle.btn-warning:focus,
.btn-warning:active.focus,
.btn-warning.active.focus,
.open > .dropdown-toggle.btn-warning.focus {
  color: #ffffff;
  background-color: #6f4f31;
  border-color: #523b24;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
  background-image: none;
}
.btn-warning.disabled,
.btn-warning[disabled],
fieldset[disabled] .btn-warning,
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus,
.btn-warning.disabled:active,
.btn-warning[disabled]:active,
fieldset[disabled] .btn-warning:active,
.btn-warning.disabled.active,
.btn-warning[disabled].active,
fieldset[disabled] .btn-warning.active {
  background-color: #ab7a4b;
  border-color: #ab7a4b;
}
.btn-warning .badge {
  color: #ab7a4b;
  background-color: #ffffff;
}
.btn-danger {
  color: #ffffff;
  background-color: #bd362f;
  border-color: #bd362f;
}
.btn-danger:focus,
.btn-danger.focus {
  color: #ffffff;
  background-color: #942a25;
  border-color: #571916;
}
.btn-danger:hover {
  color: #ffffff;
  background-color: #942a25;
  border-color: #8c2823;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
  color: #ffffff;
  background-color: #942a25;
  border-color: #8c2823;
}
.btn-danger:active:hover,
.btn-danger.active:hover,
.open > .dropdown-toggle.btn-danger:hover,
.btn-danger:active:focus,
.btn-danger.active:focus,
.open > .dropdown-toggle.btn-danger:focus,
.btn-danger:active.focus,
.btn-danger.active.focus,
.open > .dropdown-toggle.btn-danger.focus {
  color: #ffffff;
  background-color: #78221e;
  border-color: #571916;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
  background-image: none;
}
.btn-danger.disabled,
.btn-danger[disabled],
fieldset[disabled] .btn-danger,
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus,
.btn-danger.disabled:active,
.btn-danger[disabled]:active,
fieldset[disabled] .btn-danger:active,
.btn-danger.disabled.active,
.btn-danger[disabled].active,
fieldset[disabled] .btn-danger.active {
  background-color: #bd362f;
  border-color: #bd362f;
}
.btn-danger .badge {
  color: #bd362f;
  background-color: #ffffff;
}
.btn-link {
  color: #337ab7;
  font-weight: normal;
  border-radius: 0;
}
.btn-link,
.btn-link:active,
.btn-link.active,
.btn-link[disabled],
fieldset[disabled] .btn-link {
  background-color: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn-link,
.btn-link:hover,
.btn-link:focus,
.btn-link:active {
  border-color: transparent;
}
.btn-link:hover,
.btn-link:focus {
  color: #23527c;
  text-decoration: underline;
  background-color: transparent;
}
.btn-link[disabled]:hover,
fieldset[disabled] .btn-link:hover,
.btn-link[disabled]:focus,
fieldset[disabled] .btn-link:focus {
  color: #777777;
  text-decoration: none;
}
.btn-lg,
.btn-group-lg > .btn {
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  border-radius: 6px;
}
.btn-sm,
.btn-group-sm > .btn {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 3px;
}
.btn-xs,
.btn-group-xs > .btn {
  padding: 1px 5px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 3px;
}
.btn-block {
  display: block;
  width: 100%;
}
.btn-block + .btn-block {
  margin-top: 5px;
}
input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
  width: 100%;
}
.fade {
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
}
.fade.in {
  opacity: 1;
}
.collapse {
  display: none;
}
.collapse.in {
  display: block;
}
tr.collapse.in {
  display: table-row;
}
tbody.collapse.in {
  display: table-row-group;
}
.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition-property: height, visibility;
  transition-property: height, visibility;
  -webkit-transition-duration: 0.35s;
  transition-duration: 0.35s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
}
.caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 2px;
  vertical-align: middle;
  border-top: 4px dashed;
  border-top: 4px solid \9;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}
.dropup,
.dropdown {
  position: relative;
}
.dropdown-toggle:focus {
  outline: 0;
}
.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  list-style: none;
  font-size: 14px;
  text-align: left;
  background-color: #ffffff;
  border: 1px solid #cccccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  background-clip: padding-box;
}
.dropdown-menu.pull-right {
  right: 0;
  left: auto;
}
.dropdown-menu .divider {
  height: 1px;
  margin: 9px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.dropdown-menu > li > a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: normal;
  line-height: 1.42857143;
  color: #333333;
  white-space: nowrap;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  text-decoration: none;
  color: #262626;
  background-color: #f5f5f5;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
  color: #ffffff;
  text-decoration: none;
  outline: 0;
  background-color: #337ab7;
}
.dropdown-menu > .disabled > a,
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  color: #777777;
}
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  text-decoration: none;
  background-color: transparent;
  background-image: none;
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  cursor: not-allowed;
}
.open > .dropdown-menu {
  display: block;
}
.open > a {
  outline: 0;
}
.dropdown-menu-right {
  left: auto;
  right: 0;
}
.dropdown-menu-left {
  left: 0;
  right: auto;
}
.dropdown-header {
  display: block;
  padding: 3px 20px;
  font-size: 12px;
  line-height: 1.42857143;
  color: #777777;
  white-space: nowrap;
}
.dropdown-backdrop {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: 990;
}
.pull-right > .dropdown-menu {
  right: 0;
  left: auto;
}
.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
  border-top: 0;
  border-bottom: 4px dashed;
  border-bottom: 4px solid \9;
  content: "";
}
.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-bottom: 2px;
}
@media (min-width: 768px) {
  .navbar-right .dropdown-menu {
    left: auto;
    right: 0;
  }
  .navbar-right .dropdown-menu-left {
    left: 0;
    right: auto;
  }
}
.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  float: left;
}
.btn-group > .btn:hover,
.btn-group-vertical > .btn:hover,
.btn-group > .btn:focus,
.btn-group-vertical > .btn:focus,
.btn-group > .btn:active,
.btn-group-vertical > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn.active {
  z-index: 2;
}
.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group {
  margin-left: -1px;
}
.btn-toolbar {
  margin-left: -5px;
}
.btn-toolbar .btn,
.btn-toolbar .btn-group,
.btn-toolbar .input-group {
  float: left;
}
.btn-toolbar > .btn,
.btn-toolbar > .btn-group,
.btn-toolbar > .input-group {
  margin-left: 5px;
}
.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
  border-radius: 0;
}
.btn-group > .btn:first-child {
  margin-left: 0;
}
.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.btn-group > .btn-group {
  float: left;
}
.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}
.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
  outline: 0;
}
.btn-group > .btn + .dropdown-toggle {
  padding-left: 8px;
  padding-right: 8px;
}
.btn-group > .btn-lg + .dropdown-toggle {
  padding-left: 12px;
  padding-right: 12px;
}
.btn-group.open .dropdown-toggle {
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn-group.open .dropdown-toggle.btn-link {
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn .caret {
  margin-left: 0;
}
.btn-lg .caret {
  border-width: 5px 5px 0;
  border-bottom-width: 0;
}
.dropup .btn-lg .caret {
  border-width: 0 5px 5px;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group,
.btn-group-vertical > .btn-group > .btn {
  display: block;
  float: none;
  width: 100%;
  max-width: 100%;
}
.btn-group-vertical > .btn-group > .btn {
  float: none;
}
.btn-group-vertical > .btn + .btn,
.btn-group-vertical > .btn + .btn-group,
.btn-group-vertical > .btn-group + .btn,
.btn-group-vertical > .btn-group + .btn-group {
  margin-top: -1px;
  margin-left: 0;
}
.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.btn-group-vertical > .btn:first-child:not(:last-child) {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:last-child:not(:first-child) {
  border-bottom-left-radius: 4px;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.btn-group-justified {
  display: table;
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
}
.btn-group-justified > .btn,
.btn-group-justified > .btn-group {
  float: none;
  display: table-cell;
  width: 1%;
}
.btn-group-justified > .btn-group .btn {
  width: 100%;
}
.btn-group-justified > .btn-group .dropdown-menu {
  left: auto;
}
[data-toggle="buttons"] > .btn input[type="radio"],
[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
[data-toggle="buttons"] > .btn input[type="checkbox"],
[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.input-group {
  position: relative;
  display: table;
  border-collapse: separate;
}
.input-group[class*="col-"] {
  float: none;
  padding-left: 0;
  padding-right: 0;
}
.input-group .form-control {
  position: relative;
  z-index: 2;
  float: left;
  width: 100%;
  margin-bottom: 0;
}
.input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  border-radius: 6px;
  height: 46px;
  padding: 10px 18px;
  font-size: 16px;
  line-height: 1.5;
}
select.input-group-lg > .form-control,
select.input-group-lg > .input-group-addon,
select.input-group-lg > .input-group-btn > .btn {
  height: 46px;
  line-height: 46px;
}
textarea.input-group-lg > .form-control,
textarea.input-group-lg > .input-group-addon,
textarea.input-group-lg > .input-group-btn > .btn,
select[multiple].input-group-lg > .form-control,
select[multiple].input-group-lg > .input-group-addon,
select[multiple].input-group-lg > .input-group-btn > .btn {
  height: auto;
}
.input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
  height: 30px;
  padding: 5px 10px;
  line-height: 1.5;
  border-radius: 3px;
  font-size: 12px;
  height: 34px;
  padding: 7px 12px;
}
select.input-group-sm > .form-control,
select.input-group-sm > .input-group-addon,
select.input-group-sm > .input-group-btn > .btn {
  height: 30px;
  line-height: 30px;
}
textarea.input-group-sm > .form-control,
textarea.input-group-sm > .input-group-addon,
textarea.input-group-sm > .input-group-btn > .btn,
select[multiple].input-group-sm > .form-control,
select[multiple].input-group-sm > .input-group-addon,
select[multiple].input-group-sm > .input-group-btn > .btn {
  height: auto;
}
.input-group-addon,
.input-group-btn,
.input-group .form-control {
  display: table-cell;
}
.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.input-group-addon,
.input-group-btn {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
}
.input-group-addon {
  padding: 6px 12px;
  font-size: 14px;
  font-weight: normal;
  line-height: 1;
  color: #333333;
  text-align: center;
  background-color: #eeeeee;
  border: 1px solid #efefef;
  border-radius: 4px;
}
.input-group-addon.input-sm {
  padding: 5px 10px;
  font-size: 12px;
  border-radius: 3px;
}
.input-group-addon.input-lg {
  padding: 10px 16px;
  font-size: 18px;
  border-radius: 6px;
}
.input-group-addon input[type="radio"],
.input-group-addon input[type="checkbox"] {
  margin-top: 0;
}
.input-group .form-control:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group > .btn,
.input-group-btn:first-child > .dropdown-toggle,
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.input-group-addon:first-child {
  border-right: 0;
}
.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group > .btn,
.input-group-btn:last-child > .dropdown-toggle,
.input-group-btn:first-child > .btn:not(:first-child),
.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.input-group-addon:last-child {
  border-left: 0;
}
.input-group-btn {
  position: relative;
  font-size: 0;
  white-space: nowrap;
}
.input-group-btn > .btn {
  position: relative;
}
.input-group-btn > .btn + .btn {
  margin-left: -1px;
}
.input-group-btn > .btn:hover,
.input-group-btn > .btn:focus,
.input-group-btn > .btn:active {
  z-index: 2;
}
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group {
  margin-right: -1px;
}
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group {
  z-index: 2;
  margin-left: -1px;
}
.nav {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
.nav > li {
  position: relative;
  display: block;
}
.nav > li > a {
  position: relative;
  display: block;
  padding: 10px 15px;
}
.nav > li > a:hover,
.nav > li > a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}
.nav > li.disabled > a {
  color: #777777;
}
.nav > li.disabled > a:hover,
.nav > li.disabled > a:focus {
  color: #777777;
  text-decoration: none;
  background-color: transparent;
  cursor: not-allowed;
}
.nav .open > a,
.nav .open > a:hover,
.nav .open > a:focus {
  background-color: #eeeeee;
  border-color: #337ab7;
}
.nav .nav-divider {
  height: 1px;
  margin: 9px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.nav > li > a > img {
  max-width: none;
}
.nav-tabs {
  border-bottom: 1px solid #efefef;
}
.nav-tabs > li {
  float: left;
  margin-bottom: -1px;
}
.nav-tabs > li > a {
  margin-right: 2px;
  line-height: 1.42857143;
  border: 1px solid transparent;
  border-radius: 4px 4px 0 0;
}
.nav-tabs > li > a:hover {
  border-color: #eeeeee #eeeeee #efefef;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  color: #555555;
  background-color: #ffffff;
  border: 1px solid #efefef;
  border-bottom-color: transparent;
  cursor: default;
}
.nav-tabs.nav-justified {
  width: 100%;
  border-bottom: 0;
}
.nav-tabs.nav-justified > li {
  float: none;
}
.nav-tabs.nav-justified > li > a {
  text-align: center;
  margin-bottom: 5px;
}
.nav-tabs.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
@media (min-width: 768px) {
  .nav-tabs.nav-justified > li {
    display: table-cell;
    width: 1%;
  }
  .nav-tabs.nav-justified > li > a {
    margin-bottom: 0;
  }
}
.nav-tabs.nav-justified > li > a {
  margin-right: 0;
  border-radius: 4px;
}
.nav-tabs.nav-justified > .active > a,
.nav-tabs.nav-justified > .active > a:hover,
.nav-tabs.nav-justified > .active > a:focus {
  border: 1px solid #dddddd;
}
@media (min-width: 768px) {
  .nav-tabs.nav-justified > li > a {
    border-bottom: 1px solid #dddddd;
    border-radius: 4px 4px 0 0;
  }
  .nav-tabs.nav-justified > .active > a,
  .nav-tabs.nav-justified > .active > a:hover,
  .nav-tabs.nav-justified > .active > a:focus {
    border-bottom-color: #f6f6f6;
  }
}
.nav-pills > li {
  float: left;
}
.nav-pills > li > a {
  border-radius: 4px;
}
.nav-pills > li + li {
  margin-left: 2px;
}
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
  color: #ffffff;
  background-color: #337ab7;
}
.nav-stacked > li {
  float: none;
}
.nav-stacked > li + li {
  margin-top: 2px;
  margin-left: 0;
}
.nav-justified {
  width: 100%;
}
.nav-justified > li {
  float: none;
}
.nav-justified > li > a {
  text-align: center;
  margin-bottom: 5px;
}
.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
@media (min-width: 768px) {
  .nav-justified > li {
    display: table-cell;
    width: 1%;
  }
  .nav-justified > li > a {
    margin-bottom: 0;
  }
}
.nav-tabs-justified {
  border-bottom: 0;
}
.nav-tabs-justified > li > a {
  margin-right: 0;
  border-radius: 4px;
}
.nav-tabs-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus {
  border: 1px solid #dddddd;
}
@media (min-width: 768px) {
  .nav-tabs-justified > li > a {
    border-bottom: 1px solid #dddddd;
    border-radius: 4px 4px 0 0;
  }
  .nav-tabs-justified > .active > a,
  .nav-tabs-justified > .active > a:hover,
  .nav-tabs-justified > .active > a:focus {
    border-bottom-color: #f6f6f6;
  }
}
.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active {
  display: block;
}
.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.navbar {
  position: relative;
  min-height: 56px;
  margin-bottom: 20px;
  border: 1px solid transparent;
}
@media (min-width: 768px) {
  .navbar {
    border-radius: 4px;
  }
}
@media (min-width: 768px) {
  .navbar-header {
    float: left;
  }
}
.navbar-collapse {
  overflow-x: visible;
  padding-right: 15px;
  padding-left: 15px;
  border-top: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  -webkit-overflow-scrolling: touch;
}
.navbar-collapse.in {
  overflow-y: auto;
}
@media (min-width: 768px) {
  .navbar-collapse {
    width: auto;
    border-top: 0;
    box-shadow: none;
  }
  .navbar-collapse.collapse {
    display: block !important;
    height: auto !important;
    padding-bottom: 0;
    overflow: visible !important;
  }
  .navbar-collapse.in {
    overflow-y: visible;
  }
  .navbar-fixed-top .navbar-collapse,
  .navbar-static-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    padding-left: 0;
    padding-right: 0;
  }
}
.navbar-fixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
  max-height: 340px;
}
@media (max-device-width: 480px) and (orientation: landscape) {
  .navbar-fixed-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    max-height: 200px;
  }
}
.container > .navbar-header,
.container-fluid > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-collapse {
  margin-right: -15px;
  margin-left: -15px;
}
@media (min-width: 768px) {
  .container > .navbar-header,
  .container-fluid > .navbar-header,
  .container > .navbar-collapse,
  .container-fluid > .navbar-collapse {
    margin-right: 0;
    margin-left: 0;
  }
}
.navbar-static-top {
  z-index: 1000;
  border-width: 0 0 1px;
}
@media (min-width: 768px) {
  .navbar-static-top {
    border-radius: 0;
  }
}
.navbar-fixed-top,
.navbar-fixed-bottom {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1030;
}
@media (min-width: 768px) {
  .navbar-fixed-top,
  .navbar-fixed-bottom {
    border-radius: 0;
  }
}
.navbar-fixed-top {
  top: 0;
  border-width: 0 0 1px;
}
.navbar-fixed-bottom {
  bottom: 0;
  margin-bottom: 0;
  border-width: 1px 0 0;
}
.navbar-brand {
  float: left;
  padding: 18px 15px;
  font-size: 18px;
  line-height: 20px;
  height: 56px;
}
.navbar-brand:hover,
.navbar-brand:focus {
  text-decoration: none;
}
.navbar-brand > img {
  display: block;
}
@media (min-width: 768px) {
  .navbar > .container .navbar-brand,
  .navbar > .container-fluid .navbar-brand {
    margin-left: -15px;
  }
}
.navbar-toggle {
  position: relative;
  float: right;
  margin-right: 15px;
  padding: 9px 10px;
  margin-top: 11px;
  margin-bottom: 11px;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 4px;
}
.navbar-toggle:focus {
  outline: 0;
}
.navbar-toggle .icon-bar {
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 1px;
}
.navbar-toggle .icon-bar + .icon-bar {
  margin-top: 4px;
}
@media (min-width: 768px) {
  .navbar-toggle {
    display: none;
  }
}
.navbar-nav {
  margin: 9px -15px;
}
.navbar-nav > li > a {
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 20px;
}
@media (max-width: 767px) {
  .navbar-nav .open .dropdown-menu {
    position: static;
    float: none;
    width: auto;
    margin-top: 0;
    background-color: transparent;
    border: 0;
    box-shadow: none;
  }
  .navbar-nav .open .dropdown-menu > li > a,
  .navbar-nav .open .dropdown-menu .dropdown-header {
    padding: 5px 15px 5px 25px;
  }
  .navbar-nav .open .dropdown-menu > li > a {
    line-height: 20px;
  }
  .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-nav .open .dropdown-menu > li > a:focus {
    background-image: none;
  }
}
@media (min-width: 768px) {
  .navbar-nav {
    float: left;
    margin: 0;
  }
  .navbar-nav > li {
    float: left;
  }
  .navbar-nav > li > a {
    padding-top: 18px;
    padding-bottom: 18px;
  }
}
.navbar-form {
  margin-left: -15px;
  margin-right: -15px;
  padding: 10px 15px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  margin-top: 11px;
  margin-bottom: 11px;
}
@media (min-width: 768px) {
  .navbar-form .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .navbar-form .form-control-static {
    display: inline-block;
  }
  .navbar-form .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .navbar-form .input-group .input-group-addon,
  .navbar-form .input-group .input-group-btn,
  .navbar-form .input-group .form-control {
    width: auto;
  }
  .navbar-form .input-group > .form-control {
    width: 100%;
  }
  .navbar-form .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio,
  .navbar-form .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio label,
  .navbar-form .checkbox label {
    padding-left: 0;
  }
  .navbar-form .radio input[type="radio"],
  .navbar-form .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0;
  }
  .navbar-form .has-feedback .form-control-feedback {
    top: 0;
  }
}
@media (max-width: 767px) {
  .navbar-form .form-group {
    margin-bottom: 5px;
  }
  .navbar-form .form-group:last-child {
    margin-bottom: 0;
  }
}
@media (min-width: 768px) {
  .navbar-form {
    width: auto;
    border: 0;
    margin-left: 0;
    margin-right: 0;
    padding-top: 0;
    padding-bottom: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
  }
}
.navbar-nav > li > .dropdown-menu {
  margin-top: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
  margin-bottom: 0;
  border-top-right-radius: 4px;
  border-top-left-radius: 4px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.navbar-btn {
  margin-top: 11px;
  margin-bottom: 11px;
}
.navbar-btn.btn-sm {
  margin-top: 13px;
  margin-bottom: 13px;
}
.navbar-btn.btn-xs {
  margin-top: 17px;
  margin-bottom: 17px;
}
.navbar-text {
  margin-top: 18px;
  margin-bottom: 18px;
}
@media (min-width: 768px) {
  .navbar-text {
    float: left;
    margin-left: 15px;
    margin-right: 15px;
  }
}
@media (min-width: 768px) {
  .navbar-left {
    float: left !important;
  }
  .navbar-right {
    float: right !important;
    margin-right: -15px;
  }
  .navbar-right ~ .navbar-right {
    margin-right: 0;
  }
}
.navbar-default {
  background-color: #ffffff;
  border-color: #eeeeee;
}
.navbar-default .navbar-brand {
  color: #777777;
}
.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
  color: #5e5e5e;
  background-color: transparent;
}
.navbar-default .navbar-text {
  color: #d6d6d6;
}
.navbar-default .navbar-nav > li > a {
  color: #777777;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  color: #333333;
  background-color: transparent;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: #555555;
  background-color: #eeeeee;
}
.navbar-default .navbar-nav > .disabled > a,
.navbar-default .navbar-nav > .disabled > a:hover,
.navbar-default .navbar-nav > .disabled > a:focus {
  color: #cccccc;
  background-color: transparent;
}
.navbar-default .navbar-toggle {
  border-color: #dddddd;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
  background-color: #dddddd;
}
.navbar-default .navbar-toggle .icon-bar {
  background-color: #888888;
}
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  border-color: #eeeeee;
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  background-color: #eeeeee;
  color: #555555;
}
@media (max-width: 767px) {
  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    color: #777777;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #333333;
    background-color: transparent;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #555555;
    background-color: #eeeeee;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #cccccc;
    background-color: transparent;
  }
}
.navbar-default .navbar-link {
  color: #777777;
}
.navbar-default .navbar-link:hover {
  color: #333333;
}
.navbar-default .btn-link {
  color: #777777;
}
.navbar-default .btn-link:hover,
.navbar-default .btn-link:focus {
  color: #333333;
}
.navbar-default .btn-link[disabled]:hover,
fieldset[disabled] .navbar-default .btn-link:hover,
.navbar-default .btn-link[disabled]:focus,
fieldset[disabled] .navbar-default .btn-link:focus {
  color: #cccccc;
}
.navbar-inverse {
  background-color: #222222;
  border-color: #080808;
}
.navbar-inverse .navbar-brand {
  color: #9d9d9d;
}
.navbar-inverse .navbar-brand:hover,
.navbar-inverse .navbar-brand:focus {
  color: #ffffff;
  background-color: transparent;
}
.navbar-inverse .navbar-text {
  color: #9d9d9d;
}
.navbar-inverse .navbar-nav > li > a {
  color: #9d9d9d;
}
.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus {
  color: #ffffff;
  background-color: transparent;
}
.navbar-inverse .navbar-nav > .active > a,
.navbar-inverse .navbar-nav > .active > a:hover,
.navbar-inverse .navbar-nav > .active > a:focus {
  color: #ffffff;
  background-color: #080808;
}
.navbar-inverse .navbar-nav > .disabled > a,
.navbar-inverse .navbar-nav > .disabled > a:hover,
.navbar-inverse .navbar-nav > .disabled > a:focus {
  color: #444444;
  background-color: transparent;
}
.navbar-inverse .navbar-toggle {
  border-color: #333333;
}
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
  background-color: #333333;
}
.navbar-inverse .navbar-toggle .icon-bar {
  background-color: #ffffff;
}
.navbar-inverse .navbar-collapse,
.navbar-inverse .navbar-form {
  border-color: #101010;
}
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .open > a:hover,
.navbar-inverse .navbar-nav > .open > a:focus {
  background-color: #080808;
  color: #ffffff;
}
@media (max-width: 767px) {
  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
    border-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
    background-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
    color: #9d9d9d;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #ffffff;
    background-color: transparent;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #ffffff;
    background-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #444444;
    background-color: transparent;
  }
}
.navbar-inverse .navbar-link {
  color: #9d9d9d;
}
.navbar-inverse .navbar-link:hover {
  color: #ffffff;
}
.navbar-inverse .btn-link {
  color: #9d9d9d;
}
.navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link:focus {
  color: #ffffff;
}
.navbar-inverse .btn-link[disabled]:hover,
fieldset[disabled] .navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link[disabled]:focus,
fieldset[disabled] .navbar-inverse .btn-link:focus {
  color: #444444;
}
.breadcrumb {
  padding: 8px 15px;
  margin-bottom: 20px;
  list-style: none;
  background-color: #f5f5f5;
  border-radius: 4px;
}
.breadcrumb > li {
  display: inline-block;
}
.breadcrumb > li + li:before {
  content: "/\00a0";
  padding: 0 5px;
  color: #cccccc;
}
.breadcrumb > .active {
  color: #777777;
}
.pagination {
  display: inline-block;
  padding-left: 0;
  margin: 20px 0;
  border-radius: 4px;
}
.pagination > li {
  display: inline;
}
.pagination > li > a,
.pagination > li > span {
  position: relative;
  float: left;
  padding: 6px 12px;
  line-height: 1.42857143;
  text-decoration: none;
  color: #ef4136;
  background-color: #ffffff;
  border: 1px solid #dddddd;
  margin-left: -1px;
}
.pagination > li:first-child > a,
.pagination > li:first-child > span {
  margin-left: 0;
  border-bottom-left-radius: 4px;
  border-top-left-radius: 4px;
}
.pagination > li:last-child > a,
.pagination > li:last-child > span {
  border-bottom-right-radius: 4px;
  border-top-right-radius: 4px;
}
.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
  z-index: 3;
  color: #000000;
  background-color: #eeeeee;
  border-color: #dddddd;
}
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  z-index: 2;
  color: #ffffff;
  background-color: #ef4136;
  border-color: #ef4136;
  cursor: default;
}
.pagination > .disabled > span,
.pagination > .disabled > span:hover,
.pagination > .disabled > span:focus,
.pagination > .disabled > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
  color: #777777;
  background-color: #ffffff;
  border-color: #dddddd;
  cursor: not-allowed;
}
.pagination-lg > li > a,
.pagination-lg > li > span {
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
}
.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
  border-bottom-left-radius: 6px;
  border-top-left-radius: 6px;
}
.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
  border-bottom-right-radius: 6px;
  border-top-right-radius: 6px;
}
.pagination-sm > li > a,
.pagination-sm > li > span {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
}
.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}
.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}
.pager {
  padding-left: 0;
  margin: 20px 0;
  list-style: none;
  text-align: center;
}
.pager li {
  display: inline;
}
.pager li > a,
.pager li > span {
  display: inline-block;
  padding: 5px 14px;
  background-color: #ffffff;
  border: 1px solid #dddddd;
  border-radius: 15px;
}
.pager li > a:hover,
.pager li > a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}
.pager .next > a,
.pager .next > span {
  float: right;
}
.pager .previous > a,
.pager .previous > span {
  float: left;
}
.pager .disabled > a,
.pager .disabled > a:hover,
.pager .disabled > a:focus,
.pager .disabled > span {
  color: #777777;
  background-color: #ffffff;
  cursor: not-allowed;
}
.label {
  display: inline;
  padding: .2em .6em .3em;
  font-size: 75%;
  font-weight: bold;
  line-height: 1;
  color: #ffffff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .25em;
}
a.label:hover,
a.label:focus {
  color: #ffffff;
  text-decoration: none;
  cursor: pointer;
}
.label:empty {
  display: none;
}
.btn .label {
  position: relative;
  top: -1px;
}
.label-default {
  background-color: #777777;
}
.label-default[href]:hover,
.label-default[href]:focus {
  background-color: #5e5e5e;
}
.label-primary {
  background-color: #337ab7;
}
.label-primary[href]:hover,
.label-primary[href]:focus {
  background-color: #286090;
}
.label-success {
  background-color: #5cb85c;
}
.label-success[href]:hover,
.label-success[href]:focus {
  background-color: #449d44;
}
.label-info {
  background-color: #5bc0de;
}
.label-info[href]:hover,
.label-info[href]:focus {
  background-color: #31b0d5;
}
.label-warning {
  background-color: #f0ad4e;
}
.label-warning[href]:hover,
.label-warning[href]:focus {
  background-color: #ec971f;
}
.label-danger {
  background-color: #d9534f;
}
.label-danger[href]:hover,
.label-danger[href]:focus {
  background-color: #c9302c;
}
.badge {
  display: inline-block;
  min-width: 10px;
  padding: 3px 7px;
  font-size: 12px;
  font-weight: bold;
  color: #ffffff;
  line-height: 1;
  vertical-align: middle;
  white-space: nowrap;
  text-align: center;
  background-color: #777777;
  border-radius: 10px;
}
.badge:empty {
  display: none;
}
.btn .badge {
  position: relative;
  top: -1px;
}
.btn-xs .badge,
.btn-group-xs > .btn .badge {
  top: 0;
  padding: 1px 5px;
}
a.badge:hover,
a.badge:focus {
  color: #ffffff;
  text-decoration: none;
  cursor: pointer;
}
.list-group-item.active > .badge,
.nav-pills > .active > a > .badge {
  color: #337ab7;
  background-color: #ffffff;
}
.list-group-item > .badge {
  float: right;
}
.list-group-item > .badge + .badge {
  margin-right: 5px;
}
.nav-pills > li > a > .badge {
  margin-left: 3px;
}
.jumbotron {
  padding-top: 30px;
  padding-bottom: 30px;
  margin-bottom: 30px;
  color: inherit;
  background-color: #eeeeee;
}
.jumbotron h1,
.jumbotron .h1 {
  color: inherit;
}
.jumbotron p {
  margin-bottom: 15px;
  font-size: 21px;
  font-weight: 200;
}
.jumbotron > hr {
  border-top-color: #d5d5d5;
}
.container .jumbotron,
.container-fluid .jumbotron {
  border-radius: 6px;
}
.jumbotron .container {
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .jumbotron {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  .container .jumbotron,
  .container-fluid .jumbotron {
    padding-left: 60px;
    padding-right: 60px;
  }
  .jumbotron h1,
  .jumbotron .h1 {
    font-size: 63px;
  }
}
.thumbnail {
  display: block;
  padding: 4px;
  margin-bottom: 20px;
  line-height: 1.42857143;
  background-color: #f6f6f6;
  border: 1px solid #dddddd;
  border-radius: 4px;
  -webkit-transition: border 0.2s ease-in-out;
  -o-transition: border 0.2s ease-in-out;
  transition: border 0.2s ease-in-out;
}
.thumbnail > img,
.thumbnail a > img {
  margin-left: auto;
  margin-right: auto;
}
a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
  border-color: #337ab7;
}
.thumbnail .caption {
  padding: 9px;
  color: #333333;
}
.alert {
  padding: 15px;
  margin-bottom: 20px;
  border: 1px solid transparent;
  border-radius: 4px;
}
.alert h4 {
  margin-top: 0;
  color: inherit;
}
.alert .alert-link {
  font-weight: bold;
}
.alert > p,
.alert > ul {
  margin-bottom: 0;
}
.alert > p + p {
  margin-top: 5px;
}
.alert-dismissable,
.alert-dismissible {
  padding-right: 35px;
}
.alert-dismissable .close,
.alert-dismissible .close {
  position: relative;
  top: -2px;
  right: -21px;
  color: inherit;
}
.alert-success {
  background-color: #7eb84f;
  border-color: #82a944;
  color: #8bbf61;
}
.alert-success hr {
  border-top-color: #74973d;
}
.alert-success .alert-link {
  color: #71a944;
}
.alert-info {
  background-color: #d9edf7;
  border-color: #bce8f1;
  color: #31708f;
}
.alert-info hr {
  border-top-color: #a6e1ec;
}
.alert-info .alert-link {
  color: #245269;
}
.alert-warning {
  background-color: #996d43;
  border-color: #88543b;
  color: #ab7a4b;
}
.alert-warning hr {
  border-top-color: #764934;
}
.alert-warning .alert-link {
  color: #88613b;
}
.alert-danger {
  background-color: #f9e8e8;
  border-color: #f4d5d3;
  color: #942a25;
}
.alert-danger hr {
  border-top-color: #efc1bf;
}
.alert-danger .alert-link {
  color: #6b1f1b;
}
@-webkit-keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
@keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
.progress {
  overflow: hidden;
  height: 20px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
.progress-bar {
  float: left;
  width: 0%;
  height: 100%;
  font-size: 12px;
  line-height: 20px;
  color: #ffffff;
  text-align: center;
  background-color: #ef4136;
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -webkit-transition: width 0.6s ease;
  -o-transition: width 0.6s ease;
  transition: width 0.6s ease;
}
.progress-striped .progress-bar,
.progress-bar-striped {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 40px 40px;
}
.progress.active .progress-bar,
.progress-bar.active {
  -webkit-animation: progress-bar-stripes 2s linear infinite;
  -o-animation: progress-bar-stripes 2s linear infinite;
  animation: progress-bar-stripes 2s linear infinite;
}
.progress-bar-success {
  background-color: #8bbf61;
}
.progress-striped .progress-bar-success {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-info {
  background-color: #4193d0;
}
.progress-striped .progress-bar-info {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-warning {
  background-color: #ab7a4b;
}
.progress-striped .progress-bar-warning {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-danger {
  background-color: #bd362f;
}
.progress-striped .progress-bar-danger {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.media {
  margin-top: 15px;
}
.media:first-child {
  margin-top: 0;
}
.media,
.media-body {
  zoom: 1;
  overflow: hidden;
}
.media-body {
  width: 10000px;
}
.media-object {
  display: block;
}
.media-object.img-thumbnail {
  max-width: none;
}
.media-right,
.media > .pull-right {
  padding-left: 10px;
}
.media-left,
.media > .pull-left {
  padding-right: 10px;
}
.media-left,
.media-right,
.media-body {
  display: table-cell;
  vertical-align: top;
}
.media-middle {
  vertical-align: middle;
}
.media-bottom {
  vertical-align: bottom;
}
.media-heading {
  margin-top: 0;
  margin-bottom: 5px;
}
.media-list {
  padding-left: 0;
  list-style: none;
}
.list-group {
  margin-bottom: 20px;
  padding-left: 0;
}
.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #ffffff;
  border: 1px solid #efefef;
}
.list-group-item:first-child {
  border-top-right-radius: 4px;
  border-top-left-radius: 4px;
}
.list-group-item:last-child {
  margin-bottom: 0;
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
}
a.list-group-item,
button.list-group-item {
  color: #555555;
}
a.list-group-item .list-group-item-heading,
button.list-group-item .list-group-item-heading {
  color: #333333;
}
a.list-group-item:hover,
button.list-group-item:hover,
a.list-group-item:focus,
button.list-group-item:focus {
  text-decoration: none;
  color: #555555;
  background-color: #f5f5f5;
}
button.list-group-item {
  width: 100%;
  text-align: left;
}
.list-group-item.disabled,
.list-group-item.disabled:hover,
.list-group-item.disabled:focus {
  background-color: #eeeeee;
  color: #777777;
  cursor: not-allowed;
}
.list-group-item.disabled .list-group-item-heading,
.list-group-item.disabled:hover .list-group-item-heading,
.list-group-item.disabled:focus .list-group-item-heading {
  color: inherit;
}
.list-group-item.disabled .list-group-item-text,
.list-group-item.disabled:hover .list-group-item-text,
.list-group-item.disabled:focus .list-group-item-text {
  color: #777777;
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
  z-index: 2;
  color: #ffffff;
  background-color: #ef4136;
  border-color: #ef4136;
}
.list-group-item.active .list-group-item-heading,
.list-group-item.active:hover .list-group-item-heading,
.list-group-item.active:focus .list-group-item-heading,
.list-group-item.active .list-group-item-heading > small,
.list-group-item.active:hover .list-group-item-heading > small,
.list-group-item.active:focus .list-group-item-heading > small,
.list-group-item.active .list-group-item-heading > .small,
.list-group-item.active:hover .list-group-item-heading > .small,
.list-group-item.active:focus .list-group-item-heading > .small {
  color: inherit;
}
.list-group-item.active .list-group-item-text,
.list-group-item.active:hover .list-group-item-text,
.list-group-item.active:focus .list-group-item-text {
  color: #fef4f3;
}
.list-group-item-success {
  color: #8bbf61;
  background-color: #7eb84f;
}
a.list-group-item-success,
button.list-group-item-success {
  color: #8bbf61;
}
a.list-group-item-success .list-group-item-heading,
button.list-group-item-success .list-group-item-heading {
  color: inherit;
}
a.list-group-item-success:hover,
button.list-group-item-success:hover,
a.list-group-item-success:focus,
button.list-group-item-success:focus {
  color: #8bbf61;
  background-color: #71a944;
}
a.list-group-item-success.active,
button.list-group-item-success.active,
a.list-group-item-success.active:hover,
button.list-group-item-success.active:hover,
a.list-group-item-success.active:focus,
button.list-group-item-success.active:focus {
  color: #fff;
  background-color: #8bbf61;
  border-color: #8bbf61;
}
.list-group-item-info {
  color: #31708f;
  background-color: #d9edf7;
}
a.list-group-item-info,
button.list-group-item-info {
  color: #31708f;
}
a.list-group-item-info .list-group-item-heading,
button.list-group-item-info .list-group-item-heading {
  color: inherit;
}
a.list-group-item-info:hover,
button.list-group-item-info:hover,
a.list-group-item-info:focus,
button.list-group-item-info:focus {
  color: #31708f;
  background-color: #c4e3f3;
}
a.list-group-item-info.active,
button.list-group-item-info.active,
a.list-group-item-info.active:hover,
button.list-group-item-info.active:hover,
a.list-group-item-info.active:focus,
button.list-group-item-info.active:focus {
  color: #fff;
  background-color: #31708f;
  border-color: #31708f;
}
.list-group-item-warning {
  color: #ab7a4b;
  background-color: #996d43;
}
a.list-group-item-warning,
button.list-group-item-warning {
  color: #ab7a4b;
}
a.list-group-item-warning .list-group-item-heading,
button.list-group-item-warning .list-group-item-heading {
  color: inherit;
}
a.list-group-item-warning:hover,
button.list-group-item-warning:hover,
a.list-group-item-warning:focus,
button.list-group-item-warning:focus {
  color: #ab7a4b;
  background-color: #88613b;
}
a.list-group-item-warning.active,
button.list-group-item-warning.active,
a.list-group-item-warning.active:hover,
button.list-group-item-warning.active:hover,
a.list-group-item-warning.active:focus,
button.list-group-item-warning.active:focus {
  color: #fff;
  background-color: #ab7a4b;
  border-color: #ab7a4b;
}
.list-group-item-danger {
  color: #bd362f;
  background-color: #a9302a;
}
a.list-group-item-danger,
button.list-group-item-danger {
  color: #bd362f;
}
a.list-group-item-danger .list-group-item-heading,
button.list-group-item-danger .list-group-item-heading {
  color: inherit;
}
a.list-group-item-danger:hover,
button.list-group-item-danger:hover,
a.list-group-item-danger:focus,
button.list-group-item-danger:focus {
  color: #bd362f;
  background-color: #942a25;
}
a.list-group-item-danger.active,
button.list-group-item-danger.active,
a.list-group-item-danger.active:hover,
button.list-group-item-danger.active:hover,
a.list-group-item-danger.active:focus,
button.list-group-item-danger.active:focus {
  color: #fff;
  background-color: #bd362f;
  border-color: #bd362f;
}
.list-group-item-heading {
  margin-top: 0;
  margin-bottom: 5px;
}
.list-group-item-text {
  margin-bottom: 0;
  line-height: 1.3;
}
.panel {
  margin-bottom: 20px;
  background-color: #ffffff;
  border: 1px solid transparent;
  border-radius: 0;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}
.panel-body {
  padding: 15px;
}
.panel-heading {
  padding: 10px 15px;
  border-bottom: 1px solid transparent;
  border-top-right-radius: -1;
  border-top-left-radius: -1;
}
.panel-heading > .dropdown .dropdown-toggle {
  color: inherit;
}
.panel-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 16px;
  color: inherit;
}
.panel-title > a,
.panel-title > small,
.panel-title > .small,
.panel-title > small > a,
.panel-title > .small > a {
  color: inherit;
}
.panel-footer {
  padding: 10px 15px;
  background-color: #ffffff;
  border-top: 1px solid #dddddd;
  border-bottom-right-radius: -1;
  border-bottom-left-radius: -1;
}
.panel > .list-group,
.panel > .panel-collapse > .list-group {
  margin-bottom: 0;
}
.panel > .list-group .list-group-item,
.panel > .panel-collapse > .list-group .list-group-item {
  border-width: 1px 0;
  border-radius: 0;
}
.panel > .list-group:first-child .list-group-item:first-child,
.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
  border-top: 0;
  border-top-right-radius: -1;
  border-top-left-radius: -1;
}
.panel > .list-group:last-child .list-group-item:last-child,
.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
  border-bottom: 0;
  border-bottom-right-radius: -1;
  border-bottom-left-radius: -1;
}
.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.panel-heading + .list-group .list-group-item:first-child {
  border-top-width: 0;
}
.list-group + .panel-footer {
  border-top-width: 0;
}
.panel > .table,
.panel > .table-responsive > .table,
.panel > .panel-collapse > .table {
  margin-bottom: 0;
}
.panel > .table caption,
.panel > .table-responsive > .table caption,
.panel > .panel-collapse > .table caption {
  padding-left: 15px;
  padding-right: 15px;
}
.panel > .table:first-child,
.panel > .table-responsive:first-child > .table:first-child {
  border-top-right-radius: -1;
  border-top-left-radius: -1;
}
.panel > .table:first-child > thead:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
  border-top-left-radius: -1;
  border-top-right-radius: -1;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
  border-top-left-radius: -1;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
  border-top-right-radius: -1;
}
.panel > .table:last-child,
.panel > .table-responsive:last-child > .table:last-child {
  border-bottom-right-radius: -1;
  border-bottom-left-radius: -1;
}
.panel > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
  border-bottom-left-radius: -1;
  border-bottom-right-radius: -1;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
  border-bottom-left-radius: -1;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
  border-bottom-right-radius: -1;
}
.panel > .panel-body + .table,
.panel > .panel-body + .table-responsive,
.panel > .table + .panel-body,
.panel > .table-responsive + .panel-body {
  border-top: 1px solid #dddddd;
}
.panel > .table > tbody:first-child > tr:first-child th,
.panel > .table > tbody:first-child > tr:first-child td {
  border-top: 0;
}
.panel > .table-bordered,
.panel > .table-responsive > .table-bordered {
  border: 0;
}
.panel > .table-bordered > thead > tr > th:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
.panel > .table-bordered > tbody > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
.panel > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-bordered > thead > tr > td:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
.panel > .table-bordered > tbody > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
.panel > .table-bordered > tfoot > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
  border-left: 0;
}
.panel > .table-bordered > thead > tr > th:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
.panel > .table-bordered > tbody > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
.panel > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-bordered > thead > tr > td:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
.panel > .table-bordered > tbody > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
.panel > .table-bordered > tfoot > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
  border-right: 0;
}
.panel > .table-bordered > thead > tr:first-child > td,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
.panel > .table-bordered > tbody > tr:first-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
.panel > .table-bordered > thead > tr:first-child > th,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
.panel > .table-bordered > tbody > tr:first-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
  border-bottom: 0;
}
.panel > .table-bordered > tbody > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
.panel > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-bordered > tbody > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
.panel > .table-bordered > tfoot > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
  border-bottom: 0;
}
.panel > .table-responsive {
  border: 0;
  margin-bottom: 0;
}
.panel-group {
  margin-bottom: 20px;
}
.panel-group .panel {
  margin-bottom: 0;
  border-radius: 0;
}
.panel-group .panel + .panel {
  margin-top: 5px;
}
.panel-group .panel-heading {
  border-bottom: 0;
}
.panel-group .panel-heading + .panel-collapse > .panel-body,
.panel-group .panel-heading + .panel-collapse > .list-group {
  border-top: 1px solid #dddddd;
}
.panel-group .panel-footer {
  border-top: 0;
}
.panel-group .panel-footer + .panel-collapse .panel-body {
  border-bottom: 1px solid #dddddd;
}
.panel-default {
  border-color: #efefef;
}
.panel-default > .panel-heading {
  color: #333333;
  background-color: #ef4136;
  border-color: #efefef;
}
.panel-default > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #efefef;
}
.panel-default > .panel-heading .badge {
  color: #ef4136;
  background-color: #333333;
}
.panel-default > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #efefef;
}
.panel-primary {
  border-color: #337ab7;
}
.panel-primary > .panel-heading {
  color: #ffffff;
  background-color: #337ab7;
  border-color: #337ab7;
}
.panel-primary > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #337ab7;
}
.panel-primary > .panel-heading .badge {
  color: #337ab7;
  background-color: #ffffff;
}
.panel-primary > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #337ab7;
}
.panel-success {
  border-color: #82a944;
}
.panel-success > .panel-heading {
  color: #8bbf61;
  background-color: #7eb84f;
  border-color: #82a944;
}
.panel-success > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #82a944;
}
.panel-success > .panel-heading .badge {
  color: #7eb84f;
  background-color: #8bbf61;
}
.panel-success > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #82a944;
}
.panel-info {
  border-color: #bce8f1;
}
.panel-info > .panel-heading {
  color: #31708f;
  background-color: #d9edf7;
  border-color: #bce8f1;
}
.panel-info > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #bce8f1;
}
.panel-info > .panel-heading .badge {
  color: #d9edf7;
  background-color: #31708f;
}
.panel-info > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #bce8f1;
}
.panel-warning {
  border-color: #88543b;
}
.panel-warning > .panel-heading {
  color: #ab7a4b;
  background-color: #996d43;
  border-color: #88543b;
}
.panel-warning > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #88543b;
}
.panel-warning > .panel-heading .badge {
  color: #996d43;
  background-color: #ab7a4b;
}
.panel-warning > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #88543b;
}
.panel-danger {
  border-color: #942532;
}
.panel-danger > .panel-heading {
  color: #bd362f;
  background-color: #a9302a;
  border-color: #942532;
}
.panel-danger > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #942532;
}
.panel-danger > .panel-heading .badge {
  color: #a9302a;
  background-color: #bd362f;
}
.panel-danger > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #942532;
}
.embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden;
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  border: 0;
}
.embed-responsive-16by9 {
  padding-bottom: 56.25%;
}
.embed-responsive-4by3 {
  padding-bottom: 75%;
}
.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
.well blockquote {
  border-color: #ddd;
  border-color: rgba(0, 0, 0, 0.15);
}
.well-lg {
  padding: 24px;
  border-radius: 6px;
}
.well-sm {
  padding: 9px;
  border-radius: 3px;
}
.close {
  float: right;
  font-size: 21px;
  font-weight: bold;
  line-height: 1;
  color: #000000;
  text-shadow: 0 1px 0 #ffffff;
  opacity: 0.2;
  filter: alpha(opacity=20);
}
.close:hover,
.close:focus {
  color: #000000;
  text-decoration: none;
  cursor: pointer;
  opacity: 0.5;
  filter: alpha(opacity=50);
}
button.close {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
}
.modal-open {
  overflow: hidden;
}
.modal {
  display: none;
  overflow: hidden;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  -webkit-overflow-scrolling: touch;
  outline: 0;
}
.modal.fade .modal-dialog {
  -webkit-transform: translate(0, -25%);
  -ms-transform: translate(0, -25%);
  -o-transform: translate(0, -25%);
  transform: translate(0, -25%);
  -webkit-transition: -webkit-transform 0.3s ease-out;
  -moz-transition: -moz-transform 0.3s ease-out;
  -o-transition: -o-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
}
.modal.in .modal-dialog {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}
.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}
.modal-dialog {
  position: relative;
  width: auto;
  margin: 10px;
}
.modal-content {
  position: relative;
  background-color: #ffffff;
  border: 1px solid #999999;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 6px;
  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  background-clip: padding-box;
  outline: 0;
}
.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000000;
}
.modal-backdrop.fade {
  opacity: 0;
  filter: alpha(opacity=0);
}
.modal-backdrop.in {
  opacity: 0.5;
  filter: alpha(opacity=50);
}
.modal-header {
  padding: 15px;
  border-bottom: 1px solid #e5e5e5;
  min-height: 16.42857143px;
}
.modal-header .close {
  margin-top: -2px;
}
.modal-title {
  margin: 0;
  line-height: 1.42857143;
}
.modal-body {
  position: relative;
  padding: 15px;
}
.modal-footer {
  padding: 15px;
  text-align: right;
  border-top: 1px solid #e5e5e5;
}
.modal-footer .btn + .btn {
  margin-left: 5px;
  margin-bottom: 0;
}
.modal-footer .btn-group .btn + .btn {
  margin-left: -1px;
}
.modal-footer .btn-block + .btn-block {
  margin-left: 0;
}
.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}
@media (min-width: 768px) {
  .modal-dialog {
    width: 600px;
    margin: 30px auto;
  }
  .modal-content {
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  }
  .modal-sm {
    width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg {
    width: 900px;
  }
}
.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.42857143;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 12px;
  opacity: 0;
  filter: alpha(opacity=0);
}
.tooltip.in {
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.tooltip.top {
  margin-top: -3px;
  padding: 5px 0;
}
.tooltip.right {
  margin-left: 3px;
  padding: 0 5px;
}
.tooltip.bottom {
  margin-top: 3px;
  padding: 5px 0;
}
.tooltip.left {
  margin-left: -3px;
  padding: 0 5px;
}
.tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  color: #ffffff;
  text-align: center;
  background-color: #424242;
  border-radius: 4px;
}
.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.tooltip.top .tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
  border-top-color: #424242;
}
.tooltip.top-left .tooltip-arrow {
  bottom: 0;
  right: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #424242;
}
.tooltip.top-right .tooltip-arrow {
  bottom: 0;
  left: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #424242;
}
.tooltip.right .tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
  border-right-color: #424242;
}
.tooltip.left .tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
  border-left-color: #424242;
}
.tooltip.bottom .tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #424242;
}
.tooltip.bottom-left .tooltip-arrow {
  top: 0;
  right: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #424242;
}
.tooltip.bottom-right .tooltip-arrow {
  top: 0;
  left: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #424242;
}
.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: none;
  max-width: 276px;
  padding: 1px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.42857143;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 14px;
  background-color: #ffffff;
  background-clip: padding-box;
  border: 1px solid #cccccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 6px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
.popover.top {
  margin-top: -10px;
}
.popover.right {
  margin-left: 10px;
}
.popover.bottom {
  margin-top: 10px;
}
.popover.left {
  margin-left: -10px;
}
.popover-title {
  margin: 0;
  padding: 8px 14px;
  font-size: 14px;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-radius: 5px 5px 0 0;
}
.popover-content {
  padding: 9px 14px;
}
.popover > .arrow,
.popover > .arrow:after {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.popover > .arrow {
  border-width: 11px;
}
.popover > .arrow:after {
  border-width: 10px;
  content: "";
}
.popover.top > .arrow {
  left: 50%;
  margin-left: -11px;
  border-bottom-width: 0;
  border-top-color: #999999;
  border-top-color: rgba(0, 0, 0, 0.25);
  bottom: -11px;
}
.popover.top > .arrow:after {
  content: " ";
  bottom: 1px;
  margin-left: -10px;
  border-bottom-width: 0;
  border-top-color: #ffffff;
}
.popover.right > .arrow {
  top: 50%;
  left: -11px;
  margin-top: -11px;
  border-left-width: 0;
  border-right-color: #999999;
  border-right-color: rgba(0, 0, 0, 0.25);
}
.popover.right > .arrow:after {
  content: " ";
  left: 1px;
  bottom: -10px;
  border-left-width: 0;
  border-right-color: #ffffff;
}
.popover.bottom > .arrow {
  left: 50%;
  margin-left: -11px;
  border-top-width: 0;
  border-bottom-color: #999999;
  border-bottom-color: rgba(0, 0, 0, 0.25);
  top: -11px;
}
.popover.bottom > .arrow:after {
  content: " ";
  top: 1px;
  margin-left: -10px;
  border-top-width: 0;
  border-bottom-color: #ffffff;
}
.popover.left > .arrow {
  top: 50%;
  right: -11px;
  margin-top: -11px;
  border-right-width: 0;
  border-left-color: #999999;
  border-left-color: rgba(0, 0, 0, 0.25);
}
.popover.left > .arrow:after {
  content: " ";
  right: 1px;
  border-right-width: 0;
  border-left-color: #ffffff;
  bottom: -10px;
}
.carousel {
  position: relative;
}
.carousel-inner {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.carousel-inner > .item {
  display: none;
  position: relative;
  -webkit-transition: 0.6s ease-in-out left;
  -o-transition: 0.6s ease-in-out left;
  transition: 0.6s ease-in-out left;
}
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  line-height: 1;
}
@media all and (transform-3d), (-webkit-transform-3d) {
  .carousel-inner > .item {
    -webkit-transition: -webkit-transform 0.6s ease-in-out;
    -moz-transition: -moz-transform 0.6s ease-in-out;
    -o-transition: -o-transform 0.6s ease-in-out;
    transition: transform 0.6s ease-in-out;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000px;
    -moz-perspective: 1000px;
    perspective: 1000px;
  }
  .carousel-inner > .item.next,
  .carousel-inner > .item.active.right {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    left: 0;
  }
  .carousel-inner > .item.prev,
  .carousel-inner > .item.active.left {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    left: 0;
  }
  .carousel-inner > .item.next.left,
  .carousel-inner > .item.prev.right,
  .carousel-inner > .item.active {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    left: 0;
  }
}
.carousel-inner > .active,
.carousel-inner > .next,
.carousel-inner > .prev {
  display: block;
}
.carousel-inner > .active {
  left: 0;
}
.carousel-inner > .next,
.carousel-inner > .prev {
  position: absolute;
  top: 0;
  width: 100%;
}
.carousel-inner > .next {
  left: 100%;
}
.carousel-inner > .prev {
  left: -100%;
}
.carousel-inner > .next.left,
.carousel-inner > .prev.right {
  left: 0;
}
.carousel-inner > .active.left {
  left: -100%;
}
.carousel-inner > .active.right {
  left: 100%;
}
.carousel-control {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 15%;
  opacity: 0.5;
  filter: alpha(opacity=50);
  font-size: 20px;
  color: #ffffff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
.carousel-control.left {
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
}
.carousel-control.right {
  left: auto;
  right: 0;
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
}
.carousel-control:hover,
.carousel-control:focus {
  outline: 0;
  color: #ffffff;
  text-decoration: none;
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.carousel-control .icon-prev,
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right {
  position: absolute;
  top: 50%;
  margin-top: -10px;
  z-index: 5;
  display: inline-block;
}
.carousel-control .icon-prev,
.carousel-control .glyphicon-chevron-left {
  left: 50%;
  margin-left: -10px;
}
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-right {
  right: 50%;
  margin-right: -10px;
}
.carousel-control .icon-prev,
.carousel-control .icon-next {
  width: 20px;
  height: 20px;
  line-height: 1;
  font-family: serif;
}
.carousel-control .icon-prev:before {
  content: '\2039';
}
.carousel-control .icon-next:before {
  content: '\203a';
}
.carousel-indicators {
  position: absolute;
  bottom: 10px;
  left: 50%;
  z-index: 15;
  width: 60%;
  margin-left: -30%;
  padding-left: 0;
  list-style: none;
  text-align: center;
}
.carousel-indicators li {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 1px;
  text-indent: -999px;
  border: 1px solid #ffffff;
  border-radius: 10px;
  cursor: pointer;
  background-color: #000 \9;
  background-color: rgba(0, 0, 0, 0);
}
.carousel-indicators .active {
  margin: 0;
  width: 12px;
  height: 12px;
  background-color: #ffffff;
}
.carousel-caption {
  position: absolute;
  left: 15%;
  right: 15%;
  bottom: 20px;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #ffffff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
.carousel-caption .btn {
  text-shadow: none;
}
@media screen and (min-width: 768px) {
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    width: 30px;
    height: 30px;
    margin-top: -15px;
    font-size: 30px;
  }
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .icon-prev {
    margin-left: -15px;
  }
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-next {
    margin-right: -15px;
  }
  .carousel-caption {
    left: 20%;
    right: 20%;
    padding-bottom: 30px;
  }
  .carousel-indicators {
    bottom: 20px;
  }
}
.clearfix:before,
.clearfix:after,
.dl-horizontal dd:before,
.dl-horizontal dd:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after,
.form-horizontal .form-group:before,
.form-horizontal .form-group:after,
.btn-toolbar:before,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:before,
.btn-group-vertical > .btn-group:after,
.nav:before,
.nav:after,
.navbar:before,
.navbar:after,
.navbar-header:before,
.navbar-header:after,
.navbar-collapse:before,
.navbar-collapse:after,
.pager:before,
.pager:after,
.panel-body:before,
.panel-body:after,
.modal-footer:before,
.modal-footer:after {
  content: " ";
  display: table;
}
.clearfix:after,
.dl-horizontal dd:after,
.container:after,
.container-fluid:after,
.row:after,
.form-horizontal .form-group:after,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:after,
.nav:after,
.navbar:after,
.navbar-header:after,
.navbar-collapse:after,
.pager:after,
.panel-body:after,
.modal-footer:after {
  clear: both;
}
.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.pull-right {
  float: right !important;
}
.pull-left {
  float: left !important;
}
.hide {
  display: none !important;
}
.show {
  display: block !important;
}
.invisible {
  visibility: hidden;
}
.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}
.hidden {
  display: none !important;
}
.affix {
  position: fixed;
}
@-ms-viewport {
  width: device-width;
}
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg {
  display: none !important;
}
.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important;
}
@media (max-width: 767px) {
  .visible-xs {
    display: block !important;
  }
  table.visible-xs {
    display: table !important;
  }
  tr.visible-xs {
    display: table-row !important;
  }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline {
    display: inline !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important;
  }
  table.visible-sm {
    display: table !important;
  }
  tr.visible-sm {
    display: table-row !important;
  }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-block {
    display: block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline {
    display: inline !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md {
    display: block !important;
  }
  table.visible-md {
    display: table !important;
  }
  tr.visible-md {
    display: table-row !important;
  }
  th.visible-md,
  td.visible-md {
    display: table-cell !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-block {
    display: block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline {
    display: inline !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg {
    display: block !important;
  }
  table.visible-lg {
    display: table !important;
  }
  tr.visible-lg {
    display: table-row !important;
  }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-block {
    display: block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline {
    display: inline !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline-block {
    display: inline-block !important;
  }
}
@media (max-width: 767px) {
  .hidden-xs {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important;
  }
}
.visible-print {
  display: none !important;
}
@media print {
  .visible-print {
    display: block !important;
  }
  table.visible-print {
    display: table !important;
  }
  tr.visible-print {
    display: table-row !important;
  }
  th.visible-print,
  td.visible-print {
    display: table-cell !important;
  }
}
.visible-print-block {
  display: none !important;
}
@media print {
  .visible-print-block {
    display: block !important;
  }
}
.visible-print-inline {
  display: none !important;
}
@media print {
  .visible-print-inline {
    display: inline !important;
  }
}
.visible-print-inline-block {
  display: none !important;
}
@media print {
  .visible-print-inline-block {
    display: inline-block !important;
  }
}
@media print {
  .hidden-print {
    display: none !important;
  }
}
.bootstrap-select {
  /*width: 220px\9; IE8 and below*/
  width: 220px \0;
  /*IE9 and below*/
}
.bootstrap-select > .btn {
  width: 100%;
  padding-right: 25px;
}
.error .bootstrap-select .btn {
  border: 1px solid #b94a48;
}
.control-group.error .bootstrap-select .dropdown-toggle {
  border-color: #b94a48;
}
.bootstrap-select.fit-width {
  width: auto !important;
}
.bootstrap-select:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn) {
  width: 220px;
}
.bootstrap-select .btn:focus {
  outline: thin dotted #333333 !important;
  outline: 5px auto -webkit-focus-ring-color !important;
  outline-offset: -2px;
}
.bootstrap-select.form-control {
  margin-bottom: 0;
  padding: 0;
  border: none;
}
.bootstrap-select.form-control:not([class*="col-"]) {
  width: 100%;
}
.bootstrap-select.btn-group:not(.input-group-btn),
.bootstrap-select.btn-group[class*="col-"] {
  float: none;
  display: inline-block;
  margin-left: 0;
}
.bootstrap-select.btn-group.dropdown-menu-right,
.bootstrap-select.btn-group[class*="col-"].dropdown-menu-right,
.row-fluid .bootstrap-select.btn-group[class*="col-"].dropdown-menu-right {
  float: right;
}
.form-search .bootstrap-select.btn-group,
.form-inline .bootstrap-select.btn-group,
.form-horizontal .bootstrap-select.btn-group,
.form-group .bootstrap-select.btn-group {
  margin-bottom: 0;
}
.form-group-lg .bootstrap-select.btn-group.form-control,
.form-group-sm .bootstrap-select.btn-group.form-control {
  padding: 0;
}
.form-inline .bootstrap-select.btn-group .form-control {
  width: 100%;
}
.input-append .bootstrap-select.btn-group {
  margin-left: -1px;
}
.input-prepend .bootstrap-select.btn-group {
  margin-right: -1px;
}
.bootstrap-select.btn-group > .disabled {
  cursor: not-allowed;
}
.bootstrap-select.btn-group > .disabled:focus {
  outline: none !important;
}
.bootstrap-select.btn-group .btn .filter-option {
  display: inline-block;
  overflow: hidden;
  width: 100%;
  text-align: left;
}
.bootstrap-select.btn-group .btn .caret {
  position: absolute;
  top: 50%;
  right: 12px;
  margin-top: -2px;
  vertical-align: middle;
}
.bootstrap-select.btn-group[class*="col-"] .btn {
  width: 100%;
}
.bootstrap-select.btn-group .dropdown-menu {
  min-width: 100%;
  z-index: 1035;
  box-sizing: border-box;
}
.bootstrap-select.btn-group .dropdown-menu.inner {
  position: static;
  border: 0;
  padding: 0;
  margin: 0;
  border-radius: 0;
  box-shadow: none;
}
.bootstrap-select.btn-group .dropdown-menu li {
  position: relative;
}
.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) a:hover small,
.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) a:focus small,
.bootstrap-select.btn-group .dropdown-menu li.active:not(.disabled) a small {
  color: #64b1d8;
  color: rgba(100, 177, 216, 0.4);
}
.bootstrap-select.btn-group .dropdown-menu li.disabled a {
  cursor: not-allowed;
}
.bootstrap-select.btn-group .dropdown-menu li a {
  cursor: pointer;
}
.bootstrap-select.btn-group .dropdown-menu li a.opt {
  position: relative;
  padding-left: 2.25em;
}
.bootstrap-select.btn-group .dropdown-menu li a span.check-mark {
  display: none;
}
.bootstrap-select.btn-group .dropdown-menu li a span.text {
  display: inline-block;
}
.bootstrap-select.btn-group .dropdown-menu li small {
  padding-left: 0.5em;
}
.bootstrap-select.btn-group .dropdown-menu .notify {
  position: absolute;
  bottom: 5px;
  width: 96%;
  margin: 0 2%;
  min-height: 26px;
  padding: 3px 5px;
  background: #f5f5f5;
  border: 1px solid #e3e3e3;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  pointer-events: none;
  opacity: 0.9;
  box-sizing: border-box;
}
.bootstrap-select.btn-group .no-results {
  padding: 3px;
  background: #f5f5f5;
  margin: 0 5px;
}
.bootstrap-select.btn-group.fit-width .btn .filter-option {
  position: static;
}
.bootstrap-select.btn-group.fit-width .btn .caret {
  position: static;
  top: auto;
  margin-top: -1px;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a span.check-mark {
  position: absolute;
  display: inline-block;
  right: 15px;
  margin-top: 5px;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text {
  margin-right: 34px;
}
.bootstrap-select.show-menu-arrow.open > .btn {
  z-index: 1036;
}
.bootstrap-select.show-menu-arrow .dropdown-toggle:before {
  content: '';
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom-width: 7px;
  border-bottom-style: solid;
  border-bottom-color: #cccccc;
  border-bottom-color: rgba(204, 204, 204, 0.2);
  position: absolute;
  bottom: -4px;
  left: 9px;
  display: none;
}
.bootstrap-select.show-menu-arrow .dropdown-toggle:after {
  content: '';
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid white;
  position: absolute;
  bottom: -4px;
  left: 10px;
  display: none;
}
.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before {
  bottom: auto;
  top: -3px;
  border-bottom: 0;
  border-top-width: 7px;
  border-top-style: solid;
  border-top-color: #cccccc;
  border-top-color: rgba(204, 204, 204, 0.2);
}
.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after {
  bottom: auto;
  top: -3px;
  border-top: 6px solid white;
  border-bottom: 0;
}
.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before {
  right: 12px;
  left: auto;
}
.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after {
  right: 13px;
  left: auto;
}
.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:before,
.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:after {
  display: block;
}
.bs-searchbox,
.bs-actionsbox {
  padding: 4px 8px;
}
.bs-actionsbox {
  float: left;
  width: 100%;
  box-sizing: border-box;
}
.bs-actionsbox .btn-group button {
  width: 50%;
}
.bs-searchbox + .bs-actionsbox {
  padding: 0 8px 4px;
}
.bs-searchbox input.form-control {
  margin-bottom: 0;
  width: 100%;
}
.mobile-device {
  position: absolute;
  top: 0;
  left: 0;
  display: block !important;
  width: 100%;
  height: 100% !important;
  opacity: 0;
}
#content > .container-fluid {
  margin-bottom: 30px;
}
#content {
  min-width: 320px;
}
.border-bottom {
  border-bottom: 1px solid #efefef;
}
.margin-none {
  margin: 0 !important;
}
.padding-none {
  padding: 0 !important;
}
.relative {
  position: relative;
}
.display-inline-block {
  display: inline-block;
}
.boxed {
  border: 1px solid #efefef;
  padding: 10px;
}
.display-none {
  display: none;
}
.bg-primary {
  background: #ef4136;
  color: #fff;
}
.bg-default {
  background: #f6f6f6;
  color: #808080;
}
.bg-purple {
  background: #9d8ac7;
  color: #fff;
}
.bg-brown {
  background: #c3a961;
  color: #fff;
}
.bg-danger {
  background: #bd362f;
  color: #fff;
}
.bg-lightred {
  background: #e15258;
  color: #fff;
}
.bg-gray-dark {
  background: #555;
  color: #fff;
}
html {
  -webkit-font-smoothing: antialiased;
}
body {
  padding-top: 71px;
  position: relative;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  color: #4d4d4d;
}
body > .container-fluid > h1,
body #content > .container-fluid > h1,
body > .container > h1,
body > .container-fluid > h2,
body #content > .container-fluid > h2,
body > .container > h2,
body > .container-fluid > h3,
body #content > .container-fluid > h3,
body > .container > h3,
body > .container-fluid > h4,
body #content > .container-fluid > h4,
body > .container > h4,
body > .container-fluid > h5,
body #content > .container-fluid > h5,
body > .container > h5,
body > .container-fluid > h6,
body #content > .container-fluid > h6,
body > .container > h6 {
  margin-bottom: 20px;
}
body > .container-fluid > .media,
body #content > .container-fluid > .media,
body > .container > .media {
  margin-top: 0;
}
.page-header {
  margin-top: 0;
}
.sidebar > div[data-scrollable] {
  position: relative;
  overflow: hidden;
  height: 100%;
}
.btn {
  font-weight: 500;
}
.btn-default:hover {
  background: #fff;
  border-color: #e7e7e7;
}
.btn-primary i {
  color: #fff !important;
}
.btn-white:hover {
  background: #efefef;
  border-color: #efefef;
}
.btn-white:hover i {
  color: #333333 !important;
}
.btn-white {
  color: #444444;
  background-color: #ffffff;
  border-color: #efefef;
}
.btn-white:focus,
.btn-white.focus {
  color: #444444;
  background-color: #e6e6e6;
  border-color: #afafaf;
}
.btn-white:hover {
  color: #444444;
  background-color: #e6e6e6;
  border-color: #d0d0d0;
}
.btn-white:active,
.btn-white.active,
.open > .dropdown-toggle.btn-white {
  color: #444444;
  background-color: #e6e6e6;
  border-color: #d0d0d0;
}
.btn-white:active:hover,
.btn-white.active:hover,
.open > .dropdown-toggle.btn-white:hover,
.btn-white:active:focus,
.btn-white.active:focus,
.open > .dropdown-toggle.btn-white:focus,
.btn-white:active.focus,
.btn-white.active.focus,
.open > .dropdown-toggle.btn-white.focus {
  color: #444444;
  background-color: #d4d4d4;
  border-color: #afafaf;
}
.btn-white:active,
.btn-white.active,
.open > .dropdown-toggle.btn-white {
  background-image: none;
}
.btn-white.disabled,
.btn-white[disabled],
fieldset[disabled] .btn-white,
.btn-white.disabled:hover,
.btn-white[disabled]:hover,
fieldset[disabled] .btn-white:hover,
.btn-white.disabled:focus,
.btn-white[disabled]:focus,
fieldset[disabled] .btn-white:focus,
.btn-white.disabled.focus,
.btn-white[disabled].focus,
fieldset[disabled] .btn-white.focus,
.btn-white.disabled:active,
.btn-white[disabled]:active,
fieldset[disabled] .btn-white:active,
.btn-white.disabled.active,
.btn-white[disabled].active,
fieldset[disabled] .btn-white.active {
  background-color: #ffffff;
  border-color: #efefef;
}
.btn-white .badge {
  color: #ffffff;
  background-color: #444444;
}
.btn-inverse {
  color: #ffffff;
  background-color: #424242;
  border-color: #424242;
}
.btn-inverse:focus,
.btn-inverse.focus {
  color: #ffffff;
  background-color: #292929;
  border-color: #020202;
}
.btn-inverse:hover {
  color: #ffffff;
  background-color: #292929;
  border-color: #232323;
}
.btn-inverse:active,
.btn-inverse.active,
.open > .dropdown-toggle.btn-inverse {
  color: #ffffff;
  background-color: #292929;
  border-color: #232323;
}
.btn-inverse:active:hover,
.btn-inverse.active:hover,
.open > .dropdown-toggle.btn-inverse:hover,
.btn-inverse:active:focus,
.btn-inverse.active:focus,
.open > .dropdown-toggle.btn-inverse:focus,
.btn-inverse:active.focus,
.btn-inverse.active.focus,
.open > .dropdown-toggle.btn-inverse.focus {
  color: #ffffff;
  background-color: #171717;
  border-color: #020202;
}
.btn-inverse:active,
.btn-inverse.active,
.open > .dropdown-toggle.btn-inverse {
  background-image: none;
}
.btn-inverse.disabled,
.btn-inverse[disabled],
fieldset[disabled] .btn-inverse,
.btn-inverse.disabled:hover,
.btn-inverse[disabled]:hover,
fieldset[disabled] .btn-inverse:hover,
.btn-inverse.disabled:focus,
.btn-inverse[disabled]:focus,
fieldset[disabled] .btn-inverse:focus,
.btn-inverse.disabled.focus,
.btn-inverse[disabled].focus,
fieldset[disabled] .btn-inverse.focus,
.btn-inverse.disabled:active,
.btn-inverse[disabled]:active,
fieldset[disabled] .btn-inverse:active,
.btn-inverse.disabled.active,
.btn-inverse[disabled].active,
fieldset[disabled] .btn-inverse.active {
  background-color: #424242;
  border-color: #424242;
}
.btn-inverse .badge {
  color: #424242;
  background-color: #ffffff;
}
.btn-stroke {
  background: none;
}
.btn-stroke.btn-default:hover {
  background: #efefef;
}
.btn-stroke.btn-primary {
  color: #ef4136;
}
.btn-stroke.btn-primary i {
  color: #ef4136 !important;
}
.btn-stroke.btn-primary:hover {
  background: #ef4136;
  border-color: #ef4136;
  color: #ffffff;
}
.btn-stroke.btn-primary:hover i {
  color: #ffffff !important;
}
.btn-stroke.btn-success {
  color: #8bbf61;
}
.btn-stroke.btn-success:hover {
  background: #8bbf61;
  border-color: #8bbf61;
  color: #ffffff;
}
.btn-stroke.btn-success:hover i {
  color: #ffffff !important;
}
.btn-stroke.btn-info {
  color: #4193d0;
}
.btn-stroke.btn-info:hover {
  background: #4193d0;
  border-color: #4193d0;
  color: #ffffff;
}
.btn-stroke.btn-info:hover i {
  color: #ffffff !important;
}
.btn-stroke.btn-danger {
  color: #bd362f;
}
.btn-stroke.btn-danger:hover {
  background: #bd362f;
  border-color: #bd362f;
  color: #ffffff;
}
.btn-stroke.btn-danger:hover i {
  color: #ffffff !important;
}
.btn-stroke.btn-inverse {
  color: #424242;
}
.btn-stroke.btn-inverse:hover {
  background: #424242;
  border-color: #424242;
  color: #ffffff;
}
.btn-stroke.btn-inverse:hover i {
  color: #ffffff !important;
}
.btn-stroke.btn-warning {
  color: #ab7a4b;
}
.btn-stroke.btn-warning:hover {
  background: #ab7a4b;
  border-color: #ab7a4b;
  color: #ffffff;
}
.btn-stroke.btn-warning:hover i {
  color: #ffffff !important;
}
.btn-circle {
  border-radius: 50%;
}
.btn-circle.btn {
  padding-left: 0;
  padding-right: 0;
  width: 34px;
}
.btn-icon-stacked {
  text-align: left;
  padding: 10px 10px 10px 45px;
  position: relative;
}
.btn-icon-stacked i {
  display: block;
  position: absolute;
  left: 12px;
  top: 18px;
}
.bootstrap-select .btn-white {
  color: #797979;
}
.progress {
  -webkit-box-shadow: none;
  box-shadow: none;
  border-radius: 0;
  height: 14px;
  line-height: 14px;
}
.progress-bar-default {
  background-color: #e2e2e2;
}
.progress-striped .progress-bar-default {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-inverse {
  background-color: #424242;
}
.progress-striped .progress-bar-inverse {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.ribbon-wrapper {
  width: 85px;
  z-index: 1000;
  height: 88px;
  overflow: hidden;
  position: absolute;
  top: -3px;
  right: -3px;
}
.ribbon-wrapper .ribbon {
  display: block;
  font-family: Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  text-align: center;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  position: relative;
  padding: 7px 0;
  left: -5px;
  top: 15px;
  width: 120px;
  line-height: 20px;
  background-color: #797979;
  -webkit-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.3);
}
.ribbon-wrapper .ribbon:before,
.ribbon-wrapper .ribbon:after {
  content: "";
  border-top: 2px solid #797979;
  border-left: 2px solid transparent;
  border-right: 2px solid transparent;
  position: absolute;
  bottom: -2px;
}
.ribbon-wrapper .ribbon:before {
  left: 0;
  bottom: -1px;
}
.ribbon-wrapper .ribbon:after {
  right: 0;
}
.ribbon-wrapper .ribbon.primary {
  background-color: #ef4136;
}
.ribbon-wrapper .ribbon.success {
  background-color: #8bbf61;
}
.ribbon-wrapper .ribbon.warning {
  background-color: #ab7a4b;
}
.ribbon-wrapper .ribbon.danger {
  background-color: #bd362f;
}
.ribbon-wrapper .ribbon.default {
  background-color: #e5e5e5;
  color: #595959;
}
.ribbon-wrapper .ribbon.default:before,
.ribbon-wrapper .ribbon.default:after {
  border-top: 2px solid #ccc;
}
.ribbon-wrapper.small {
  width: 65px;
  height: 68px;
}
.ribbon-wrapper.small .ribbon {
  width: 90px;
  padding: 0;
  font-size: 13px;
}
.ribbon-wrapper.small .ribbon:before {
  bottom: -2px;
}
.panel {
  box-shadow: none;
}
.panel-default .panel-heading {
  color: #fff;
  font-weight: 500;
  border-bottom: 0;
}
.panel-default .panel-heading.panel-heading-white {
  background: #fff;
  color: #707070;
}
.panel-default .panel-heading.panel-heading-white i {
  color: #ccc;
}
.panel-default .panel-heading.panel-heading-gray {
  background: #f9f9f9;
  color: #333333;
  border-bottom: 1px solid #efefef;
}
.panel-default .panel-heading.panel-heading-gray i {
  color: #ccc;
}
.panel-default .panel-heading > h1,
.panel-default .panel-heading > h2,
.panel-default .panel-heading > h3,
.panel-default .panel-heading > h4 {
  margin: 0;
}
.panel-default .panel-heading > h1 > a,
.panel-default .panel-heading > h2 > a,
.panel-default .panel-heading > h3 > a,
.panel-default .panel-heading > h4 > a {
  color: #707070;
}
.panel-default .panel-footer {
  background: #ffffff;
}
.panel-default .panel-footer.padding-none {
  padding: 0;
}
.nav-tabs {
  background: #f9f9f9;
}
.nav-tabs > li > a {
  border-radius: 0;
  margin-right: 0;
  color: #888;
}
.nav-tabs > li > a i {
  color: #ccc;
}
.nav-tabs > li.active > a {
  background: #fff;
  color: #333333;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover {
  border-top-color: #fff;
}
.tab-content {
  padding: 15px;
}
.panel .nav-tabs {
  margin-left: -1px;
}
*:focus,
.bootstrap-select .btn:focus {
  outline-width: 0 !important;
}
.form-control {
  box-shadow: none;
}
.form-control:focus {
  box-shadow: none;
}
.input-group-addon {
  color: #797979;
  background: #fff;
}
.white {
  background: #fff;
}
.form-horizontal .control-label {
  text-align: right;
}
.form-horizontal .bootstrap-select {
  width: 100% !important;
}
.datepicker {
  box-shadow: none !important;
  border-radius: 0px !important;
}
.datepicker table tr td.active.active {
  font-weight: bold;
  background: #ef4136 !important;
}
.datepicker table tr td span.active.active {
  background: #ef4136 !important;
}
.minicolors-swatch {
  border: none !important;
}
.slider {
  width: 100% !important;
}
.slider-track {
  border: 1px solid #efefef;
  box-shadow: none !important;
}
.slider-handle {
  background-color: #ffffff !important;
  background-image: none !important;
  box-shadow: none;
  opacity: 1 !important;
  border: 1px solid #efefef !important;
  border-radius: 3px !important;
  padding: 0px 2px 0 3px;
  height: 16px;
  margin-top: -6px !important;
  display: inline-block;
  color: #ef4136;
}
.slider-handle i {
  position: relative;
  top: -1px;
}
.slider-selection {
  background: #ef4136 !important;
}
.rating {
  unicode-bidi: bidi-override;
  direction: rtl;
  font-size: 20px;
}
.rating span.star {
  font-family: FontAwesome;
  font-weight: normal;
  font-style: normal;
  display: inline-block;
}
.rating span.star:hover {
  cursor: pointer;
}
.rating span.star:before {
  content: "\f006";
  padding-right: 5px;
  color: #efefef;
}
.rating span.star:hover:before,
.rating span.star.filled:before,
.rating span.star:hover ~ span.star:before {
  content: "\f005";
  color: #ef4136;
}
.text-primary {
  color: #ef4136;
}
/* VARIABLES */
svg {
  shape-rendering: geometric-precision;
  height: 100%;
}
.climacon_component-stroke {
  fill: currentColor;
  stroke-width: 0px;
}
.climacon_component-fill {
  fill: #ffffff;
  stroke-width: 0px;
  stroke: white;
}
/* SVG GLOBAL */
svg {
  shape-rendering: geometricPrecision;
}
g,
path,
circle,
rect {
  -webkit-transform-origin: 50% 50%;
  -moz-transform-origin: 50% 50%;
  -o-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  -webkit-animation-timing-function: linear;
  -moz-animation-timing-function: linear;
  animation-timing-function: linear;
  -o-animation-timing-function: linear;
  -o-animation-direction: normal;
  animation-direction: normal;
  -webkit-animation-direction: normal;
  -moz-animation-direction: normal;
  -moz-animation-iteration-count: infinite;
  -webkit-animation-iteration-count: infinite;
  -o-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -moz-animation-duration: 12s;
  -webkit-animation-duration: 12s;
  -o-animation-duration: 12s;
  animation-duration: 12s;
}
/* SUN */
.climacon_componentWrap-sun {
  -webkit-animation-name: rotate;
  -moz-animation-name: rotate;
  -o-animation-name: rotate;
  animation-name: rotate;
}
.climacon_iconWrap-sun .climacon_component-stroke_sunSpoke,
.climacon_iconWrap-sunFill .climacon_component-stroke_sunSpoke {
  fill-opacity: 1;
  -webkit-animation-name: scale;
  -moz-animation-name: scale;
  -o-animation-name: scale;
  animation-name: scale;
  -webkit-animation-direction: alternate;
  -moz-animation-direction: alternate;
  -o-animation-direction: alternate;
  animation-direction: alternate;
  -webkit-animation-duration: 3s;
  -moz-animation-duration: 3s;
  -o-animation-duration: 3s;
  animation-duration: 3s;
}
.climacon_iconWrap .climacon_component-stroke_sunSpoke:nth-child(even) {
  -webkit-animation-delay: 3s;
  -moz-animation-delay: 3s;
  -o-animation-delay: 3s;
  animation-delay: 3s;
}
/* MOON */
.climacon_componentWrap-moon {
  -webkit-animation-name: wobble;
  -moz-animation-name: wobble;
  -o-animation-name: wobble;
  animation-name: wobble;
}
/* SNOWFLAKE */
.climacon_componentWrap-snowflake {
  -webkit-animation-name: rotate;
  -moz-animation-name: rotate;
  -o-animation-name: rotate;
  animation-name: rotate;
  -webkit-animation-duration: 36s;
  -moz-animation-duration: 36s;
  -o-animation-duration: 36s;
  animation-duration: 36s;
  -webkit-animation-direction: normal;
  -moz-animation-direction: normal;
  -o-animation-direction: normal;
  animation-direction: normal;
}
/* WIND */
.climacon_componentWrap-wind {
  -webkit-animation-name: translateWind;
  -moz-animation-name: translateWind;
  -o-animation-name: translateWind;
  animation-name: translateWind;
  -webkit-animation-duration: 4s;
  -moz-animation-duration: 4s;
  -o-animation-duration: 4s;
  animation-duration: 4s;
  -webkit-animation-direction: alternate;
  -moz-animation-direction: alternate;
  -o-animation-direction: alternate;
  animation-direction: alternate;
  -webkit-animation-timing-function: ease-in-out;
  -moz-animation-timing-function: ease-in-out;
  -o-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
}
/* CLOUD SUN */
.climacon_componentWrap-sun_cloud {
  -webkit-animation-name: behindCloudMove, rotate;
  -moz-animation-name: behindCloudMove, rotate;
  -o-animation-name: behindCloudMove, rotate;
  animation-name: behindCloudMove, rotate;
  -webkit-animation-iteration-count: 1, infinite;
  -moz-animation-iteration-count: 1, infinite;
  -o-animation-iteration-count: 1, infinite;
  animation-iteration-count: 1, infinite;
  -webkit-animation-timing-function: ease-out, linear;
  -moz-animation-timing-function: ease-out, linear;
  -o-animation-timing-function: ease-out, linear;
  animation-timing-function: ease-out, linear;
  -webkit-animation-delay: 0, 3s;
  -moz-animation-delay: 0, 3s;
  -o-animation-delay: 0, 3s;
  animation-delay: 0, 3s;
  -webkit-animation-duration: 3s, 12s;
  -moz-animation-duration: 3s, 12s;
  -o-animation-duration: 3s, 12s;
  animation-duration: 3s, 12s;
}
.climacon_component-stroke_sunSpoke {
  fill-opacity: 0;
  -webkit-animation-name: fillOpacity, scale;
  -moz-animation-name: fillOpacity, scale;
  -o-animation-name: fillOpacity, scale;
  animation-name: fillOpacity, scale;
  -webkit-animation-direction: alternate;
  -moz-animation-direction: alternate;
  -o-animation-direction: alternate;
  animation-direction: alternate;
  -webkit-animation-iteration-count: 1, infinite;
  -moz-animation-iteration-count: 1, infinite;
  -o-animation-iteration-count: 1, infinite;
  animation-iteration-count: 1, infinite;
  -webkit-animation-delay: 3s, 0;
  -moz-animation-delay: 3s, 0;
  -o-animation-delay: 3s, 0;
  animation-delay: 3s, 0;
  -webkit-animation-duration: 3s;
  -moz-animation-duration: 3s;
  -o-animation-duration: 3s;
  animation-duration: 3s;
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  -o-animation-fill-mode: both;
  animation-fill-mode: both;
}
.climacon_component-stroke_sunSpoke:nth-child(even) {
  -webkit-animation-delay: 3s;
  -moz-animation-delay: 3s;
  -o-animation-delay: 3s;
  animation-delay: 3s;
}
/* CLOUD MOON */
.climacon_componentWrap-moon_cloud {
  -webkit-animation-name: behindCloudMove, wobble;
  -moz-animation-name: behindCloudMove, wobble;
  -o-animation-name: behindCloudMove, wobble;
  animation-name: behindCloudMove, wobble;
  -webkit-animation-iteration-count: 1, infinite;
  -moz-animation-iteration-count: 1, infinite;
  -o-animation-iteration-count: 1, infinite;
  animation-iteration-count: 1, infinite;
  -webkit-animation-timing-function: ease-out, linear;
  -moz-animation-timing-function: ease-out, linear;
  -o-animation-timing-function: ease-out, linear;
  animation-timing-function: ease-out, linear;
  -webkit-animation-delay: 0, 3s;
  -moz-animation-delay: 0, 3s;
  -o-animation-delay: 0, 3s;
  animation-delay: 0, 3s;
  -webkit-animation-duration: 3s, 12s;
  -moz-animation-duration: 3s, 12s;
  -o-animation-duration: 3s, 12s;
  animation-duration: 3s, 12s;
}
/* DRIZZLE */
.climacon_component-stroke_drizzle {
  fill-opacity: 0;
  -webkit-animation-name: drizzleFall, fillOpacity2;
  -moz-animation-name: drizzleFall, fillOpacity2;
  -o-animation-name: drizzleFall, fillOpacity2;
  animation-name: drizzleFall, fillOpacity2;
  -webkit-animation-timing-function: ease-in;
  -moz-animation-timing-function: ease-in;
  -o-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
  -webkit-animation-duration: 1s;
  -moz-animation-duration: 1s;
  -o-animation-duration: 1s;
  animation-duration: 1s;
}
.climacon_component-stroke_drizzle:nth-child(1) {
  -webkit-animation-delay: 0s;
  -moz-animation-delay: 0s;
  -o-animation-delay: 0s;
  animation-delay: 0s;
}
.climacon_component-stroke_drizzle:nth-child(2) {
  -webkit-animation-delay: 0.6s;
  -moz-animation-delay: 0.6s;
  -o-animation-delay: 0.6s;
  animation-delay: 0.6s;
}
.climacon_component-stroke_drizzle:nth-child(3) {
  -webkit-animation-delay: 1.2s;
  -moz-animation-delay: 1.2s;
  -o-animation-delay: 1.2s;
  animation-delay: 1.2s;
}
/* RAIN */
.climacon_component-stroke_rain {
  fill-opacity: 0;
  -webkit-animation-name: rainFall, fillOpacity2;
  -webkit-animation-timing-function: ease-in;
  -webkit-animation-duration: 2s;
  -moz-animation-name: rainFall, fillOpacity2;
  -moz-animation-timing-function: ease-in;
  -moz-animation-duration: 2s;
  -o-animation-name: rainFall, fillOpacity2;
  -o-animation-timing-function: ease-in;
  -o-animation-duration: 2s;
  animation-name: rainFall, fillOpacity2;
  animation-timing-function: ease-in;
  animation-duration: 2s;
}
.climacon_component-stroke_rain:nth-child(n+4) {
  -webkit-animation-delay: 1s;
  -moz-animation-delay: 1s;
  -o-animation-delay: 1s;
  animation-delay: 1s;
}
.climacon_component-stroke_rain_alt:nth-child(2) {
  -webkit-animation-delay: 1s;
  -moz-animation-delay: 1s;
  -o-animation-delay: 1s;
  animation-delay: 1s;
}
/* HAIL */
/* HAIL ALT */
.climacon_component-stroke_hailAlt {
  fill-opacity: 0;
  -webkit-animation-timing-function: ease-in;
  -moz-animation-timing-function: ease-in;
  -o-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
  -webkit-animation-duration: 0.66667s;
  -moz-animation-duration: 0.66667s;
  -o-animation-duration: 0.66667s;
  animation-duration: 0.66667s;
}
.climacon_component-stroke_hailAlt-left {
  -webkit-animation-name: hailLeft, fillOpacity2;
  -moz-animation-name: hailLeft, fillOpacity2;
  -o-animation-name: hailLeft, fillOpacity2;
  animation-name: hailLeft, fillOpacity2;
}
.climacon_component-stroke_hailAlt-middle {
  -webkit-animation-name: hailMiddle, fillOpacity2;
  -moz-animation-name: hailMiddle, fillOpacity2;
  -o-animation-name: hailMiddle, fillOpacity2;
  animation-name: hailMiddle, fillOpacity2;
}
.climacon_component-stroke_hailAlt-middle:nth-child(2) {
  -webkit-animation-name: hailMiddle2, fillOpacity2;
  -moz-animation-name: hailMiddle2, fillOpacity2;
  -o-animation-name: hailMiddle2, fillOpacity2;
  animation-name: hailMiddle2, fillOpacity2;
}
.climacon_component-stroke_hailAlt-right {
  -webkit-animation-name: hailRight, fillOpacity2;
  -moz-animation-name: hailRight, fillOpacity2;
  -o-animation-name: hailRight, fillOpacity2;
  animation-name: hailRight, fillOpacity2;
}
.climacon_component-stroke_hailAlt:nth-child(1) {
  -webkit-animation-delay: 0s;
  -moz-animation-delay: 0s;
  -o-animation-delay: 0s;
  animation-delay: 0s;
}
.climacon_component-stroke_hailAlt:nth-child(2) {
  -webkit-animation-delay: 0.11111s;
  -moz-animation-delay: 0.11111s;
  -o-animation-delay: 0.11111s;
  animation-delay: 0.11111s;
}
.climacon_component-stroke_hailAlt:nth-child(3) {
  -webkit-animation-delay: 0.22222s;
  -moz-animation-delay: 0.22222s;
  -o-animation-delay: 0.22222s;
  animation-delay: 0.22222s;
}
.climacon_component-stroke_hailAlt:nth-child(4) {
  -webkit-animation-delay: 0.33333s;
  -moz-animation-delay: 0.33333s;
  -o-animation-delay: 0.33333s;
  animation-delay: 0.33333s;
}
.climacon_component-stroke_hailAlt:nth-child(5) {
  -webkit-animation-delay: 0.44444s;
  -moz-animation-delay: 0.44444s;
  -o-animation-delay: 0.44444s;
  animation-delay: 0.44444s;
}
.climacon_component-stroke_hailAlt:nth-child(6) {
  -webkit-animation-delay: 0.55556s;
  -moz-animation-delay: 0.55556s;
  -o-animation-delay: 0.55556s;
  animation-delay: 0.55556s;
}
/* SNOW */
.climacon_component-stroke_snow {
  fill-opacity: 0;
  -webkit-animation-name: snowFall, fillOpacity2;
  -moz-animation-name: snowFall, fillOpacity2;
  -o-animation-name: snowFall, fillOpacity2;
  animation-name: snowFall, fillOpacity2;
  -webkit-animation-timing-function: ease-in-out;
  -moz-animation-timing-function: ease-in-out;
  -o-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-duration: 6s;
  -moz-animation-duration: 6s;
  -o-animation-duration: 6s;
  animation-duration: 6s;
}
.climacon_component-stroke_snow:nth-child(3) {
  -webkit-animation-name: snowFall2, fillOpacity2;
  -moz-animation-name: snowFall2, fillOpacity2;
  -o-animation-name: snowFall2, fillOpacity2;
  animation-name: snowFall2, fillOpacity2;
}
.climacon_component-stroke_snow:nth-child(1) {
  -webkit-animation-delay: 0s;
  -moz-animation-delay: 0s;
  -o-animation-delay: 0s;
  animation-delay: 0s;
}
.climacon_component-stroke_snow:nth-child(2) {
  -webkit-animation-delay: 2s;
  -moz-animation-delay: 2s;
  -o-animation-delay: 2s;
  animation-delay: 2s;
}
.climacon_component-stroke_snow:nth-child(3) {
  -webkit-animation-delay: 4s;
  -moz-animation-delay: 4s;
  -o-animation-delay: 4s;
  animation-delay: 4s;
}
/* SNOW ALT */
.climacon_component-snowAlt {
  fill-opacity: 0;
  -webkit-animation-name: snowFall, fillOpacity2;
  -moz-animation-name: snowFall, fillOpacity2;
  -o-animation-name: snowFall, fillOpacity2;
  animation-name: snowFall, fillOpacity2;
  -webkit-animation-timing-function: ease-in-out;
  -moz-animation-timing-function: ease-in-out;
  -o-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-duration: 6s;
  -moz-animation-duration: 6s;
  -o-animation-duration: 6s;
  animation-duration: 6s;
}
/* FOG */
.climacon_component-stroke_fogLine {
  fill-opacity: 0.5;
  -webkit-animation-name: translateFog, fillOpacityFog;
  -moz-animation-name: translateFog, fillOpacityFog;
  -o-animation-name: translateFog, fillOpacityFog;
  animation-name: translateFog, fillOpacityFog;
  -webkit-animation-iteration-count: infinite;
  -moz-animation-iteration-count: infinite;
  -o-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-direction: normal;
  -moz-animation-direction: normal;
  -o-animation-direction: normal;
  animation-direction: normal;
  -webkit-animation-timing-function: ease-in;
  -moz-animation-timing-function: ease-in;
  -o-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
  -webkit-animation-duration: 12s;
  -moz-animation-duration: 12s;
  -o-animation-duration: 12s;
  animation-duration: 12s;
}
.climacon_component-stroke_fogLine:nth-child(even) {
  -webkit-animation-delay: 6s;
  -moz-animation-delay: 6s;
  -o-animation-delay: 6s;
  animation-delay: 6s;
}
/* LIGHTNING */
.climacon_component-stroke_lightning {
  fill-opacity: 0;
  -webkit-animation-name: lightningFlash;
  -moz-animation-name: lightningFlash;
  -o-animation-name: lightningFlash;
  animation-name: lightningFlash;
  -webkit-animation-iteration-count: infinite;
  -moz-animation-iteration-count: infinite;
  -o-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-direction: normal;
  -moz-animation-direction: normal;
  -o-animation-direction: normal;
  animation-direction: normal;
  -webkit-animation-timing-function: ease-out;
  -moz-animation-timing-function: ease-out;
  -o-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
  -webkit-animation-duration: 12s;
  -moz-animation-duration: 12s;
  -o-animation-duration: 12s;
  animation-duration: 12s;
}
/* TORNADO */
.climacon_component-stroke_tornadoLine {
  -webkit-animation-name: translateTornado1;
  -moz-animation-name: translateTornado1;
  -o-animation-name: translateTornado1;
  animation-name: translateTornado1;
  -webkit-animation-iteration-count: infinite;
  -moz-animation-iteration-count: infinite;
  -o-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-direction: alternate;
  -moz-animation-direction: alternate;
  -o-animation-direction: alternate;
  animation-direction: alternate;
  -webkit-animation-timing-function: ease-in-out;
  -moz-animation-timing-function: ease-in-out;
  -o-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-duration: 12s;
  -moz-animation-duration: 12s;
  -o-animation-duration: 12s;
  animation-duration: 12s;
}
.climacon_component-stroke_tornadoLine:nth-child(1) {
  -webkit-animation-name: translateTornado1;
  -moz-animation-name: translateTornado1;
  -o-animation-name: translateTornado1;
  animation-name: translateTornado1;
}
.climacon_component-stroke_tornadoLine:nth-child(2) {
  -webkit-animation-name: translateTornado2;
  -moz-animation-name: translateTornado2;
  -o-animation-name: translateTornado2;
  animation-name: translateTornado2;
}
.climacon_component-stroke_tornadoLine:nth-child(3) {
  -webkit-animation-name: translateTornado3;
  -moz-animation-name: translateTornado3;
  -o-animation-name: translateTornado3;
  animation-name: translateTornado3;
}
.climacon_component-stroke_tornadoLine:nth-child(4) {
  -webkit-animation-name: translateTornado4;
  -moz-animation-name: translateTornado4;
  -o-animation-name: translateTornado4;
  animation-name: translateTornado4;
}
.climacon_component-stroke_tornadoLine:nth-child(5) {
  -webkit-animation-name: translateTornado5;
  -moz-animation-name: translateTornado5;
  -o-animation-name: translateTornado5;
  animation-name: translateTornado5;
}
.climacon_component-stroke_tornadoLine:nth-child(6) {
  -webkit-animation-name: translateTornado6;
  -moz-animation-name: translateTornado6;
  -o-animation-name: translateTornado6;
  animation-name: translateTornado6;
}
.climacon_component-stroke_arrow-up {
  fill-opacity: 0;
  -webkit-animation-name: fillOpacity2, translateArrowUp;
  -moz-animation-name: fillOpacity2, translateArrowUp;
  -o-animation-name: fillOpacity2, translateArrowUp;
  animation-name: fillOpacity2, translateArrowUp;
  -webkit-animation-duration: 3s;
  -moz-animation-duration: 3s;
  -o-animation-duration: 3s;
  animation-duration: 3s;
}
.climacon_component-stroke_arrow-down {
  fill-opacity: 0;
  -webkit-animation-name: fillOpacity2, translateArrowDown;
  -moz-animation-name: fillOpacity2, translateArrowDown;
  -o-animation-name: fillOpacity2, translateArrowDown;
  animation-name: fillOpacity2, translateArrowDown;
  -webkit-animation-duration: 3s;
  -moz-animation-duration: 3s;
  -o-animation-duration: 3s;
  animation-duration: 3s;
}
.climacon_componentWrap-sunriseAlt {
  -webkit-animation-name: translateSunrise, fillOpacity;
  -moz-animation-name: translateSunrise, fillOpacity;
  -o-animation-name: translateSunrise, fillOpacity;
  animation-name: translateSunrise, fillOpacity;
  -webkit-animation-duration: 12s, 6s;
  -moz-animation-duration: 12s, 6s;
  -o-animation-duration: 12s, 6s;
  animation-duration: 12s, 6s;
  -webkit-animation-direction: normal;
  -moz-animation-direction: normal;
  -o-animation-direction: normal;
  animation-direction: normal;
  -webkit-animation-iteration-count: 1;
  -moz-animation-iteration-count: 1;
  -o-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
  -moz-animation-fill-mode: forwards;
  -o-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
.climacon_componentWrap-sunsetAlt {
  -webkit-animation-name: translateSunset;
  -moz-animation-name: translateSunset;
  -o-animation-name: translateSunset;
  animation-name: translateSunset;
  -webkit-animation-delay: 0;
  -moz-animation-delay: 0;
  -o-animation-delay: 0;
  animation-delay: 0;
  -webkit-animation-duration: 12s;
  -moz-animation-duration: 12s;
  -o-animation-duration: 12s;
  animation-duration: 12s;
  -webkit-animation-direction: normal;
  -moz-animation-direction: normal;
  -o-animation-direction: normal;
  animation-direction: normal;
  -webkit-animation-iteration-count: 1;
  -moz-animation-iteration-count: 1;
  -o-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
  -moz-animation-fill-mode: forwards;
  -o-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
/* ANIMATIONS */
@-webkit-keyframes rotate {
  0% {
    -webkit-transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
  }
}
@-moz-keyframes rotate {
  0% {
    -moz-transform: rotate(0);
  }
  100% {
    -moz-transform: rotate(360deg);
  }
}
@-o-keyframes rotate {
  0% {
    -o-transform: rotate(0);
  }
  100% {
    -o-transform: rotate(360deg);
  }
}
@keyframes rotate {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
@-webkit-keyframes wobble {
  0% {
    -webkit-transform: rotate(0);
  }
  25% {
    -webkit-transform: rotate(-15deg);
  }
  50% {
    -webkit-transform: rotate(0);
  }
  75% {
    -webkit-transform: rotate(15deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
  }
}
@-moz-keyframes wobble {
  0% {
    -moz-transform: rotate(0);
  }
  25% {
    -moz-transform: rotate(-15deg);
  }
  50% {
    -moz-transform: rotate(0);
  }
  75% {
    -moz-transform: rotate(15deg);
  }
  100% {
    -moz-transform: rotate(0deg);
  }
}
@-o-keyframes wobble {
  0% {
    -o-transform: rotate(0);
  }
  25% {
    -o-transform: rotate(-15deg);
  }
  50% {
    -o-transform: rotate(0);
  }
  75% {
    -o-transform: rotate(15deg);
  }
  100% {
    -o-transform: rotate(0deg);
  }
}
@keyframes wobble {
  0% {
    transform: rotate(0);
  }
  25% {
    transform: rotate(-15deg);
  }
  50% {
    transform: rotate(0);
  }
  75% {
    transform: rotate(15deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@-webkit-keyframes scale {
  0% {
    -webkit-transform: scale(1, 1);
  }
  100% {
    -webkit-transform: scale(0.5, 0.5);
  }
}
@-moz-keyframes scale {
  0% {
    -moz-transform: scale(1, 1);
  }
  100% {
    -moz-transform: scale(0.5, 0.5);
  }
}
@-o-keyframes scale {
  0% {
    -o-transform: scale(1, 1);
  }
  100% {
    -o-transform: scale(0.5, 0.5);
  }
}
@keyframes scale {
  0% {
    transform: scale(1, 1);
  }
  100% {
    transform: scale(0.5, 0.5);
  }
}
@-webkit-keyframes behindCloudMove {
  0% {
    -webkit-transform: translateX(-1.75px) translateY(1.75px);
  }
  100% {
    -webkit-transform: translateX(0) translateY(0);
  }
}
@-moz-keyframes behindCloudMove {
  0% {
    -moz-transform: translateX(-1.75px) translateY(1.75px);
  }
  100% {
    -moz-transform: translateX(0) translateY(0);
  }
}
@-o-keyframes behindCloudMove {
  0% {
    -o-transform: translateX(-1.75px) translateY(1.75px);
  }
  100% {
    -o-transform: translateX(0) translateY(0);
  }
}
@keyframes behindCloudMove {
  0% {
    transform: translateX(-1.75px) translateY(1.75px);
  }
  100% {
    transform: translateX(0) translateY(0);
  }
}
@-webkit-keyframes drizzleFall {
  0% {
    -webkit-transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(21px);
  }
}
@-moz-keyframes drizzleFall {
  0% {
    -moz-transform: translateY(0);
  }
  100% {
    -moz-transform: translateY(21px);
  }
}
@-o-keyframes drizzleFall {
  0% {
    -o-transform: translateY(0);
  }
  100% {
    -o-transform: translateY(21px);
  }
}
@keyframes drizzleFall {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(21px);
  }
}
@-webkit-keyframes rainFall {
  0% {
    -webkit-transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(14px);
  }
}
@-moz-keyframes rainFall {
  0% {
    -moz-transform: translateY(0);
  }
  100% {
    -moz-transform: translateY(14px);
  }
}
@-o-keyframes rainFall {
  0% {
    -o-transform: translateY(0);
  }
  100% {
    -o-transform: translateY(14px);
  }
}
@keyframes rainFall {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(14px);
  }
}
@-webkit-keyframes rainFall2 {
  0% {
    -webkit-transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(14px);
  }
  100% {
    -webkit-transform: translateX(14px) translateY(14px);
  }
}
@-moz-keyframes rainFall2 {
  0% {
    -moz-transform: translateY(0);
  }
  50% {
    -moz-transform: translateY(14px);
  }
  100% {
    -moz-transform: translateX(14px) translateY(14px);
  }
}
@-o-keyframes rainFall2 {
  0% {
    -o-transform: translateY(0);
  }
  50% {
    -o-transform: translateY(14px);
  }
  100% {
    -o-transform: translateX(14px) translateY(14px);
  }
}
@keyframes rainFall2 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(14px);
  }
  100% {
    transform: translateX(14px) translateY(14px);
  }
}
@-webkit-keyframes hailLeft {
  50% {
    -webkit-transform: translateY(17.5px);
  }
  51% {
    -webkit-transform: translateY(17.5px) translateX(-0.3px);
  }
  52% {
    -webkit-transform: translateY(16.95058px) translateX(-0.6px);
  }
  53% {
    -webkit-transform: translateY(16.40333px) translateX(-0.9px);
  }
  54% {
    -webkit-transform: translateY(15.86041px) translateX(-1.2px);
  }
  55% {
    -webkit-transform: translateY(15.32396px) translateX(-1.5px);
  }
  56% {
    -webkit-transform: translateY(14.7961px) translateX(-1.8px);
  }
  57% {
    -webkit-transform: translateY(14.27891px) translateX(-2.1px);
  }
  58% {
    -webkit-transform: translateY(13.77443px) translateX(-2.4px);
  }
  59% {
    -webkit-transform: translateY(13.28466px) translateX(-2.7px);
  }
  60% {
    -webkit-transform: translateY(12.81152px) translateX(-3px);
  }
  61% {
    -webkit-transform: translateY(12.35688px) translateX(-3.3px);
  }
  62% {
    -webkit-transform: translateY(11.92254px) translateX(-3.6px);
  }
  63% {
    -webkit-transform: translateY(11.51021px) translateX(-3.9px);
  }
  64% {
    -webkit-transform: translateY(11.12152px) translateX(-4.2px);
  }
  65% {
    -webkit-transform: translateY(10.75801px) translateX(-4.5px);
  }
  66% {
    -webkit-transform: translateY(10.4211px) translateX(-4.8px);
  }
  67% {
    -webkit-transform: translateY(10.11213px) translateX(-5.1px);
  }
  68% {
    -webkit-transform: translateY(9.83232px) translateX(-5.4px);
  }
  69% {
    -webkit-transform: translateY(9.58276px) translateX(-5.7px);
  }
  70% {
    -webkit-transform: translateY(9.36446px) translateX(-6px);
  }
  71% {
    -webkit-transform: translateY(9.17826px) translateX(-6.3px);
  }
  72% {
    -webkit-transform: translateY(9.0249px) translateX(-6.6px);
  }
  73% {
    -webkit-transform: translateY(8.90499px) translateX(-6.9px);
  }
  74% {
    -webkit-transform: translateY(8.819px) translateX(-7.2px);
  }
  75% {
    -webkit-transform: translateY(8.76727px) translateX(-7.5px);
  }
  76% {
    -webkit-transform: translateY(8.75px) translateX(-7.8px);
  }
  77% {
    -webkit-transform: translateY(8.76727px) translateX(-8.1px);
  }
  78% {
    -webkit-transform: translateY(8.819px) translateX(-8.4px);
  }
  79% {
    -webkit-transform: translateY(8.90499px) translateX(-8.7px);
  }
  80% {
    -webkit-transform: translateY(9.0249px) translateX(-9px);
  }
  81% {
    -webkit-transform: translateY(9.17826px) translateX(-9.3px);
  }
  82% {
    -webkit-transform: translateY(9.36446px) translateX(-9.6px);
  }
  83% {
    -webkit-transform: translateY(9.58276px) translateX(-9.9px);
  }
  84% {
    -webkit-transform: translateY(9.83232px) translateX(-10.2px);
  }
  85% {
    -webkit-transform: translateY(10.11213px) translateX(-10.5px);
  }
  86% {
    -webkit-transform: translateY(10.4211px) translateX(-10.8px);
  }
  87% {
    -webkit-transform: translateY(10.75801px) translateX(-11.1px);
  }
  88% {
    -webkit-transform: translateY(11.12152px) translateX(-11.4px);
  }
  89% {
    -webkit-transform: translateY(11.51021px) translateX(-11.7px);
  }
  90% {
    -webkit-transform: translateY(11.92254px) translateX(-12px);
  }
  91% {
    -webkit-transform: translateY(12.35688px) translateX(-12.3px);
  }
  92% {
    -webkit-transform: translateY(12.81152px) translateX(-12.6px);
  }
  93% {
    -webkit-transform: translateY(13.28466px) translateX(-12.9px);
  }
  94% {
    -webkit-transform: translateY(13.77443px) translateX(-13.2px);
  }
  95% {
    -webkit-transform: translateY(14.27891px) translateX(-13.5px);
  }
  96% {
    -webkit-transform: translateY(14.7961px) translateX(-13.8px);
  }
  97% {
    -webkit-transform: translateY(15.32396px) translateX(-14.1px);
  }
  98% {
    -webkit-transform: translateY(15.86041px) translateX(-14.4px);
  }
  99% {
    -webkit-transform: translateY(16.40333px) translateX(-14.7px);
  }
  100% {
    -webkit-transform: translateY(16.95058px) translateX(-15px);
  }
}
@-webkit-keyframes hailMiddle {
  50% {
    -webkit-transform: translateY(17.5px);
  }
  51% {
    -webkit-transform: translateY(17.5px) translateX(-0.15px);
  }
  52% {
    -webkit-transform: translateY(16.95058px) translateX(-0.3px);
  }
  53% {
    -webkit-transform: translateY(16.40333px) translateX(-0.45px);
  }
  54% {
    -webkit-transform: translateY(15.86041px) translateX(-0.6px);
  }
  55% {
    -webkit-transform: translateY(15.32396px) translateX(-0.75px);
  }
  56% {
    -webkit-transform: translateY(14.7961px) translateX(-0.9px);
  }
  57% {
    -webkit-transform: translateY(14.27891px) translateX(-1.05px);
  }
  58% {
    -webkit-transform: translateY(13.77443px) translateX(-1.2px);
  }
  59% {
    -webkit-transform: translateY(13.28466px) translateX(-1.35px);
  }
  60% {
    -webkit-transform: translateY(12.81152px) translateX(-1.5px);
  }
  61% {
    -webkit-transform: translateY(12.35688px) translateX(-1.65px);
  }
  62% {
    -webkit-transform: translateY(11.92254px) translateX(-1.8px);
  }
  63% {
    -webkit-transform: translateY(11.51021px) translateX(-1.95px);
  }
  64% {
    -webkit-transform: translateY(11.12152px) translateX(-2.1px);
  }
  65% {
    -webkit-transform: translateY(10.75801px) translateX(-2.25px);
  }
  66% {
    -webkit-transform: translateY(10.4211px) translateX(-2.4px);
  }
  67% {
    -webkit-transform: translateY(10.11213px) translateX(-2.55px);
  }
  68% {
    -webkit-transform: translateY(9.83232px) translateX(-2.7px);
  }
  69% {
    -webkit-transform: translateY(9.58276px) translateX(-2.85px);
  }
  70% {
    -webkit-transform: translateY(9.36446px) translateX(-3px);
  }
  71% {
    -webkit-transform: translateY(9.17826px) translateX(-3.15px);
  }
  72% {
    -webkit-transform: translateY(9.0249px) translateX(-3.3px);
  }
  73% {
    -webkit-transform: translateY(8.90499px) translateX(-3.45px);
  }
  74% {
    -webkit-transform: translateY(8.819px) translateX(-3.6px);
  }
  75% {
    -webkit-transform: translateY(8.76727px) translateX(-3.75px);
  }
  76% {
    -webkit-transform: translateY(8.75px) translateX(-3.9px);
  }
  77% {
    -webkit-transform: translateY(8.76727px) translateX(-4.05px);
  }
  78% {
    -webkit-transform: translateY(8.819px) translateX(-4.2px);
  }
  79% {
    -webkit-transform: translateY(8.90499px) translateX(-4.35px);
  }
  80% {
    -webkit-transform: translateY(9.0249px) translateX(-4.5px);
  }
  81% {
    -webkit-transform: translateY(9.17826px) translateX(-4.65px);
  }
  82% {
    -webkit-transform: translateY(9.36446px) translateX(-4.8px);
  }
  83% {
    -webkit-transform: translateY(9.58276px) translateX(-4.95px);
  }
  84% {
    -webkit-transform: translateY(9.83232px) translateX(-5.1px);
  }
  85% {
    -webkit-transform: translateY(10.11213px) translateX(-5.25px);
  }
  86% {
    -webkit-transform: translateY(10.4211px) translateX(-5.4px);
  }
  87% {
    -webkit-transform: translateY(10.75801px) translateX(-5.55px);
  }
  88% {
    -webkit-transform: translateY(11.12152px) translateX(-5.7px);
  }
  89% {
    -webkit-transform: translateY(11.51021px) translateX(-5.85px);
  }
  90% {
    -webkit-transform: translateY(11.92254px) translateX(-6px);
  }
  91% {
    -webkit-transform: translateY(12.35688px) translateX(-6.15px);
  }
  92% {
    -webkit-transform: translateY(12.81152px) translateX(-6.3px);
  }
  93% {
    -webkit-transform: translateY(13.28466px) translateX(-6.45px);
  }
  94% {
    -webkit-transform: translateY(13.77443px) translateX(-6.6px);
  }
  95% {
    -webkit-transform: translateY(14.27891px) translateX(-6.75px);
  }
  96% {
    -webkit-transform: translateY(14.7961px) translateX(-6.9px);
  }
  97% {
    -webkit-transform: translateY(15.32396px) translateX(-7.05px);
  }
  98% {
    -webkit-transform: translateY(15.86041px) translateX(-7.2px);
  }
  99% {
    -webkit-transform: translateY(16.40333px) translateX(-7.35px);
  }
  100% {
    -webkit-transform: translateY(16.95058px) translateX(-7.5px);
  }
}
@-webkit-keyframes hailMiddle2 {
  50% {
    -webkit-transform: translateY(17.5px);
  }
  51% {
    -webkit-transform: translateY(17.5px) translateX(0.15px);
  }
  52% {
    -webkit-transform: translateY(16.95058px) translateX(0.3px);
  }
  53% {
    -webkit-transform: translateY(16.40333px) translateX(0.45px);
  }
  54% {
    -webkit-transform: translateY(15.86041px) translateX(0.6px);
  }
  55% {
    -webkit-transform: translateY(15.32396px) translateX(0.75px);
  }
  56% {
    -webkit-transform: translateY(14.7961px) translateX(0.9px);
  }
  57% {
    -webkit-transform: translateY(14.27891px) translateX(1.05px);
  }
  58% {
    -webkit-transform: translateY(13.77443px) translateX(1.2px);
  }
  59% {
    -webkit-transform: translateY(13.28466px) translateX(1.35px);
  }
  60% {
    -webkit-transform: translateY(12.81152px) translateX(1.5px);
  }
  61% {
    -webkit-transform: translateY(12.35688px) translateX(1.65px);
  }
  62% {
    -webkit-transform: translateY(11.92254px) translateX(1.8px);
  }
  63% {
    -webkit-transform: translateY(11.51021px) translateX(1.95px);
  }
  64% {
    -webkit-transform: translateY(11.12152px) translateX(2.1px);
  }
  65% {
    -webkit-transform: translateY(10.75801px) translateX(2.25px);
  }
  66% {
    -webkit-transform: translateY(10.4211px) translateX(2.4px);
  }
  67% {
    -webkit-transform: translateY(10.11213px) translateX(2.55px);
  }
  68% {
    -webkit-transform: translateY(9.83232px) translateX(2.7px);
  }
  69% {
    -webkit-transform: translateY(9.58276px) translateX(2.85px);
  }
  70% {
    -webkit-transform: translateY(9.36446px) translateX(3px);
  }
  71% {
    -webkit-transform: translateY(9.17826px) translateX(3.15px);
  }
  72% {
    -webkit-transform: translateY(9.0249px) translateX(3.3px);
  }
  73% {
    -webkit-transform: translateY(8.90499px) translateX(3.45px);
  }
  74% {
    -webkit-transform: translateY(8.819px) translateX(3.6px);
  }
  75% {
    -webkit-transform: translateY(8.76727px) translateX(3.75px);
  }
  76% {
    -webkit-transform: translateY(8.75px) translateX(3.9px);
  }
  77% {
    -webkit-transform: translateY(8.76727px) translateX(4.05px);
  }
  78% {
    -webkit-transform: translateY(8.819px) translateX(4.2px);
  }
  79% {
    -webkit-transform: translateY(8.90499px) translateX(4.35px);
  }
  80% {
    -webkit-transform: translateY(9.0249px) translateX(4.5px);
  }
  81% {
    -webkit-transform: translateY(9.17826px) translateX(4.65px);
  }
  82% {
    -webkit-transform: translateY(9.36446px) translateX(4.8px);
  }
  83% {
    -webkit-transform: translateY(9.58276px) translateX(4.95px);
  }
  84% {
    -webkit-transform: translateY(9.83232px) translateX(5.1px);
  }
  85% {
    -webkit-transform: translateY(10.11213px) translateX(5.25px);
  }
  86% {
    -webkit-transform: translateY(10.4211px) translateX(5.4px);
  }
  87% {
    -webkit-transform: translateY(10.75801px) translateX(5.55px);
  }
  88% {
    -webkit-transform: translateY(11.12152px) translateX(5.7px);
  }
  89% {
    -webkit-transform: translateY(11.51021px) translateX(5.85px);
  }
  90% {
    -webkit-transform: translateY(11.92254px) translateX(6px);
  }
  91% {
    -webkit-transform: translateY(12.35688px) translateX(6.15px);
  }
  92% {
    -webkit-transform: translateY(12.81152px) translateX(6.3px);
  }
  93% {
    -webkit-transform: translateY(13.28466px) translateX(6.45px);
  }
  94% {
    -webkit-transform: translateY(13.77443px) translateX(6.6px);
  }
  95% {
    -webkit-transform: translateY(14.27891px) translateX(6.75px);
  }
  96% {
    -webkit-transform: translateY(14.7961px) translateX(6.9px);
  }
  97% {
    -webkit-transform: translateY(15.32396px) translateX(7.05px);
  }
  98% {
    -webkit-transform: translateY(15.86041px) translateX(7.2px);
  }
  99% {
    -webkit-transform: translateY(16.40333px) translateX(7.35px);
  }
  100% {
    -webkit-transform: translateY(16.95058px) translateX(7.5px);
  }
}
@-webkit-keyframes hailRight {
  50% {
    -webkit-transform: translateY(17.5px);
  }
  51% {
    -webkit-transform: translateY(17.5px) translateX(0.3px);
  }
  52% {
    -webkit-transform: translateY(16.95058px) translateX(0.6px);
  }
  53% {
    -webkit-transform: translateY(16.40333px) translateX(0.9px);
  }
  54% {
    -webkit-transform: translateY(15.86041px) translateX(1.2px);
  }
  55% {
    -webkit-transform: translateY(15.32396px) translateX(1.5px);
  }
  56% {
    -webkit-transform: translateY(14.7961px) translateX(1.8px);
  }
  57% {
    -webkit-transform: translateY(14.27891px) translateX(2.1px);
  }
  58% {
    -webkit-transform: translateY(13.77443px) translateX(2.4px);
  }
  59% {
    -webkit-transform: translateY(13.28466px) translateX(2.7px);
  }
  60% {
    -webkit-transform: translateY(12.81152px) translateX(3px);
  }
  61% {
    -webkit-transform: translateY(12.35688px) translateX(3.3px);
  }
  62% {
    -webkit-transform: translateY(11.92254px) translateX(3.6px);
  }
  63% {
    -webkit-transform: translateY(11.51021px) translateX(3.9px);
  }
  64% {
    -webkit-transform: translateY(11.12152px) translateX(4.2px);
  }
  65% {
    -webkit-transform: translateY(10.75801px) translateX(4.5px);
  }
  66% {
    -webkit-transform: translateY(10.4211px) translateX(4.8px);
  }
  67% {
    -webkit-transform: translateY(10.11213px) translateX(5.1px);
  }
  68% {
    -webkit-transform: translateY(9.83232px) translateX(5.4px);
  }
  69% {
    -webkit-transform: translateY(9.58276px) translateX(5.7px);
  }
  70% {
    -webkit-transform: translateY(9.36446px) translateX(6px);
  }
  71% {
    -webkit-transform: translateY(9.17826px) translateX(6.3px);
  }
  72% {
    -webkit-transform: translateY(9.0249px) translateX(6.6px);
  }
  73% {
    -webkit-transform: translateY(8.90499px) translateX(6.9px);
  }
  74% {
    -webkit-transform: translateY(8.819px) translateX(7.2px);
  }
  75% {
    -webkit-transform: translateY(8.76727px) translateX(7.5px);
  }
  76% {
    -webkit-transform: translateY(8.75px) translateX(7.8px);
  }
  77% {
    -webkit-transform: translateY(8.76727px) translateX(8.1px);
  }
  78% {
    -webkit-transform: translateY(8.819px) translateX(8.4px);
  }
  79% {
    -webkit-transform: translateY(8.90499px) translateX(8.7px);
  }
  80% {
    -webkit-transform: translateY(9.0249px) translateX(9px);
  }
  81% {
    -webkit-transform: translateY(9.17826px) translateX(9.3px);
  }
  82% {
    -webkit-transform: translateY(9.36446px) translateX(9.6px);
  }
  83% {
    -webkit-transform: translateY(9.58276px) translateX(9.9px);
  }
  84% {
    -webkit-transform: translateY(9.83232px) translateX(10.2px);
  }
  85% {
    -webkit-transform: translateY(10.11213px) translateX(10.5px);
  }
  86% {
    -webkit-transform: translateY(10.4211px) translateX(10.8px);
  }
  87% {
    -webkit-transform: translateY(10.75801px) translateX(11.1px);
  }
  88% {
    -webkit-transform: translateY(11.12152px) translateX(11.4px);
  }
  89% {
    -webkit-transform: translateY(11.51021px) translateX(11.7px);
  }
  90% {
    -webkit-transform: translateY(11.92254px) translateX(12px);
  }
  91% {
    -webkit-transform: translateY(12.35688px) translateX(12.3px);
  }
  92% {
    -webkit-transform: translateY(12.81152px) translateX(12.6px);
  }
  93% {
    -webkit-transform: translateY(13.28466px) translateX(12.9px);
  }
  94% {
    -webkit-transform: translateY(13.77443px) translateX(13.2px);
  }
  95% {
    -webkit-transform: translateY(14.27891px) translateX(13.5px);
  }
  96% {
    -webkit-transform: translateY(14.7961px) translateX(13.8px);
  }
  97% {
    -webkit-transform: translateY(15.32396px) translateX(14.1px);
  }
  98% {
    -webkit-transform: translateY(15.86041px) translateX(14.4px);
  }
  99% {
    -webkit-transform: translateY(16.40333px) translateX(14.7px);
  }
  100% {
    -webkit-transform: translateY(16.95058px) translateX(15px);
  }
}
@-moz-keyframes hailLeft {
  50% {
    -moz-transform: translateY(17.5px);
  }
  51% {
    -moz-transform: translateY(17.5px) translateX(-0.3px);
  }
  52% {
    -moz-transform: translateY(16.95058px) translateX(-0.6px);
  }
  53% {
    -moz-transform: translateY(16.40333px) translateX(-0.9px);
  }
  54% {
    -moz-transform: translateY(15.86041px) translateX(-1.2px);
  }
  55% {
    -moz-transform: translateY(15.32396px) translateX(-1.5px);
  }
  56% {
    -moz-transform: translateY(14.7961px) translateX(-1.8px);
  }
  57% {
    -moz-transform: translateY(14.27891px) translateX(-2.1px);
  }
  58% {
    -moz-transform: translateY(13.77443px) translateX(-2.4px);
  }
  59% {
    -moz-transform: translateY(13.28466px) translateX(-2.7px);
  }
  60% {
    -moz-transform: translateY(12.81152px) translateX(-3px);
  }
  61% {
    -moz-transform: translateY(12.35688px) translateX(-3.3px);
  }
  62% {
    -moz-transform: translateY(11.92254px) translateX(-3.6px);
  }
  63% {
    -moz-transform: translateY(11.51021px) translateX(-3.9px);
  }
  64% {
    -moz-transform: translateY(11.12152px) translateX(-4.2px);
  }
  65% {
    -moz-transform: translateY(10.75801px) translateX(-4.5px);
  }
  66% {
    -moz-transform: translateY(10.4211px) translateX(-4.8px);
  }
  67% {
    -moz-transform: translateY(10.11213px) translateX(-5.1px);
  }
  68% {
    -moz-transform: translateY(9.83232px) translateX(-5.4px);
  }
  69% {
    -moz-transform: translateY(9.58276px) translateX(-5.7px);
  }
  70% {
    -moz-transform: translateY(9.36446px) translateX(-6px);
  }
  71% {
    -moz-transform: translateY(9.17826px) translateX(-6.3px);
  }
  72% {
    -moz-transform: translateY(9.0249px) translateX(-6.6px);
  }
  73% {
    -moz-transform: translateY(8.90499px) translateX(-6.9px);
  }
  74% {
    -moz-transform: translateY(8.819px) translateX(-7.2px);
  }
  75% {
    -moz-transform: translateY(8.76727px) translateX(-7.5px);
  }
  76% {
    -moz-transform: translateY(8.75px) translateX(-7.8px);
  }
  77% {
    -moz-transform: translateY(8.76727px) translateX(-8.1px);
  }
  78% {
    -moz-transform: translateY(8.819px) translateX(-8.4px);
  }
  79% {
    -moz-transform: translateY(8.90499px) translateX(-8.7px);
  }
  80% {
    -moz-transform: translateY(9.0249px) translateX(-9px);
  }
  81% {
    -moz-transform: translateY(9.17826px) translateX(-9.3px);
  }
  82% {
    -moz-transform: translateY(9.36446px) translateX(-9.6px);
  }
  83% {
    -moz-transform: translateY(9.58276px) translateX(-9.9px);
  }
  84% {
    -moz-transform: translateY(9.83232px) translateX(-10.2px);
  }
  85% {
    -moz-transform: translateY(10.11213px) translateX(-10.5px);
  }
  86% {
    -moz-transform: translateY(10.4211px) translateX(-10.8px);
  }
  87% {
    -moz-transform: translateY(10.75801px) translateX(-11.1px);
  }
  88% {
    -moz-transform: translateY(11.12152px) translateX(-11.4px);
  }
  89% {
    -moz-transform: translateY(11.51021px) translateX(-11.7px);
  }
  90% {
    -moz-transform: translateY(11.92254px) translateX(-12px);
  }
  91% {
    -moz-transform: translateY(12.35688px) translateX(-12.3px);
  }
  92% {
    -moz-transform: translateY(12.81152px) translateX(-12.6px);
  }
  93% {
    -moz-transform: translateY(13.28466px) translateX(-12.9px);
  }
  94% {
    -moz-transform: translateY(13.77443px) translateX(-13.2px);
  }
  95% {
    -moz-transform: translateY(14.27891px) translateX(-13.5px);
  }
  96% {
    -moz-transform: translateY(14.7961px) translateX(-13.8px);
  }
  97% {
    -moz-transform: translateY(15.32396px) translateX(-14.1px);
  }
  98% {
    -moz-transform: translateY(15.86041px) translateX(-14.4px);
  }
  99% {
    -moz-transform: translateY(16.40333px) translateX(-14.7px);
  }
  100% {
    -moz-transform: translateY(16.95058px) translateX(-15px);
  }
}
@-moz-keyframes hailMiddle {
  50% {
    -moz-transform: translateY(17.5px);
  }
  51% {
    -moz-transform: translateY(17.5px) translateX(-0.15px);
  }
  52% {
    -moz-transform: translateY(16.95058px) translateX(-0.3px);
  }
  53% {
    -moz-transform: translateY(16.40333px) translateX(-0.45px);
  }
  54% {
    -moz-transform: translateY(15.86041px) translateX(-0.6px);
  }
  55% {
    -moz-transform: translateY(15.32396px) translateX(-0.75px);
  }
  56% {
    -moz-transform: translateY(14.7961px) translateX(-0.9px);
  }
  57% {
    -moz-transform: translateY(14.27891px) translateX(-1.05px);
  }
  58% {
    -moz-transform: translateY(13.77443px) translateX(-1.2px);
  }
  59% {
    -moz-transform: translateY(13.28466px) translateX(-1.35px);
  }
  60% {
    -moz-transform: translateY(12.81152px) translateX(-1.5px);
  }
  61% {
    -moz-transform: translateY(12.35688px) translateX(-1.65px);
  }
  62% {
    -moz-transform: translateY(11.92254px) translateX(-1.8px);
  }
  63% {
    -moz-transform: translateY(11.51021px) translateX(-1.95px);
  }
  64% {
    -moz-transform: translateY(11.12152px) translateX(-2.1px);
  }
  65% {
    -moz-transform: translateY(10.75801px) translateX(-2.25px);
  }
  66% {
    -moz-transform: translateY(10.4211px) translateX(-2.4px);
  }
  67% {
    -moz-transform: translateY(10.11213px) translateX(-2.55px);
  }
  68% {
    -moz-transform: translateY(9.83232px) translateX(-2.7px);
  }
  69% {
    -moz-transform: translateY(9.58276px) translateX(-2.85px);
  }
  70% {
    -moz-transform: translateY(9.36446px) translateX(-3px);
  }
  71% {
    -moz-transform: translateY(9.17826px) translateX(-3.15px);
  }
  72% {
    -moz-transform: translateY(9.0249px) translateX(-3.3px);
  }
  73% {
    -moz-transform: translateY(8.90499px) translateX(-3.45px);
  }
  74% {
    -moz-transform: translateY(8.819px) translateX(-3.6px);
  }
  75% {
    -moz-transform: translateY(8.76727px) translateX(-3.75px);
  }
  76% {
    -moz-transform: translateY(8.75px) translateX(-3.9px);
  }
  77% {
    -moz-transform: translateY(8.76727px) translateX(-4.05px);
  }
  78% {
    -moz-transform: translateY(8.819px) translateX(-4.2px);
  }
  79% {
    -moz-transform: translateY(8.90499px) translateX(-4.35px);
  }
  80% {
    -moz-transform: translateY(9.0249px) translateX(-4.5px);
  }
  81% {
    -moz-transform: translateY(9.17826px) translateX(-4.65px);
  }
  82% {
    -moz-transform: translateY(9.36446px) translateX(-4.8px);
  }
  83% {
    -moz-transform: translateY(9.58276px) translateX(-4.95px);
  }
  84% {
    -moz-transform: translateY(9.83232px) translateX(-5.1px);
  }
  85% {
    -moz-transform: translateY(10.11213px) translateX(-5.25px);
  }
  86% {
    -moz-transform: translateY(10.4211px) translateX(-5.4px);
  }
  87% {
    -moz-transform: translateY(10.75801px) translateX(-5.55px);
  }
  88% {
    -moz-transform: translateY(11.12152px) translateX(-5.7px);
  }
  89% {
    -moz-transform: translateY(11.51021px) translateX(-5.85px);
  }
  90% {
    -moz-transform: translateY(11.92254px) translateX(-6px);
  }
  91% {
    -moz-transform: translateY(12.35688px) translateX(-6.15px);
  }
  92% {
    -moz-transform: translateY(12.81152px) translateX(-6.3px);
  }
  93% {
    -moz-transform: translateY(13.28466px) translateX(-6.45px);
  }
  94% {
    -moz-transform: translateY(13.77443px) translateX(-6.6px);
  }
  95% {
    -moz-transform: translateY(14.27891px) translateX(-6.75px);
  }
  96% {
    -moz-transform: translateY(14.7961px) translateX(-6.9px);
  }
  97% {
    -moz-transform: translateY(15.32396px) translateX(-7.05px);
  }
  98% {
    -moz-transform: translateY(15.86041px) translateX(-7.2px);
  }
  99% {
    -moz-transform: translateY(16.40333px) translateX(-7.35px);
  }
  100% {
    -moz-transform: translateY(16.95058px) translateX(-7.5px);
  }
}
@-moz-keyframes hailMiddle2 {
  50% {
    -moz-transform: translateY(17.5px);
  }
  51% {
    -moz-transform: translateY(17.5px) translateX(0.15px);
  }
  52% {
    -moz-transform: translateY(16.95058px) translateX(0.3px);
  }
  53% {
    -moz-transform: translateY(16.40333px) translateX(0.45px);
  }
  54% {
    -moz-transform: translateY(15.86041px) translateX(0.6px);
  }
  55% {
    -moz-transform: translateY(15.32396px) translateX(0.75px);
  }
  56% {
    -moz-transform: translateY(14.7961px) translateX(0.9px);
  }
  57% {
    -moz-transform: translateY(14.27891px) translateX(1.05px);
  }
  58% {
    -moz-transform: translateY(13.77443px) translateX(1.2px);
  }
  59% {
    -moz-transform: translateY(13.28466px) translateX(1.35px);
  }
  60% {
    -moz-transform: translateY(12.81152px) translateX(1.5px);
  }
  61% {
    -moz-transform: translateY(12.35688px) translateX(1.65px);
  }
  62% {
    -moz-transform: translateY(11.92254px) translateX(1.8px);
  }
  63% {
    -moz-transform: translateY(11.51021px) translateX(1.95px);
  }
  64% {
    -moz-transform: translateY(11.12152px) translateX(2.1px);
  }
  65% {
    -moz-transform: translateY(10.75801px) translateX(2.25px);
  }
  66% {
    -moz-transform: translateY(10.4211px) translateX(2.4px);
  }
  67% {
    -moz-transform: translateY(10.11213px) translateX(2.55px);
  }
  68% {
    -moz-transform: translateY(9.83232px) translateX(2.7px);
  }
  69% {
    -moz-transform: translateY(9.58276px) translateX(2.85px);
  }
  70% {
    -moz-transform: translateY(9.36446px) translateX(3px);
  }
  71% {
    -moz-transform: translateY(9.17826px) translateX(3.15px);
  }
  72% {
    -moz-transform: translateY(9.0249px) translateX(3.3px);
  }
  73% {
    -moz-transform: translateY(8.90499px) translateX(3.45px);
  }
  74% {
    -moz-transform: translateY(8.819px) translateX(3.6px);
  }
  75% {
    -moz-transform: translateY(8.76727px) translateX(3.75px);
  }
  76% {
    -moz-transform: translateY(8.75px) translateX(3.9px);
  }
  77% {
    -moz-transform: translateY(8.76727px) translateX(4.05px);
  }
  78% {
    -moz-transform: translateY(8.819px) translateX(4.2px);
  }
  79% {
    -moz-transform: translateY(8.90499px) translateX(4.35px);
  }
  80% {
    -moz-transform: translateY(9.0249px) translateX(4.5px);
  }
  81% {
    -moz-transform: translateY(9.17826px) translateX(4.65px);
  }
  82% {
    -moz-transform: translateY(9.36446px) translateX(4.8px);
  }
  83% {
    -moz-transform: translateY(9.58276px) translateX(4.95px);
  }
  84% {
    -moz-transform: translateY(9.83232px) translateX(5.1px);
  }
  85% {
    -moz-transform: translateY(10.11213px) translateX(5.25px);
  }
  86% {
    -moz-transform: translateY(10.4211px) translateX(5.4px);
  }
  87% {
    -moz-transform: translateY(10.75801px) translateX(5.55px);
  }
  88% {
    -moz-transform: translateY(11.12152px) translateX(5.7px);
  }
  89% {
    -moz-transform: translateY(11.51021px) translateX(5.85px);
  }
  90% {
    -moz-transform: translateY(11.92254px) translateX(6px);
  }
  91% {
    -moz-transform: translateY(12.35688px) translateX(6.15px);
  }
  92% {
    -moz-transform: translateY(12.81152px) translateX(6.3px);
  }
  93% {
    -moz-transform: translateY(13.28466px) translateX(6.45px);
  }
  94% {
    -moz-transform: translateY(13.77443px) translateX(6.6px);
  }
  95% {
    -moz-transform: translateY(14.27891px) translateX(6.75px);
  }
  96% {
    -moz-transform: translateY(14.7961px) translateX(6.9px);
  }
  97% {
    -moz-transform: translateY(15.32396px) translateX(7.05px);
  }
  98% {
    -moz-transform: translateY(15.86041px) translateX(7.2px);
  }
  99% {
    -moz-transform: translateY(16.40333px) translateX(7.35px);
  }
  100% {
    -moz-transform: translateY(16.95058px) translateX(7.5px);
  }
}
@-moz-keyframes hailRight {
  50% {
    -moz-transform: translateY(17.5px);
  }
  51% {
    -moz-transform: translateY(17.5px) translateX(0.3px);
  }
  52% {
    -moz-transform: translateY(16.95058px) translateX(0.6px);
  }
  53% {
    -moz-transform: translateY(16.40333px) translateX(0.9px);
  }
  54% {
    -moz-transform: translateY(15.86041px) translateX(1.2px);
  }
  55% {
    -moz-transform: translateY(15.32396px) translateX(1.5px);
  }
  56% {
    -moz-transform: translateY(14.7961px) translateX(1.8px);
  }
  57% {
    -moz-transform: translateY(14.27891px) translateX(2.1px);
  }
  58% {
    -moz-transform: translateY(13.77443px) translateX(2.4px);
  }
  59% {
    -moz-transform: translateY(13.28466px) translateX(2.7px);
  }
  60% {
    -moz-transform: translateY(12.81152px) translateX(3px);
  }
  61% {
    -moz-transform: translateY(12.35688px) translateX(3.3px);
  }
  62% {
    -moz-transform: translateY(11.92254px) translateX(3.6px);
  }
  63% {
    -moz-transform: translateY(11.51021px) translateX(3.9px);
  }
  64% {
    -moz-transform: translateY(11.12152px) translateX(4.2px);
  }
  65% {
    -moz-transform: translateY(10.75801px) translateX(4.5px);
  }
  66% {
    -moz-transform: translateY(10.4211px) translateX(4.8px);
  }
  67% {
    -moz-transform: translateY(10.11213px) translateX(5.1px);
  }
  68% {
    -moz-transform: translateY(9.83232px) translateX(5.4px);
  }
  69% {
    -moz-transform: translateY(9.58276px) translateX(5.7px);
  }
  70% {
    -moz-transform: translateY(9.36446px) translateX(6px);
  }
  71% {
    -moz-transform: translateY(9.17826px) translateX(6.3px);
  }
  72% {
    -moz-transform: translateY(9.0249px) translateX(6.6px);
  }
  73% {
    -moz-transform: translateY(8.90499px) translateX(6.9px);
  }
  74% {
    -moz-transform: translateY(8.819px) translateX(7.2px);
  }
  75% {
    -moz-transform: translateY(8.76727px) translateX(7.5px);
  }
  76% {
    -moz-transform: translateY(8.75px) translateX(7.8px);
  }
  77% {
    -moz-transform: translateY(8.76727px) translateX(8.1px);
  }
  78% {
    -moz-transform: translateY(8.819px) translateX(8.4px);
  }
  79% {
    -moz-transform: translateY(8.90499px) translateX(8.7px);
  }
  80% {
    -moz-transform: translateY(9.0249px) translateX(9px);
  }
  81% {
    -moz-transform: translateY(9.17826px) translateX(9.3px);
  }
  82% {
    -moz-transform: translateY(9.36446px) translateX(9.6px);
  }
  83% {
    -moz-transform: translateY(9.58276px) translateX(9.9px);
  }
  84% {
    -moz-transform: translateY(9.83232px) translateX(10.2px);
  }
  85% {
    -moz-transform: translateY(10.11213px) translateX(10.5px);
  }
  86% {
    -moz-transform: translateY(10.4211px) translateX(10.8px);
  }
  87% {
    -moz-transform: translateY(10.75801px) translateX(11.1px);
  }
  88% {
    -moz-transform: translateY(11.12152px) translateX(11.4px);
  }
  89% {
    -moz-transform: translateY(11.51021px) translateX(11.7px);
  }
  90% {
    -moz-transform: translateY(11.92254px) translateX(12px);
  }
  91% {
    -moz-transform: translateY(12.35688px) translateX(12.3px);
  }
  92% {
    -moz-transform: translateY(12.81152px) translateX(12.6px);
  }
  93% {
    -moz-transform: translateY(13.28466px) translateX(12.9px);
  }
  94% {
    -moz-transform: translateY(13.77443px) translateX(13.2px);
  }
  95% {
    -moz-transform: translateY(14.27891px) translateX(13.5px);
  }
  96% {
    -moz-transform: translateY(14.7961px) translateX(13.8px);
  }
  97% {
    -moz-transform: translateY(15.32396px) translateX(14.1px);
  }
  98% {
    -moz-transform: translateY(15.86041px) translateX(14.4px);
  }
  99% {
    -moz-transform: translateY(16.40333px) translateX(14.7px);
  }
  100% {
    -moz-transform: translateY(16.95058px) translateX(15px);
  }
}
@-o-keyframes hailLeft {
  50% {
    -o-transform: translateY(17.5px);
  }
  51% {
    -o-transform: translateY(17.5px) translateX(-0.3px);
  }
  52% {
    -o-transform: translateY(16.95058px) translateX(-0.6px);
  }
  53% {
    -o-transform: translateY(16.40333px) translateX(-0.9px);
  }
  54% {
    -o-transform: translateY(15.86041px) translateX(-1.2px);
  }
  55% {
    -o-transform: translateY(15.32396px) translateX(-1.5px);
  }
  56% {
    -o-transform: translateY(14.7961px) translateX(-1.8px);
  }
  57% {
    -o-transform: translateY(14.27891px) translateX(-2.1px);
  }
  58% {
    -o-transform: translateY(13.77443px) translateX(-2.4px);
  }
  59% {
    -o-transform: translateY(13.28466px) translateX(-2.7px);
  }
  60% {
    -o-transform: translateY(12.81152px) translateX(-3px);
  }
  61% {
    -o-transform: translateY(12.35688px) translateX(-3.3px);
  }
  62% {
    -o-transform: translateY(11.92254px) translateX(-3.6px);
  }
  63% {
    -o-transform: translateY(11.51021px) translateX(-3.9px);
  }
  64% {
    -o-transform: translateY(11.12152px) translateX(-4.2px);
  }
  65% {
    -o-transform: translateY(10.75801px) translateX(-4.5px);
  }
  66% {
    -o-transform: translateY(10.4211px) translateX(-4.8px);
  }
  67% {
    -o-transform: translateY(10.11213px) translateX(-5.1px);
  }
  68% {
    -o-transform: translateY(9.83232px) translateX(-5.4px);
  }
  69% {
    -o-transform: translateY(9.58276px) translateX(-5.7px);
  }
  70% {
    -o-transform: translateY(9.36446px) translateX(-6px);
  }
  71% {
    -o-transform: translateY(9.17826px) translateX(-6.3px);
  }
  72% {
    -o-transform: translateY(9.0249px) translateX(-6.6px);
  }
  73% {
    -o-transform: translateY(8.90499px) translateX(-6.9px);
  }
  74% {
    -o-transform: translateY(8.819px) translateX(-7.2px);
  }
  75% {
    -o-transform: translateY(8.76727px) translateX(-7.5px);
  }
  76% {
    -o-transform: translateY(8.75px) translateX(-7.8px);
  }
  77% {
    -o-transform: translateY(8.76727px) translateX(-8.1px);
  }
  78% {
    -o-transform: translateY(8.819px) translateX(-8.4px);
  }
  79% {
    -o-transform: translateY(8.90499px) translateX(-8.7px);
  }
  80% {
    -o-transform: translateY(9.0249px) translateX(-9px);
  }
  81% {
    -o-transform: translateY(9.17826px) translateX(-9.3px);
  }
  82% {
    -o-transform: translateY(9.36446px) translateX(-9.6px);
  }
  83% {
    -o-transform: translateY(9.58276px) translateX(-9.9px);
  }
  84% {
    -o-transform: translateY(9.83232px) translateX(-10.2px);
  }
  85% {
    -o-transform: translateY(10.11213px) translateX(-10.5px);
  }
  86% {
    -o-transform: translateY(10.4211px) translateX(-10.8px);
  }
  87% {
    -o-transform: translateY(10.75801px) translateX(-11.1px);
  }
  88% {
    -o-transform: translateY(11.12152px) translateX(-11.4px);
  }
  89% {
    -o-transform: translateY(11.51021px) translateX(-11.7px);
  }
  90% {
    -o-transform: translateY(11.92254px) translateX(-12px);
  }
  91% {
    -o-transform: translateY(12.35688px) translateX(-12.3px);
  }
  92% {
    -o-transform: translateY(12.81152px) translateX(-12.6px);
  }
  93% {
    -o-transform: translateY(13.28466px) translateX(-12.9px);
  }
  94% {
    -o-transform: translateY(13.77443px) translateX(-13.2px);
  }
  95% {
    -o-transform: translateY(14.27891px) translateX(-13.5px);
  }
  96% {
    -o-transform: translateY(14.7961px) translateX(-13.8px);
  }
  97% {
    -o-transform: translateY(15.32396px) translateX(-14.1px);
  }
  98% {
    -o-transform: translateY(15.86041px) translateX(-14.4px);
  }
  99% {
    -o-transform: translateY(16.40333px) translateX(-14.7px);
  }
  100% {
    -o-transform: translateY(16.95058px) translateX(-15px);
  }
}
@-o-keyframes hailMiddle {
  50% {
    -o-transform: translateY(17.5px);
  }
  51% {
    -o-transform: translateY(17.5px) translateX(-0.15px);
  }
  52% {
    -o-transform: translateY(16.95058px) translateX(-0.3px);
  }
  53% {
    -o-transform: translateY(16.40333px) translateX(-0.45px);
  }
  54% {
    -o-transform: translateY(15.86041px) translateX(-0.6px);
  }
  55% {
    -o-transform: translateY(15.32396px) translateX(-0.75px);
  }
  56% {
    -o-transform: translateY(14.7961px) translateX(-0.9px);
  }
  57% {
    -o-transform: translateY(14.27891px) translateX(-1.05px);
  }
  58% {
    -o-transform: translateY(13.77443px) translateX(-1.2px);
  }
  59% {
    -o-transform: translateY(13.28466px) translateX(-1.35px);
  }
  60% {
    -o-transform: translateY(12.81152px) translateX(-1.5px);
  }
  61% {
    -o-transform: translateY(12.35688px) translateX(-1.65px);
  }
  62% {
    -o-transform: translateY(11.92254px) translateX(-1.8px);
  }
  63% {
    -o-transform: translateY(11.51021px) translateX(-1.95px);
  }
  64% {
    -o-transform: translateY(11.12152px) translateX(-2.1px);
  }
  65% {
    -o-transform: translateY(10.75801px) translateX(-2.25px);
  }
  66% {
    -o-transform: translateY(10.4211px) translateX(-2.4px);
  }
  67% {
    -o-transform: translateY(10.11213px) translateX(-2.55px);
  }
  68% {
    -o-transform: translateY(9.83232px) translateX(-2.7px);
  }
  69% {
    -o-transform: translateY(9.58276px) translateX(-2.85px);
  }
  70% {
    -o-transform: translateY(9.36446px) translateX(-3px);
  }
  71% {
    -o-transform: translateY(9.17826px) translateX(-3.15px);
  }
  72% {
    -o-transform: translateY(9.0249px) translateX(-3.3px);
  }
  73% {
    -o-transform: translateY(8.90499px) translateX(-3.45px);
  }
  74% {
    -o-transform: translateY(8.819px) translateX(-3.6px);
  }
  75% {
    -o-transform: translateY(8.76727px) translateX(-3.75px);
  }
  76% {
    -o-transform: translateY(8.75px) translateX(-3.9px);
  }
  77% {
    -o-transform: translateY(8.76727px) translateX(-4.05px);
  }
  78% {
    -o-transform: translateY(8.819px) translateX(-4.2px);
  }
  79% {
    -o-transform: translateY(8.90499px) translateX(-4.35px);
  }
  80% {
    -o-transform: translateY(9.0249px) translateX(-4.5px);
  }
  81% {
    -o-transform: translateY(9.17826px) translateX(-4.65px);
  }
  82% {
    -o-transform: translateY(9.36446px) translateX(-4.8px);
  }
  83% {
    -o-transform: translateY(9.58276px) translateX(-4.95px);
  }
  84% {
    -o-transform: translateY(9.83232px) translateX(-5.1px);
  }
  85% {
    -o-transform: translateY(10.11213px) translateX(-5.25px);
  }
  86% {
    -o-transform: translateY(10.4211px) translateX(-5.4px);
  }
  87% {
    -o-transform: translateY(10.75801px) translateX(-5.55px);
  }
  88% {
    -o-transform: translateY(11.12152px) translateX(-5.7px);
  }
  89% {
    -o-transform: translateY(11.51021px) translateX(-5.85px);
  }
  90% {
    -o-transform: translateY(11.92254px) translateX(-6px);
  }
  91% {
    -o-transform: translateY(12.35688px) translateX(-6.15px);
  }
  92% {
    -o-transform: translateY(12.81152px) translateX(-6.3px);
  }
  93% {
    -o-transform: translateY(13.28466px) translateX(-6.45px);
  }
  94% {
    -o-transform: translateY(13.77443px) translateX(-6.6px);
  }
  95% {
    -o-transform: translateY(14.27891px) translateX(-6.75px);
  }
  96% {
    -o-transform: translateY(14.7961px) translateX(-6.9px);
  }
  97% {
    -o-transform: translateY(15.32396px) translateX(-7.05px);
  }
  98% {
    -o-transform: translateY(15.86041px) translateX(-7.2px);
  }
  99% {
    -o-transform: translateY(16.40333px) translateX(-7.35px);
  }
  100% {
    -o-transform: translateY(16.95058px) translateX(-7.5px);
  }
}
@-o-keyframes hailMiddle2 {
  50% {
    -o-transform: translateY(17.5px);
  }
  51% {
    -o-transform: translateY(17.5px) translateX(0.15px);
  }
  52% {
    -o-transform: translateY(16.95058px) translateX(0.3px);
  }
  53% {
    -o-transform: translateY(16.40333px) translateX(0.45px);
  }
  54% {
    -o-transform: translateY(15.86041px) translateX(0.6px);
  }
  55% {
    -o-transform: translateY(15.32396px) translateX(0.75px);
  }
  56% {
    -o-transform: translateY(14.7961px) translateX(0.9px);
  }
  57% {
    -o-transform: translateY(14.27891px) translateX(1.05px);
  }
  58% {
    -o-transform: translateY(13.77443px) translateX(1.2px);
  }
  59% {
    -o-transform: translateY(13.28466px) translateX(1.35px);
  }
  60% {
    -o-transform: translateY(12.81152px) translateX(1.5px);
  }
  61% {
    -o-transform: translateY(12.35688px) translateX(1.65px);
  }
  62% {
    -o-transform: translateY(11.92254px) translateX(1.8px);
  }
  63% {
    -o-transform: translateY(11.51021px) translateX(1.95px);
  }
  64% {
    -o-transform: translateY(11.12152px) translateX(2.1px);
  }
  65% {
    -o-transform: translateY(10.75801px) translateX(2.25px);
  }
  66% {
    -o-transform: translateY(10.4211px) translateX(2.4px);
  }
  67% {
    -o-transform: translateY(10.11213px) translateX(2.55px);
  }
  68% {
    -o-transform: translateY(9.83232px) translateX(2.7px);
  }
  69% {
    -o-transform: translateY(9.58276px) translateX(2.85px);
  }
  70% {
    -o-transform: translateY(9.36446px) translateX(3px);
  }
  71% {
    -o-transform: translateY(9.17826px) translateX(3.15px);
  }
  72% {
    -o-transform: translateY(9.0249px) translateX(3.3px);
  }
  73% {
    -o-transform: translateY(8.90499px) translateX(3.45px);
  }
  74% {
    -o-transform: translateY(8.819px) translateX(3.6px);
  }
  75% {
    -o-transform: translateY(8.76727px) translateX(3.75px);
  }
  76% {
    -o-transform: translateY(8.75px) translateX(3.9px);
  }
  77% {
    -o-transform: translateY(8.76727px) translateX(4.05px);
  }
  78% {
    -o-transform: translateY(8.819px) translateX(4.2px);
  }
  79% {
    -o-transform: translateY(8.90499px) translateX(4.35px);
  }
  80% {
    -o-transform: translateY(9.0249px) translateX(4.5px);
  }
  81% {
    -o-transform: translateY(9.17826px) translateX(4.65px);
  }
  82% {
    -o-transform: translateY(9.36446px) translateX(4.8px);
  }
  83% {
    -o-transform: translateY(9.58276px) translateX(4.95px);
  }
  84% {
    -o-transform: translateY(9.83232px) translateX(5.1px);
  }
  85% {
    -o-transform: translateY(10.11213px) translateX(5.25px);
  }
  86% {
    -o-transform: translateY(10.4211px) translateX(5.4px);
  }
  87% {
    -o-transform: translateY(10.75801px) translateX(5.55px);
  }
  88% {
    -o-transform: translateY(11.12152px) translateX(5.7px);
  }
  89% {
    -o-transform: translateY(11.51021px) translateX(5.85px);
  }
  90% {
    -o-transform: translateY(11.92254px) translateX(6px);
  }
  91% {
    -o-transform: translateY(12.35688px) translateX(6.15px);
  }
  92% {
    -o-transform: translateY(12.81152px) translateX(6.3px);
  }
  93% {
    -o-transform: translateY(13.28466px) translateX(6.45px);
  }
  94% {
    -o-transform: translateY(13.77443px) translateX(6.6px);
  }
  95% {
    -o-transform: translateY(14.27891px) translateX(6.75px);
  }
  96% {
    -o-transform: translateY(14.7961px) translateX(6.9px);
  }
  97% {
    -o-transform: translateY(15.32396px) translateX(7.05px);
  }
  98% {
    -o-transform: translateY(15.86041px) translateX(7.2px);
  }
  99% {
    -o-transform: translateY(16.40333px) translateX(7.35px);
  }
  100% {
    -o-transform: translateY(16.95058px) translateX(7.5px);
  }
}
@-o-keyframes hailRight {
  50% {
    -o-transform: translateY(17.5px);
  }
  51% {
    -o-transform: translateY(17.5px) translateX(0.3px);
  }
  52% {
    -o-transform: translateY(16.95058px) translateX(0.6px);
  }
  53% {
    -o-transform: translateY(16.40333px) translateX(0.9px);
  }
  54% {
    -o-transform: translateY(15.86041px) translateX(1.2px);
  }
  55% {
    -o-transform: translateY(15.32396px) translateX(1.5px);
  }
  56% {
    -o-transform: translateY(14.7961px) translateX(1.8px);
  }
  57% {
    -o-transform: translateY(14.27891px) translateX(2.1px);
  }
  58% {
    -o-transform: translateY(13.77443px) translateX(2.4px);
  }
  59% {
    -o-transform: translateY(13.28466px) translateX(2.7px);
  }
  60% {
    -o-transform: translateY(12.81152px) translateX(3px);
  }
  61% {
    -o-transform: translateY(12.35688px) translateX(3.3px);
  }
  62% {
    -o-transform: translateY(11.92254px) translateX(3.6px);
  }
  63% {
    -o-transform: translateY(11.51021px) translateX(3.9px);
  }
  64% {
    -o-transform: translateY(11.12152px) translateX(4.2px);
  }
  65% {
    -o-transform: translateY(10.75801px) translateX(4.5px);
  }
  66% {
    -o-transform: translateY(10.4211px) translateX(4.8px);
  }
  67% {
    -o-transform: translateY(10.11213px) translateX(5.1px);
  }
  68% {
    -o-transform: translateY(9.83232px) translateX(5.4px);
  }
  69% {
    -o-transform: translateY(9.58276px) translateX(5.7px);
  }
  70% {
    -o-transform: translateY(9.36446px) translateX(6px);
  }
  71% {
    -o-transform: translateY(9.17826px) translateX(6.3px);
  }
  72% {
    -o-transform: translateY(9.0249px) translateX(6.6px);
  }
  73% {
    -o-transform: translateY(8.90499px) translateX(6.9px);
  }
  74% {
    -o-transform: translateY(8.819px) translateX(7.2px);
  }
  75% {
    -o-transform: translateY(8.76727px) translateX(7.5px);
  }
  76% {
    -o-transform: translateY(8.75px) translateX(7.8px);
  }
  77% {
    -o-transform: translateY(8.76727px) translateX(8.1px);
  }
  78% {
    -o-transform: translateY(8.819px) translateX(8.4px);
  }
  79% {
    -o-transform: translateY(8.90499px) translateX(8.7px);
  }
  80% {
    -o-transform: translateY(9.0249px) translateX(9px);
  }
  81% {
    -o-transform: translateY(9.17826px) translateX(9.3px);
  }
  82% {
    -o-transform: translateY(9.36446px) translateX(9.6px);
  }
  83% {
    -o-transform: translateY(9.58276px) translateX(9.9px);
  }
  84% {
    -o-transform: translateY(9.83232px) translateX(10.2px);
  }
  85% {
    -o-transform: translateY(10.11213px) translateX(10.5px);
  }
  86% {
    -o-transform: translateY(10.4211px) translateX(10.8px);
  }
  87% {
    -o-transform: translateY(10.75801px) translateX(11.1px);
  }
  88% {
    -o-transform: translateY(11.12152px) translateX(11.4px);
  }
  89% {
    -o-transform: translateY(11.51021px) translateX(11.7px);
  }
  90% {
    -o-transform: translateY(11.92254px) translateX(12px);
  }
  91% {
    -o-transform: translateY(12.35688px) translateX(12.3px);
  }
  92% {
    -o-transform: translateY(12.81152px) translateX(12.6px);
  }
  93% {
    -o-transform: translateY(13.28466px) translateX(12.9px);
  }
  94% {
    -o-transform: translateY(13.77443px) translateX(13.2px);
  }
  95% {
    -o-transform: translateY(14.27891px) translateX(13.5px);
  }
  96% {
    -o-transform: translateY(14.7961px) translateX(13.8px);
  }
  97% {
    -o-transform: translateY(15.32396px) translateX(14.1px);
  }
  98% {
    -o-transform: translateY(15.86041px) translateX(14.4px);
  }
  99% {
    -o-transform: translateY(16.40333px) translateX(14.7px);
  }
  100% {
    -o-transform: translateY(16.95058px) translateX(15px);
  }
}
@keyframes hailLeft {
  50% {
    transform: translateY(17.5px);
  }
  51% {
    transform: translateY(17.5px) translateX(-0.3px);
  }
  52% {
    transform: translateY(16.95058px) translateX(-0.6px);
  }
  53% {
    transform: translateY(16.40333px) translateX(-0.9px);
  }
  54% {
    transform: translateY(15.86041px) translateX(-1.2px);
  }
  55% {
    transform: translateY(15.32396px) translateX(-1.5px);
  }
  56% {
    transform: translateY(14.7961px) translateX(-1.8px);
  }
  57% {
    transform: translateY(14.27891px) translateX(-2.1px);
  }
  58% {
    transform: translateY(13.77443px) translateX(-2.4px);
  }
  59% {
    transform: translateY(13.28466px) translateX(-2.7px);
  }
  60% {
    transform: translateY(12.81152px) translateX(-3px);
  }
  61% {
    transform: translateY(12.35688px) translateX(-3.3px);
  }
  62% {
    transform: translateY(11.92254px) translateX(-3.6px);
  }
  63% {
    transform: translateY(11.51021px) translateX(-3.9px);
  }
  64% {
    transform: translateY(11.12152px) translateX(-4.2px);
  }
  65% {
    transform: translateY(10.75801px) translateX(-4.5px);
  }
  66% {
    transform: translateY(10.4211px) translateX(-4.8px);
  }
  67% {
    transform: translateY(10.11213px) translateX(-5.1px);
  }
  68% {
    transform: translateY(9.83232px) translateX(-5.4px);
  }
  69% {
    transform: translateY(9.58276px) translateX(-5.7px);
  }
  70% {
    transform: translateY(9.36446px) translateX(-6px);
  }
  71% {
    transform: translateY(9.17826px) translateX(-6.3px);
  }
  72% {
    transform: translateY(9.0249px) translateX(-6.6px);
  }
  73% {
    transform: translateY(8.90499px) translateX(-6.9px);
  }
  74% {
    transform: translateY(8.819px) translateX(-7.2px);
  }
  75% {
    transform: translateY(8.76727px) translateX(-7.5px);
  }
  76% {
    transform: translateY(8.75px) translateX(-7.8px);
  }
  77% {
    transform: translateY(8.76727px) translateX(-8.1px);
  }
  78% {
    transform: translateY(8.819px) translateX(-8.4px);
  }
  79% {
    transform: translateY(8.90499px) translateX(-8.7px);
  }
  80% {
    transform: translateY(9.0249px) translateX(-9px);
  }
  81% {
    transform: translateY(9.17826px) translateX(-9.3px);
  }
  82% {
    transform: translateY(9.36446px) translateX(-9.6px);
  }
  83% {
    transform: translateY(9.58276px) translateX(-9.9px);
  }
  84% {
    transform: translateY(9.83232px) translateX(-10.2px);
  }
  85% {
    transform: translateY(10.11213px) translateX(-10.5px);
  }
  86% {
    transform: translateY(10.4211px) translateX(-10.8px);
  }
  87% {
    transform: translateY(10.75801px) translateX(-11.1px);
  }
  88% {
    transform: translateY(11.12152px) translateX(-11.4px);
  }
  89% {
    transform: translateY(11.51021px) translateX(-11.7px);
  }
  90% {
    transform: translateY(11.92254px) translateX(-12px);
  }
  91% {
    transform: translateY(12.35688px) translateX(-12.3px);
  }
  92% {
    transform: translateY(12.81152px) translateX(-12.6px);
  }
  93% {
    transform: translateY(13.28466px) translateX(-12.9px);
  }
  94% {
    transform: translateY(13.77443px) translateX(-13.2px);
  }
  95% {
    transform: translateY(14.27891px) translateX(-13.5px);
  }
  96% {
    transform: translateY(14.7961px) translateX(-13.8px);
  }
  97% {
    transform: translateY(15.32396px) translateX(-14.1px);
  }
  98% {
    transform: translateY(15.86041px) translateX(-14.4px);
  }
  99% {
    transform: translateY(16.40333px) translateX(-14.7px);
  }
  100% {
    transform: translateY(16.95058px) translateX(-15px);
  }
}
@keyframes hailMiddle {
  50% {
    transform: translateY(17.5px);
  }
  51% {
    transform: translateY(17.5px) translateX(-0.15px);
  }
  52% {
    transform: translateY(16.95058px) translateX(-0.3px);
  }
  53% {
    transform: translateY(16.40333px) translateX(-0.45px);
  }
  54% {
    transform: translateY(15.86041px) translateX(-0.6px);
  }
  55% {
    transform: translateY(15.32396px) translateX(-0.75px);
  }
  56% {
    transform: translateY(14.7961px) translateX(-0.9px);
  }
  57% {
    transform: translateY(14.27891px) translateX(-1.05px);
  }
  58% {
    transform: translateY(13.77443px) translateX(-1.2px);
  }
  59% {
    transform: translateY(13.28466px) translateX(-1.35px);
  }
  60% {
    transform: translateY(12.81152px) translateX(-1.5px);
  }
  61% {
    transform: translateY(12.35688px) translateX(-1.65px);
  }
  62% {
    transform: translateY(11.92254px) translateX(-1.8px);
  }
  63% {
    transform: translateY(11.51021px) translateX(-1.95px);
  }
  64% {
    transform: translateY(11.12152px) translateX(-2.1px);
  }
  65% {
    transform: translateY(10.75801px) translateX(-2.25px);
  }
  66% {
    transform: translateY(10.4211px) translateX(-2.4px);
  }
  67% {
    transform: translateY(10.11213px) translateX(-2.55px);
  }
  68% {
    transform: translateY(9.83232px) translateX(-2.7px);
  }
  69% {
    transform: translateY(9.58276px) translateX(-2.85px);
  }
  70% {
    transform: translateY(9.36446px) translateX(-3px);
  }
  71% {
    transform: translateY(9.17826px) translateX(-3.15px);
  }
  72% {
    transform: translateY(9.0249px) translateX(-3.3px);
  }
  73% {
    transform: translateY(8.90499px) translateX(-3.45px);
  }
  74% {
    transform: translateY(8.819px) translateX(-3.6px);
  }
  75% {
    transform: translateY(8.76727px) translateX(-3.75px);
  }
  76% {
    transform: translateY(8.75px) translateX(-3.9px);
  }
  77% {
    transform: translateY(8.76727px) translateX(-4.05px);
  }
  78% {
    transform: translateY(8.819px) translateX(-4.2px);
  }
  79% {
    transform: translateY(8.90499px) translateX(-4.35px);
  }
  80% {
    transform: translateY(9.0249px) translateX(-4.5px);
  }
  81% {
    transform: translateY(9.17826px) translateX(-4.65px);
  }
  82% {
    transform: translateY(9.36446px) translateX(-4.8px);
  }
  83% {
    transform: translateY(9.58276px) translateX(-4.95px);
  }
  84% {
    transform: translateY(9.83232px) translateX(-5.1px);
  }
  85% {
    transform: translateY(10.11213px) translateX(-5.25px);
  }
  86% {
    transform: translateY(10.4211px) translateX(-5.4px);
  }
  87% {
    transform: translateY(10.75801px) translateX(-5.55px);
  }
  88% {
    transform: translateY(11.12152px) translateX(-5.7px);
  }
  89% {
    transform: translateY(11.51021px) translateX(-5.85px);
  }
  90% {
    transform: translateY(11.92254px) translateX(-6px);
  }
  91% {
    transform: translateY(12.35688px) translateX(-6.15px);
  }
  92% {
    transform: translateY(12.81152px) translateX(-6.3px);
  }
  93% {
    transform: translateY(13.28466px) translateX(-6.45px);
  }
  94% {
    transform: translateY(13.77443px) translateX(-6.6px);
  }
  95% {
    transform: translateY(14.27891px) translateX(-6.75px);
  }
  96% {
    transform: translateY(14.7961px) translateX(-6.9px);
  }
  97% {
    transform: translateY(15.32396px) translateX(-7.05px);
  }
  98% {
    transform: translateY(15.86041px) translateX(-7.2px);
  }
  99% {
    transform: translateY(16.40333px) translateX(-7.35px);
  }
  100% {
    transform: translateY(16.95058px) translateX(-7.5px);
  }
}
@keyframes hailMiddle2 {
  50% {
    transform: translateY(17.5px);
  }
  51% {
    transform: translateY(17.5px) translateX(0.15px);
  }
  52% {
    transform: translateY(16.95058px) translateX(0.3px);
  }
  53% {
    transform: translateY(16.40333px) translateX(0.45px);
  }
  54% {
    transform: translateY(15.86041px) translateX(0.6px);
  }
  55% {
    transform: translateY(15.32396px) translateX(0.75px);
  }
  56% {
    transform: translateY(14.7961px) translateX(0.9px);
  }
  57% {
    transform: translateY(14.27891px) translateX(1.05px);
  }
  58% {
    transform: translateY(13.77443px) translateX(1.2px);
  }
  59% {
    transform: translateY(13.28466px) translateX(1.35px);
  }
  60% {
    transform: translateY(12.81152px) translateX(1.5px);
  }
  61% {
    transform: translateY(12.35688px) translateX(1.65px);
  }
  62% {
    transform: translateY(11.92254px) translateX(1.8px);
  }
  63% {
    transform: translateY(11.51021px) translateX(1.95px);
  }
  64% {
    transform: translateY(11.12152px) translateX(2.1px);
  }
  65% {
    transform: translateY(10.75801px) translateX(2.25px);
  }
  66% {
    transform: translateY(10.4211px) translateX(2.4px);
  }
  67% {
    transform: translateY(10.11213px) translateX(2.55px);
  }
  68% {
    transform: translateY(9.83232px) translateX(2.7px);
  }
  69% {
    transform: translateY(9.58276px) translateX(2.85px);
  }
  70% {
    transform: translateY(9.36446px) translateX(3px);
  }
  71% {
    transform: translateY(9.17826px) translateX(3.15px);
  }
  72% {
    transform: translateY(9.0249px) translateX(3.3px);
  }
  73% {
    transform: translateY(8.90499px) translateX(3.45px);
  }
  74% {
    transform: translateY(8.819px) translateX(3.6px);
  }
  75% {
    transform: translateY(8.76727px) translateX(3.75px);
  }
  76% {
    transform: translateY(8.75px) translateX(3.9px);
  }
  77% {
    transform: translateY(8.76727px) translateX(4.05px);
  }
  78% {
    transform: translateY(8.819px) translateX(4.2px);
  }
  79% {
    transform: translateY(8.90499px) translateX(4.35px);
  }
  80% {
    transform: translateY(9.0249px) translateX(4.5px);
  }
  81% {
    transform: translateY(9.17826px) translateX(4.65px);
  }
  82% {
    transform: translateY(9.36446px) translateX(4.8px);
  }
  83% {
    transform: translateY(9.58276px) translateX(4.95px);
  }
  84% {
    transform: translateY(9.83232px) translateX(5.1px);
  }
  85% {
    transform: translateY(10.11213px) translateX(5.25px);
  }
  86% {
    transform: translateY(10.4211px) translateX(5.4px);
  }
  87% {
    transform: translateY(10.75801px) translateX(5.55px);
  }
  88% {
    transform: translateY(11.12152px) translateX(5.7px);
  }
  89% {
    transform: translateY(11.51021px) translateX(5.85px);
  }
  90% {
    transform: translateY(11.92254px) translateX(6px);
  }
  91% {
    transform: translateY(12.35688px) translateX(6.15px);
  }
  92% {
    transform: translateY(12.81152px) translateX(6.3px);
  }
  93% {
    transform: translateY(13.28466px) translateX(6.45px);
  }
  94% {
    transform: translateY(13.77443px) translateX(6.6px);
  }
  95% {
    transform: translateY(14.27891px) translateX(6.75px);
  }
  96% {
    transform: translateY(14.7961px) translateX(6.9px);
  }
  97% {
    transform: translateY(15.32396px) translateX(7.05px);
  }
  98% {
    transform: translateY(15.86041px) translateX(7.2px);
  }
  99% {
    transform: translateY(16.40333px) translateX(7.35px);
  }
  100% {
    transform: translateY(16.95058px) translateX(7.5px);
  }
}
@keyframes hailRight {
  50% {
    transform: translateY(17.5px);
  }
  51% {
    transform: translateY(17.5px) translateX(0.3px);
  }
  52% {
    transform: translateY(16.95058px) translateX(0.6px);
  }
  53% {
    transform: translateY(16.40333px) translateX(0.9px);
  }
  54% {
    transform: translateY(15.86041px) translateX(1.2px);
  }
  55% {
    transform: translateY(15.32396px) translateX(1.5px);
  }
  56% {
    transform: translateY(14.7961px) translateX(1.8px);
  }
  57% {
    transform: translateY(14.27891px) translateX(2.1px);
  }
  58% {
    transform: translateY(13.77443px) translateX(2.4px);
  }
  59% {
    transform: translateY(13.28466px) translateX(2.7px);
  }
  60% {
    transform: translateY(12.81152px) translateX(3px);
  }
  61% {
    transform: translateY(12.35688px) translateX(3.3px);
  }
  62% {
    transform: translateY(11.92254px) translateX(3.6px);
  }
  63% {
    transform: translateY(11.51021px) translateX(3.9px);
  }
  64% {
    transform: translateY(11.12152px) translateX(4.2px);
  }
  65% {
    transform: translateY(10.75801px) translateX(4.5px);
  }
  66% {
    transform: translateY(10.4211px) translateX(4.8px);
  }
  67% {
    transform: translateY(10.11213px) translateX(5.1px);
  }
  68% {
    transform: translateY(9.83232px) translateX(5.4px);
  }
  69% {
    transform: translateY(9.58276px) translateX(5.7px);
  }
  70% {
    transform: translateY(9.36446px) translateX(6px);
  }
  71% {
    transform: translateY(9.17826px) translateX(6.3px);
  }
  72% {
    transform: translateY(9.0249px) translateX(6.6px);
  }
  73% {
    transform: translateY(8.90499px) translateX(6.9px);
  }
  74% {
    transform: translateY(8.819px) translateX(7.2px);
  }
  75% {
    transform: translateY(8.76727px) translateX(7.5px);
  }
  76% {
    transform: translateY(8.75px) translateX(7.8px);
  }
  77% {
    transform: translateY(8.76727px) translateX(8.1px);
  }
  78% {
    transform: translateY(8.819px) translateX(8.4px);
  }
  79% {
    transform: translateY(8.90499px) translateX(8.7px);
  }
  80% {
    transform: translateY(9.0249px) translateX(9px);
  }
  81% {
    transform: translateY(9.17826px) translateX(9.3px);
  }
  82% {
    transform: translateY(9.36446px) translateX(9.6px);
  }
  83% {
    transform: translateY(9.58276px) translateX(9.9px);
  }
  84% {
    transform: translateY(9.83232px) translateX(10.2px);
  }
  85% {
    transform: translateY(10.11213px) translateX(10.5px);
  }
  86% {
    transform: translateY(10.4211px) translateX(10.8px);
  }
  87% {
    transform: translateY(10.75801px) translateX(11.1px);
  }
  88% {
    transform: translateY(11.12152px) translateX(11.4px);
  }
  89% {
    transform: translateY(11.51021px) translateX(11.7px);
  }
  90% {
    transform: translateY(11.92254px) translateX(12px);
  }
  91% {
    transform: translateY(12.35688px) translateX(12.3px);
  }
  92% {
    transform: translateY(12.81152px) translateX(12.6px);
  }
  93% {
    transform: translateY(13.28466px) translateX(12.9px);
  }
  94% {
    transform: translateY(13.77443px) translateX(13.2px);
  }
  95% {
    transform: translateY(14.27891px) translateX(13.5px);
  }
  96% {
    transform: translateY(14.7961px) translateX(13.8px);
  }
  97% {
    transform: translateY(15.32396px) translateX(14.1px);
  }
  98% {
    transform: translateY(15.86041px) translateX(14.4px);
  }
  99% {
    transform: translateY(16.40333px) translateX(14.7px);
  }
  100% {
    transform: translateY(16.95058px) translateX(15px);
  }
}
@-webkit-keyframes fillOpacity {
  0% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
  100% {
    fill-opacity: 1;
    stroke-opacity: 1;
  }
}
@-moz-keyframes fillOpacity {
  0% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
  100% {
    fill-opacity: 1;
    stroke-opacity: 1;
  }
}
@-o-keyframes fillOpacity {
  0% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
  100% {
    fill-opacity: 1;
    stroke-opacity: 1;
  }
}
@keyframes fillOpacity {
  0% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
  100% {
    fill-opacity: 1;
    stroke-opacity: 1;
  }
}
@-webkit-keyframes fillOpacity2 {
  0% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
  50% {
    fill-opacity: 1;
    stroke-opacity: 1;
  }
  100% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
}
@-moz-keyframes fillOpacity2 {
  0% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
  50% {
    fill-opacity: 1;
    stroke-opacity: 1;
  }
  100% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
}
@-o-keyframes fillOpacity2 {
  0% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
  50% {
    fill-opacity: 1;
    stroke-opacity: 1;
  }
  100% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
}
@keyframes fillOpacity2 {
  0% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
  50% {
    fill-opacity: 1;
    stroke-opacity: 1;
  }
  100% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
}
@-webkit-keyframes lightningFlash {
  0% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
  1% {
    fill-opacity: 1;
    stroke-opacity: 1;
  }
  7% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
  50% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
  51% {
    fill-opacity: 1;
    stroke-opacity: 1;
  }
  53% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
  54% {
    fill-opacity: 1;
    stroke-opacity: 1;
  }
  60% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
  100% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
}
@-moz-keyframes lightningFlash {
  0% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
  1% {
    fill-opacity: 1;
    stroke-opacity: 1;
  }
  7% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
  50% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
  51% {
    fill-opacity: 1;
    stroke-opacity: 1;
  }
  53% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
  54% {
    fill-opacity: 1;
    stroke-opacity: 1;
  }
  60% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
  100% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
}
@-o-keyframes lightningFlash {
  0% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
  1% {
    fill-opacity: 1;
    stroke-opacity: 1;
  }
  7% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
  50% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
  51% {
    fill-opacity: 1;
    stroke-opacity: 1;
  }
  53% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
  54% {
    fill-opacity: 1;
    stroke-opacity: 1;
  }
  60% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
  100% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
}
@keyframes lightningFlash {
  0% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
  1% {
    fill-opacity: 1;
    stroke-opacity: 1;
  }
  7% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
  50% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
  51% {
    fill-opacity: 1;
    stroke-opacity: 1;
  }
  53% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
  54% {
    fill-opacity: 1;
    stroke-opacity: 1;
  }
  60% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
  100% {
    fill-opacity: 0;
    stroke-opacity: 0;
  }
}
@-webkit-keyframes snowFall {
  0% {
    -webkit-transform: translateY(0px) translateX(0px);
  }
  1% {
    -webkit-transform: translateY(0.175px) translateX(0.38478px);
  }
  2% {
    -webkit-transform: translateY(0.35px) translateX(0.75349px);
  }
  3% {
    -webkit-transform: translateY(0.525px) translateX(1.10577px);
  }
  4% {
    -webkit-transform: translateY(0.7px) translateX(1.44133px);
  }
  5% {
    -webkit-transform: translateY(0.875px) translateX(1.75989px);
  }
  6% {
    -webkit-transform: translateY(1.05px) translateX(2.06119px);
  }
  7% {
    -webkit-transform: translateY(1.225px) translateX(2.34504px);
  }
  8% {
    -webkit-transform: translateY(1.4px) translateX(2.61124px);
  }
  9% {
    -webkit-transform: translateY(1.575px) translateX(2.85966px);
  }
  10% {
    -webkit-transform: translateY(1.75px) translateX(3.09017px);
  }
  11% {
    -webkit-transform: translateY(1.925px) translateX(3.30269px);
  }
  12% {
    -webkit-transform: translateY(2.1px) translateX(3.49718px);
  }
  13% {
    -webkit-transform: translateY(2.275px) translateX(3.67362px);
  }
  14% {
    -webkit-transform: translateY(2.45px) translateX(3.83201px);
  }
  15% {
    -webkit-transform: translateY(2.625px) translateX(3.97242px);
  }
  16% {
    -webkit-transform: translateY(2.8px) translateX(4.09491px);
  }
  17% {
    -webkit-transform: translateY(2.975px) translateX(4.19959px);
  }
  18% {
    -webkit-transform: translateY(3.15px) translateX(4.28661px);
  }
  19% {
    -webkit-transform: translateY(3.325px) translateX(4.35615px);
  }
  20% {
    -webkit-transform: translateY(3.5px) translateX(4.40839px);
  }
  21% {
    -webkit-transform: translateY(3.675px) translateX(4.44358px);
  }
  22% {
    -webkit-transform: translateY(3.85px) translateX(4.46197px);
  }
  23% {
    -webkit-transform: translateY(4.025px) translateX(4.46386px);
  }
  24% {
    -webkit-transform: translateY(4.2px) translateX(4.44956px);
  }
  25% {
    -webkit-transform: translateY(4.375px) translateX(4.41942px);
  }
  26% {
    -webkit-transform: translateY(4.55px) translateX(4.37381px);
  }
  27% {
    -webkit-transform: translateY(4.725px) translateX(4.31314px);
  }
  28% {
    -webkit-transform: translateY(4.9px) translateX(4.23782px);
  }
  29% {
    -webkit-transform: translateY(5.075px) translateX(4.14831px);
  }
  30% {
    -webkit-transform: translateY(5.25px) translateX(4.04508px);
  }
  31% {
    -webkit-transform: translateY(5.425px) translateX(3.92863px);
  }
  32% {
    -webkit-transform: translateY(5.6px) translateX(3.79948px);
  }
  33% {
    -webkit-transform: translateY(5.775px) translateX(3.65815px);
  }
  34% {
    -webkit-transform: translateY(5.95px) translateX(3.50523px);
  }
  35% {
    -webkit-transform: translateY(6.125px) translateX(3.34127px);
  }
  36% {
    -webkit-transform: translateY(6.3px) translateX(3.16689px);
  }
  37% {
    -webkit-transform: translateY(6.475px) translateX(2.9827px);
  }
  38% {
    -webkit-transform: translateY(6.65px) translateX(2.78933px);
  }
  39% {
    -webkit-transform: translateY(6.825px) translateX(2.58742px);
  }
  40% {
    -webkit-transform: translateY(7px) translateX(2.37764px);
  }
  41% {
    -webkit-transform: translateY(7.175px) translateX(2.16066px);
  }
  42% {
    -webkit-transform: translateY(7.35px) translateX(1.93717px);
  }
  43% {
    -webkit-transform: translateY(7.525px) translateX(1.70785px);
  }
  44% {
    -webkit-transform: translateY(7.7px) translateX(1.47343px);
  }
  45% {
    -webkit-transform: translateY(7.875px) translateX(1.23461px);
  }
  46% {
    -webkit-transform: translateY(8.05px) translateX(0.99211px);
  }
  47% {
    -webkit-transform: translateY(8.225px) translateX(0.74667px);
  }
  48% {
    -webkit-transform: translateY(8.4px) translateX(0.49901px);
  }
  49% {
    -webkit-transform: translateY(8.575px) translateX(0.24988px);
  }
  50% {
    -webkit-transform: translateY(8.75px) translateX(0px);
  }
  51% {
    -webkit-transform: translateY(8.925px) translateX(-0.24988px);
  }
  52% {
    -webkit-transform: translateY(9.1px) translateX(-0.49901px);
  }
  53% {
    -webkit-transform: translateY(9.275px) translateX(-0.74667px);
  }
  54% {
    -webkit-transform: translateY(9.45px) translateX(-0.99211px);
  }
  55% {
    -webkit-transform: translateY(9.625px) translateX(-1.23461px);
  }
  56% {
    -webkit-transform: translateY(9.8px) translateX(-1.47343px);
  }
  57% {
    -webkit-transform: translateY(9.975px) translateX(-1.70785px);
  }
  58% {
    -webkit-transform: translateY(10.15px) translateX(-1.93717px);
  }
  59% {
    -webkit-transform: translateY(10.325px) translateX(-2.16066px);
  }
  60% {
    -webkit-transform: translateY(10.5px) translateX(-2.37764px);
  }
  61% {
    -webkit-transform: translateY(10.675px) translateX(-2.58742px);
  }
  62% {
    -webkit-transform: translateY(10.85px) translateX(-2.78933px);
  }
  63% {
    -webkit-transform: translateY(11.025px) translateX(-2.9827px);
  }
  64% {
    -webkit-transform: translateY(11.2px) translateX(-3.16689px);
  }
  65% {
    -webkit-transform: translateY(11.375px) translateX(-3.34127px);
  }
  66% {
    -webkit-transform: translateY(11.55px) translateX(-3.50523px);
  }
  67% {
    -webkit-transform: translateY(11.725px) translateX(-3.65815px);
  }
  68% {
    -webkit-transform: translateY(11.9px) translateX(-3.79948px);
  }
  69% {
    -webkit-transform: translateY(12.075px) translateX(-3.92863px);
  }
  70% {
    -webkit-transform: translateY(12.25px) translateX(-4.04508px);
  }
  71% {
    -webkit-transform: translateY(12.425px) translateX(-4.14831px);
  }
  72% {
    -webkit-transform: translateY(12.6px) translateX(-4.23782px);
  }
  73% {
    -webkit-transform: translateY(12.775px) translateX(-4.31314px);
  }
  74% {
    -webkit-transform: translateY(12.95px) translateX(-4.37381px);
  }
  75% {
    -webkit-transform: translateY(13.125px) translateX(-4.41942px);
  }
  76% {
    -webkit-transform: translateY(13.3px) translateX(-4.44956px);
  }
  77% {
    -webkit-transform: translateY(13.475px) translateX(-4.46386px);
  }
  78% {
    -webkit-transform: translateY(13.65px) translateX(-4.46197px);
  }
  79% {
    -webkit-transform: translateY(13.825px) translateX(-4.44358px);
  }
  80% {
    -webkit-transform: translateY(14px) translateX(-4.40839px);
  }
  81% {
    -webkit-transform: translateY(14.175px) translateX(-4.35615px);
  }
  82% {
    -webkit-transform: translateY(14.35px) translateX(-4.28661px);
  }
  83% {
    -webkit-transform: translateY(14.525px) translateX(-4.19959px);
  }
  84% {
    -webkit-transform: translateY(14.7px) translateX(-4.09491px);
  }
  85% {
    -webkit-transform: translateY(14.875px) translateX(-3.97242px);
  }
  86% {
    -webkit-transform: translateY(15.05px) translateX(-3.83201px);
  }
  87% {
    -webkit-transform: translateY(15.225px) translateX(-3.67362px);
  }
  88% {
    -webkit-transform: translateY(15.4px) translateX(-3.49718px);
  }
  89% {
    -webkit-transform: translateY(15.575px) translateX(-3.30269px);
  }
  90% {
    -webkit-transform: translateY(15.75px) translateX(-3.09017px);
  }
  91% {
    -webkit-transform: translateY(15.925px) translateX(-2.85966px);
  }
  92% {
    -webkit-transform: translateY(16.1px) translateX(-2.61124px);
  }
  93% {
    -webkit-transform: translateY(16.275px) translateX(-2.34504px);
  }
  94% {
    -webkit-transform: translateY(16.45px) translateX(-2.06119px);
  }
  95% {
    -webkit-transform: translateY(16.625px) translateX(-1.75989px);
  }
  96% {
    -webkit-transform: translateY(16.8px) translateX(-1.44133px);
  }
  97% {
    -webkit-transform: translateY(16.975px) translateX(-1.10577px);
  }
  98% {
    -webkit-transform: translateY(17.15px) translateX(-0.75349px);
  }
  99% {
    -webkit-transform: translateY(17.325px) translateX(-0.38478px);
  }
  100% {
    -webkit-transform: translateY(17.5px) translateX(0px);
  }
}
@-moz-keyframes snowFall {
  0% {
    -moz-transform: translateY(0px) translateX(0px);
  }
  1% {
    -moz-transform: translateY(0.175px) translateX(0.38478px);
  }
  2% {
    -moz-transform: translateY(0.35px) translateX(0.75349px);
  }
  3% {
    -moz-transform: translateY(0.525px) translateX(1.10577px);
  }
  4% {
    -moz-transform: translateY(0.7px) translateX(1.44133px);
  }
  5% {
    -moz-transform: translateY(0.875px) translateX(1.75989px);
  }
  6% {
    -moz-transform: translateY(1.05px) translateX(2.06119px);
  }
  7% {
    -moz-transform: translateY(1.225px) translateX(2.34504px);
  }
  8% {
    -moz-transform: translateY(1.4px) translateX(2.61124px);
  }
  9% {
    -moz-transform: translateY(1.575px) translateX(2.85966px);
  }
  10% {
    -moz-transform: translateY(1.75px) translateX(3.09017px);
  }
  11% {
    -moz-transform: translateY(1.925px) translateX(3.30269px);
  }
  12% {
    -moz-transform: translateY(2.1px) translateX(3.49718px);
  }
  13% {
    -moz-transform: translateY(2.275px) translateX(3.67362px);
  }
  14% {
    -moz-transform: translateY(2.45px) translateX(3.83201px);
  }
  15% {
    -moz-transform: translateY(2.625px) translateX(3.97242px);
  }
  16% {
    -moz-transform: translateY(2.8px) translateX(4.09491px);
  }
  17% {
    -moz-transform: translateY(2.975px) translateX(4.19959px);
  }
  18% {
    -moz-transform: translateY(3.15px) translateX(4.28661px);
  }
  19% {
    -moz-transform: translateY(3.325px) translateX(4.35615px);
  }
  20% {
    -moz-transform: translateY(3.5px) translateX(4.40839px);
  }
  21% {
    -moz-transform: translateY(3.675px) translateX(4.44358px);
  }
  22% {
    -moz-transform: translateY(3.85px) translateX(4.46197px);
  }
  23% {
    -moz-transform: translateY(4.025px) translateX(4.46386px);
  }
  24% {
    -moz-transform: translateY(4.2px) translateX(4.44956px);
  }
  25% {
    -moz-transform: translateY(4.375px) translateX(4.41942px);
  }
  26% {
    -moz-transform: translateY(4.55px) translateX(4.37381px);
  }
  27% {
    -moz-transform: translateY(4.725px) translateX(4.31314px);
  }
  28% {
    -moz-transform: translateY(4.9px) translateX(4.23782px);
  }
  29% {
    -moz-transform: translateY(5.075px) translateX(4.14831px);
  }
  30% {
    -moz-transform: translateY(5.25px) translateX(4.04508px);
  }
  31% {
    -moz-transform: translateY(5.425px) translateX(3.92863px);
  }
  32% {
    -moz-transform: translateY(5.6px) translateX(3.79948px);
  }
  33% {
    -moz-transform: translateY(5.775px) translateX(3.65815px);
  }
  34% {
    -moz-transform: translateY(5.95px) translateX(3.50523px);
  }
  35% {
    -moz-transform: translateY(6.125px) translateX(3.34127px);
  }
  36% {
    -moz-transform: translateY(6.3px) translateX(3.16689px);
  }
  37% {
    -moz-transform: translateY(6.475px) translateX(2.9827px);
  }
  38% {
    -moz-transform: translateY(6.65px) translateX(2.78933px);
  }
  39% {
    -moz-transform: translateY(6.825px) translateX(2.58742px);
  }
  40% {
    -moz-transform: translateY(7px) translateX(2.37764px);
  }
  41% {
    -moz-transform: translateY(7.175px) translateX(2.16066px);
  }
  42% {
    -moz-transform: translateY(7.35px) translateX(1.93717px);
  }
  43% {
    -moz-transform: translateY(7.525px) translateX(1.70785px);
  }
  44% {
    -moz-transform: translateY(7.7px) translateX(1.47343px);
  }
  45% {
    -moz-transform: translateY(7.875px) translateX(1.23461px);
  }
  46% {
    -moz-transform: translateY(8.05px) translateX(0.99211px);
  }
  47% {
    -moz-transform: translateY(8.225px) translateX(0.74667px);
  }
  48% {
    -moz-transform: translateY(8.4px) translateX(0.49901px);
  }
  49% {
    -moz-transform: translateY(8.575px) translateX(0.24988px);
  }
  50% {
    -moz-transform: translateY(8.75px) translateX(0px);
  }
  51% {
    -moz-transform: translateY(8.925px) translateX(-0.24988px);
  }
  52% {
    -moz-transform: translateY(9.1px) translateX(-0.49901px);
  }
  53% {
    -moz-transform: translateY(9.275px) translateX(-0.74667px);
  }
  54% {
    -moz-transform: translateY(9.45px) translateX(-0.99211px);
  }
  55% {
    -moz-transform: translateY(9.625px) translateX(-1.23461px);
  }
  56% {
    -moz-transform: translateY(9.8px) translateX(-1.47343px);
  }
  57% {
    -moz-transform: translateY(9.975px) translateX(-1.70785px);
  }
  58% {
    -moz-transform: translateY(10.15px) translateX(-1.93717px);
  }
  59% {
    -moz-transform: translateY(10.325px) translateX(-2.16066px);
  }
  60% {
    -moz-transform: translateY(10.5px) translateX(-2.37764px);
  }
  61% {
    -moz-transform: translateY(10.675px) translateX(-2.58742px);
  }
  62% {
    -moz-transform: translateY(10.85px) translateX(-2.78933px);
  }
  63% {
    -moz-transform: translateY(11.025px) translateX(-2.9827px);
  }
  64% {
    -moz-transform: translateY(11.2px) translateX(-3.16689px);
  }
  65% {
    -moz-transform: translateY(11.375px) translateX(-3.34127px);
  }
  66% {
    -moz-transform: translateY(11.55px) translateX(-3.50523px);
  }
  67% {
    -moz-transform: translateY(11.725px) translateX(-3.65815px);
  }
  68% {
    -moz-transform: translateY(11.9px) translateX(-3.79948px);
  }
  69% {
    -moz-transform: translateY(12.075px) translateX(-3.92863px);
  }
  70% {
    -moz-transform: translateY(12.25px) translateX(-4.04508px);
  }
  71% {
    -moz-transform: translateY(12.425px) translateX(-4.14831px);
  }
  72% {
    -moz-transform: translateY(12.6px) translateX(-4.23782px);
  }
  73% {
    -moz-transform: translateY(12.775px) translateX(-4.31314px);
  }
  74% {
    -moz-transform: translateY(12.95px) translateX(-4.37381px);
  }
  75% {
    -moz-transform: translateY(13.125px) translateX(-4.41942px);
  }
  76% {
    -moz-transform: translateY(13.3px) translateX(-4.44956px);
  }
  77% {
    -moz-transform: translateY(13.475px) translateX(-4.46386px);
  }
  78% {
    -moz-transform: translateY(13.65px) translateX(-4.46197px);
  }
  79% {
    -moz-transform: translateY(13.825px) translateX(-4.44358px);
  }
  80% {
    -moz-transform: translateY(14px) translateX(-4.40839px);
  }
  81% {
    -moz-transform: translateY(14.175px) translateX(-4.35615px);
  }
  82% {
    -moz-transform: translateY(14.35px) translateX(-4.28661px);
  }
  83% {
    -moz-transform: translateY(14.525px) translateX(-4.19959px);
  }
  84% {
    -moz-transform: translateY(14.7px) translateX(-4.09491px);
  }
  85% {
    -moz-transform: translateY(14.875px) translateX(-3.97242px);
  }
  86% {
    -moz-transform: translateY(15.05px) translateX(-3.83201px);
  }
  87% {
    -moz-transform: translateY(15.225px) translateX(-3.67362px);
  }
  88% {
    -moz-transform: translateY(15.4px) translateX(-3.49718px);
  }
  89% {
    -moz-transform: translateY(15.575px) translateX(-3.30269px);
  }
  90% {
    -moz-transform: translateY(15.75px) translateX(-3.09017px);
  }
  91% {
    -moz-transform: translateY(15.925px) translateX(-2.85966px);
  }
  92% {
    -moz-transform: translateY(16.1px) translateX(-2.61124px);
  }
  93% {
    -moz-transform: translateY(16.275px) translateX(-2.34504px);
  }
  94% {
    -moz-transform: translateY(16.45px) translateX(-2.06119px);
  }
  95% {
    -moz-transform: translateY(16.625px) translateX(-1.75989px);
  }
  96% {
    -moz-transform: translateY(16.8px) translateX(-1.44133px);
  }
  97% {
    -moz-transform: translateY(16.975px) translateX(-1.10577px);
  }
  98% {
    -moz-transform: translateY(17.15px) translateX(-0.75349px);
  }
  99% {
    -moz-transform: translateY(17.325px) translateX(-0.38478px);
  }
  100% {
    -moz-transform: translateY(17.5px) translateX(0px);
  }
}
@-o-keyframes snowFall {
  0% {
    -o-transform: translateY(0px) translateX(0px);
  }
  1% {
    -o-transform: translateY(0.175px) translateX(0.38478px);
  }
  2% {
    -o-transform: translateY(0.35px) translateX(0.75349px);
  }
  3% {
    -o-transform: translateY(0.525px) translateX(1.10577px);
  }
  4% {
    -o-transform: translateY(0.7px) translateX(1.44133px);
  }
  5% {
    -o-transform: translateY(0.875px) translateX(1.75989px);
  }
  6% {
    -o-transform: translateY(1.05px) translateX(2.06119px);
  }
  7% {
    -o-transform: translateY(1.225px) translateX(2.34504px);
  }
  8% {
    -o-transform: translateY(1.4px) translateX(2.61124px);
  }
  9% {
    -o-transform: translateY(1.575px) translateX(2.85966px);
  }
  10% {
    -o-transform: translateY(1.75px) translateX(3.09017px);
  }
  11% {
    -o-transform: translateY(1.925px) translateX(3.30269px);
  }
  12% {
    -o-transform: translateY(2.1px) translateX(3.49718px);
  }
  13% {
    -o-transform: translateY(2.275px) translateX(3.67362px);
  }
  14% {
    -o-transform: translateY(2.45px) translateX(3.83201px);
  }
  15% {
    -o-transform: translateY(2.625px) translateX(3.97242px);
  }
  16% {
    -o-transform: translateY(2.8px) translateX(4.09491px);
  }
  17% {
    -o-transform: translateY(2.975px) translateX(4.19959px);
  }
  18% {
    -o-transform: translateY(3.15px) translateX(4.28661px);
  }
  19% {
    -o-transform: translateY(3.325px) translateX(4.35615px);
  }
  20% {
    -o-transform: translateY(3.5px) translateX(4.40839px);
  }
  21% {
    -o-transform: translateY(3.675px) translateX(4.44358px);
  }
  22% {
    -o-transform: translateY(3.85px) translateX(4.46197px);
  }
  23% {
    -o-transform: translateY(4.025px) translateX(4.46386px);
  }
  24% {
    -o-transform: translateY(4.2px) translateX(4.44956px);
  }
  25% {
    -o-transform: translateY(4.375px) translateX(4.41942px);
  }
  26% {
    -o-transform: translateY(4.55px) translateX(4.37381px);
  }
  27% {
    -o-transform: translateY(4.725px) translateX(4.31314px);
  }
  28% {
    -o-transform: translateY(4.9px) translateX(4.23782px);
  }
  29% {
    -o-transform: translateY(5.075px) translateX(4.14831px);
  }
  30% {
    -o-transform: translateY(5.25px) translateX(4.04508px);
  }
  31% {
    -o-transform: translateY(5.425px) translateX(3.92863px);
  }
  32% {
    -o-transform: translateY(5.6px) translateX(3.79948px);
  }
  33% {
    -o-transform: translateY(5.775px) translateX(3.65815px);
  }
  34% {
    -o-transform: translateY(5.95px) translateX(3.50523px);
  }
  35% {
    -o-transform: translateY(6.125px) translateX(3.34127px);
  }
  36% {
    -o-transform: translateY(6.3px) translateX(3.16689px);
  }
  37% {
    -o-transform: translateY(6.475px) translateX(2.9827px);
  }
  38% {
    -o-transform: translateY(6.65px) translateX(2.78933px);
  }
  39% {
    -o-transform: translateY(6.825px) translateX(2.58742px);
  }
  40% {
    -o-transform: translateY(7px) translateX(2.37764px);
  }
  41% {
    -o-transform: translateY(7.175px) translateX(2.16066px);
  }
  42% {
    -o-transform: translateY(7.35px) translateX(1.93717px);
  }
  43% {
    -o-transform: translateY(7.525px) translateX(1.70785px);
  }
  44% {
    -o-transform: translateY(7.7px) translateX(1.47343px);
  }
  45% {
    -o-transform: translateY(7.875px) translateX(1.23461px);
  }
  46% {
    -o-transform: translateY(8.05px) translateX(0.99211px);
  }
  47% {
    -o-transform: translateY(8.225px) translateX(0.74667px);
  }
  48% {
    -o-transform: translateY(8.4px) translateX(0.49901px);
  }
  49% {
    -o-transform: translateY(8.575px) translateX(0.24988px);
  }
  50% {
    -o-transform: translateY(8.75px) translateX(0px);
  }
  51% {
    -o-transform: translateY(8.925px) translateX(-0.24988px);
  }
  52% {
    -o-transform: translateY(9.1px) translateX(-0.49901px);
  }
  53% {
    -o-transform: translateY(9.275px) translateX(-0.74667px);
  }
  54% {
    -o-transform: translateY(9.45px) translateX(-0.99211px);
  }
  55% {
    -o-transform: translateY(9.625px) translateX(-1.23461px);
  }
  56% {
    -o-transform: translateY(9.8px) translateX(-1.47343px);
  }
  57% {
    -o-transform: translateY(9.975px) translateX(-1.70785px);
  }
  58% {
    -o-transform: translateY(10.15px) translateX(-1.93717px);
  }
  59% {
    -o-transform: translateY(10.325px) translateX(-2.16066px);
  }
  60% {
    -o-transform: translateY(10.5px) translateX(-2.37764px);
  }
  61% {
    -o-transform: translateY(10.675px) translateX(-2.58742px);
  }
  62% {
    -o-transform: translateY(10.85px) translateX(-2.78933px);
  }
  63% {
    -o-transform: translateY(11.025px) translateX(-2.9827px);
  }
  64% {
    -o-transform: translateY(11.2px) translateX(-3.16689px);
  }
  65% {
    -o-transform: translateY(11.375px) translateX(-3.34127px);
  }
  66% {
    -o-transform: translateY(11.55px) translateX(-3.50523px);
  }
  67% {
    -o-transform: translateY(11.725px) translateX(-3.65815px);
  }
  68% {
    -o-transform: translateY(11.9px) translateX(-3.79948px);
  }
  69% {
    -o-transform: translateY(12.075px) translateX(-3.92863px);
  }
  70% {
    -o-transform: translateY(12.25px) translateX(-4.04508px);
  }
  71% {
    -o-transform: translateY(12.425px) translateX(-4.14831px);
  }
  72% {
    -o-transform: translateY(12.6px) translateX(-4.23782px);
  }
  73% {
    -o-transform: translateY(12.775px) translateX(-4.31314px);
  }
  74% {
    -o-transform: translateY(12.95px) translateX(-4.37381px);
  }
  75% {
    -o-transform: translateY(13.125px) translateX(-4.41942px);
  }
  76% {
    -o-transform: translateY(13.3px) translateX(-4.44956px);
  }
  77% {
    -o-transform: translateY(13.475px) translateX(-4.46386px);
  }
  78% {
    -o-transform: translateY(13.65px) translateX(-4.46197px);
  }
  79% {
    -o-transform: translateY(13.825px) translateX(-4.44358px);
  }
  80% {
    -o-transform: translateY(14px) translateX(-4.40839px);
  }
  81% {
    -o-transform: translateY(14.175px) translateX(-4.35615px);
  }
  82% {
    -o-transform: translateY(14.35px) translateX(-4.28661px);
  }
  83% {
    -o-transform: translateY(14.525px) translateX(-4.19959px);
  }
  84% {
    -o-transform: translateY(14.7px) translateX(-4.09491px);
  }
  85% {
    -o-transform: translateY(14.875px) translateX(-3.97242px);
  }
  86% {
    -o-transform: translateY(15.05px) translateX(-3.83201px);
  }
  87% {
    -o-transform: translateY(15.225px) translateX(-3.67362px);
  }
  88% {
    -o-transform: translateY(15.4px) translateX(-3.49718px);
  }
  89% {
    -o-transform: translateY(15.575px) translateX(-3.30269px);
  }
  90% {
    -o-transform: translateY(15.75px) translateX(-3.09017px);
  }
  91% {
    -o-transform: translateY(15.925px) translateX(-2.85966px);
  }
  92% {
    -o-transform: translateY(16.1px) translateX(-2.61124px);
  }
  93% {
    -o-transform: translateY(16.275px) translateX(-2.34504px);
  }
  94% {
    -o-transform: translateY(16.45px) translateX(-2.06119px);
  }
  95% {
    -o-transform: translateY(16.625px) translateX(-1.75989px);
  }
  96% {
    -o-transform: translateY(16.8px) translateX(-1.44133px);
  }
  97% {
    -o-transform: translateY(16.975px) translateX(-1.10577px);
  }
  98% {
    -o-transform: translateY(17.15px) translateX(-0.75349px);
  }
  99% {
    -o-transform: translateY(17.325px) translateX(-0.38478px);
  }
  100% {
    -o-transform: translateY(17.5px) translateX(0px);
  }
}
@keyframes snowFall {
  0% {
    transform: translateY(0px) translateX(0px);
  }
  1% {
    transform: translateY(0.175px) translateX(0.38478px);
  }
  2% {
    transform: translateY(0.35px) translateX(0.75349px);
  }
  3% {
    transform: translateY(0.525px) translateX(1.10577px);
  }
  4% {
    transform: translateY(0.7px) translateX(1.44133px);
  }
  5% {
    transform: translateY(0.875px) translateX(1.75989px);
  }
  6% {
    transform: translateY(1.05px) translateX(2.06119px);
  }
  7% {
    transform: translateY(1.225px) translateX(2.34504px);
  }
  8% {
    transform: translateY(1.4px) translateX(2.61124px);
  }
  9% {
    transform: translateY(1.575px) translateX(2.85966px);
  }
  10% {
    transform: translateY(1.75px) translateX(3.09017px);
  }
  11% {
    transform: translateY(1.925px) translateX(3.30269px);
  }
  12% {
    transform: translateY(2.1px) translateX(3.49718px);
  }
  13% {
    transform: translateY(2.275px) translateX(3.67362px);
  }
  14% {
    transform: translateY(2.45px) translateX(3.83201px);
  }
  15% {
    transform: translateY(2.625px) translateX(3.97242px);
  }
  16% {
    transform: translateY(2.8px) translateX(4.09491px);
  }
  17% {
    transform: translateY(2.975px) translateX(4.19959px);
  }
  18% {
    transform: translateY(3.15px) translateX(4.28661px);
  }
  19% {
    transform: translateY(3.325px) translateX(4.35615px);
  }
  20% {
    transform: translateY(3.5px) translateX(4.40839px);
  }
  21% {
    transform: translateY(3.675px) translateX(4.44358px);
  }
  22% {
    transform: translateY(3.85px) translateX(4.46197px);
  }
  23% {
    transform: translateY(4.025px) translateX(4.46386px);
  }
  24% {
    transform: translateY(4.2px) translateX(4.44956px);
  }
  25% {
    transform: translateY(4.375px) translateX(4.41942px);
  }
  26% {
    transform: translateY(4.55px) translateX(4.37381px);
  }
  27% {
    transform: translateY(4.725px) translateX(4.31314px);
  }
  28% {
    transform: translateY(4.9px) translateX(4.23782px);
  }
  29% {
    transform: translateY(5.075px) translateX(4.14831px);
  }
  30% {
    transform: translateY(5.25px) translateX(4.04508px);
  }
  31% {
    transform: translateY(5.425px) translateX(3.92863px);
  }
  32% {
    transform: translateY(5.6px) translateX(3.79948px);
  }
  33% {
    transform: translateY(5.775px) translateX(3.65815px);
  }
  34% {
    transform: translateY(5.95px) translateX(3.50523px);
  }
  35% {
    transform: translateY(6.125px) translateX(3.34127px);
  }
  36% {
    transform: translateY(6.3px) translateX(3.16689px);
  }
  37% {
    transform: translateY(6.475px) translateX(2.9827px);
  }
  38% {
    transform: translateY(6.65px) translateX(2.78933px);
  }
  39% {
    transform: translateY(6.825px) translateX(2.58742px);
  }
  40% {
    transform: translateY(7px) translateX(2.37764px);
  }
  41% {
    transform: translateY(7.175px) translateX(2.16066px);
  }
  42% {
    transform: translateY(7.35px) translateX(1.93717px);
  }
  43% {
    transform: translateY(7.525px) translateX(1.70785px);
  }
  44% {
    transform: translateY(7.7px) translateX(1.47343px);
  }
  45% {
    transform: translateY(7.875px) translateX(1.23461px);
  }
  46% {
    transform: translateY(8.05px) translateX(0.99211px);
  }
  47% {
    transform: translateY(8.225px) translateX(0.74667px);
  }
  48% {
    transform: translateY(8.4px) translateX(0.49901px);
  }
  49% {
    transform: translateY(8.575px) translateX(0.24988px);
  }
  50% {
    transform: translateY(8.75px) translateX(0px);
  }
  51% {
    transform: translateY(8.925px) translateX(-0.24988px);
  }
  52% {
    transform: translateY(9.1px) translateX(-0.49901px);
  }
  53% {
    transform: translateY(9.275px) translateX(-0.74667px);
  }
  54% {
    transform: translateY(9.45px) translateX(-0.99211px);
  }
  55% {
    transform: translateY(9.625px) translateX(-1.23461px);
  }
  56% {
    transform: translateY(9.8px) translateX(-1.47343px);
  }
  57% {
    transform: translateY(9.975px) translateX(-1.70785px);
  }
  58% {
    transform: translateY(10.15px) translateX(-1.93717px);
  }
  59% {
    transform: translateY(10.325px) translateX(-2.16066px);
  }
  60% {
    transform: translateY(10.5px) translateX(-2.37764px);
  }
  61% {
    transform: translateY(10.675px) translateX(-2.58742px);
  }
  62% {
    transform: translateY(10.85px) translateX(-2.78933px);
  }
  63% {
    transform: translateY(11.025px) translateX(-2.9827px);
  }
  64% {
    transform: translateY(11.2px) translateX(-3.16689px);
  }
  65% {
    transform: translateY(11.375px) translateX(-3.34127px);
  }
  66% {
    transform: translateY(11.55px) translateX(-3.50523px);
  }
  67% {
    transform: translateY(11.725px) translateX(-3.65815px);
  }
  68% {
    transform: translateY(11.9px) translateX(-3.79948px);
  }
  69% {
    transform: translateY(12.075px) translateX(-3.92863px);
  }
  70% {
    transform: translateY(12.25px) translateX(-4.04508px);
  }
  71% {
    transform: translateY(12.425px) translateX(-4.14831px);
  }
  72% {
    transform: translateY(12.6px) translateX(-4.23782px);
  }
  73% {
    transform: translateY(12.775px) translateX(-4.31314px);
  }
  74% {
    transform: translateY(12.95px) translateX(-4.37381px);
  }
  75% {
    transform: translateY(13.125px) translateX(-4.41942px);
  }
  76% {
    transform: translateY(13.3px) translateX(-4.44956px);
  }
  77% {
    transform: translateY(13.475px) translateX(-4.46386px);
  }
  78% {
    transform: translateY(13.65px) translateX(-4.46197px);
  }
  79% {
    transform: translateY(13.825px) translateX(-4.44358px);
  }
  80% {
    transform: translateY(14px) translateX(-4.40839px);
  }
  81% {
    transform: translateY(14.175px) translateX(-4.35615px);
  }
  82% {
    transform: translateY(14.35px) translateX(-4.28661px);
  }
  83% {
    transform: translateY(14.525px) translateX(-4.19959px);
  }
  84% {
    transform: translateY(14.7px) translateX(-4.09491px);
  }
  85% {
    transform: translateY(14.875px) translateX(-3.97242px);
  }
  86% {
    transform: translateY(15.05px) translateX(-3.83201px);
  }
  87% {
    transform: translateY(15.225px) translateX(-3.67362px);
  }
  88% {
    transform: translateY(15.4px) translateX(-3.49718px);
  }
  89% {
    transform: translateY(15.575px) translateX(-3.30269px);
  }
  90% {
    transform: translateY(15.75px) translateX(-3.09017px);
  }
  91% {
    transform: translateY(15.925px) translateX(-2.85966px);
  }
  92% {
    transform: translateY(16.1px) translateX(-2.61124px);
  }
  93% {
    transform: translateY(16.275px) translateX(-2.34504px);
  }
  94% {
    transform: translateY(16.45px) translateX(-2.06119px);
  }
  95% {
    transform: translateY(16.625px) translateX(-1.75989px);
  }
  96% {
    transform: translateY(16.8px) translateX(-1.44133px);
  }
  97% {
    transform: translateY(16.975px) translateX(-1.10577px);
  }
  98% {
    transform: translateY(17.15px) translateX(-0.75349px);
  }
  99% {
    transform: translateY(17.325px) translateX(-0.38478px);
  }
  100% {
    transform: translateY(17.5px) translateX(0px);
  }
}
@-webkit-keyframes snowFall2 {
  0% {
    -webkit-transform: translateY(0px) translateX(0px);
  }
  1% {
    -webkit-transform: translateY(0.175px) translateX(-0.38478px);
  }
  2% {
    -webkit-transform: translateY(0.35px) translateX(-0.75349px);
  }
  3% {
    -webkit-transform: translateY(0.525px) translateX(-1.10577px);
  }
  4% {
    -webkit-transform: translateY(0.7px) translateX(-1.44133px);
  }
  5% {
    -webkit-transform: translateY(0.875px) translateX(-1.75989px);
  }
  6% {
    -webkit-transform: translateY(1.05px) translateX(-2.06119px);
  }
  7% {
    -webkit-transform: translateY(1.225px) translateX(-2.34504px);
  }
  8% {
    -webkit-transform: translateY(1.4px) translateX(-2.61124px);
  }
  9% {
    -webkit-transform: translateY(1.575px) translateX(-2.85966px);
  }
  10% {
    -webkit-transform: translateY(1.75px) translateX(-3.09017px);
  }
  11% {
    -webkit-transform: translateY(1.925px) translateX(-3.30269px);
  }
  12% {
    -webkit-transform: translateY(2.1px) translateX(-3.49718px);
  }
  13% {
    -webkit-transform: translateY(2.275px) translateX(-3.67362px);
  }
  14% {
    -webkit-transform: translateY(2.45px) translateX(-3.83201px);
  }
  15% {
    -webkit-transform: translateY(2.625px) translateX(-3.97242px);
  }
  16% {
    -webkit-transform: translateY(2.8px) translateX(-4.09491px);
  }
  17% {
    -webkit-transform: translateY(2.975px) translateX(-4.19959px);
  }
  18% {
    -webkit-transform: translateY(3.15px) translateX(-4.28661px);
  }
  19% {
    -webkit-transform: translateY(3.325px) translateX(-4.35615px);
  }
  20% {
    -webkit-transform: translateY(3.5px) translateX(-4.40839px);
  }
  21% {
    -webkit-transform: translateY(3.675px) translateX(-4.44358px);
  }
  22% {
    -webkit-transform: translateY(3.85px) translateX(-4.46197px);
  }
  23% {
    -webkit-transform: translateY(4.025px) translateX(-4.46386px);
  }
  24% {
    -webkit-transform: translateY(4.2px) translateX(-4.44956px);
  }
  25% {
    -webkit-transform: translateY(4.375px) translateX(-4.41942px);
  }
  26% {
    -webkit-transform: translateY(4.55px) translateX(-4.37381px);
  }
  27% {
    -webkit-transform: translateY(4.725px) translateX(-4.31314px);
  }
  28% {
    -webkit-transform: translateY(4.9px) translateX(-4.23782px);
  }
  29% {
    -webkit-transform: translateY(5.075px) translateX(-4.14831px);
  }
  30% {
    -webkit-transform: translateY(5.25px) translateX(-4.04508px);
  }
  31% {
    -webkit-transform: translateY(5.425px) translateX(-3.92863px);
  }
  32% {
    -webkit-transform: translateY(5.6px) translateX(-3.79948px);
  }
  33% {
    -webkit-transform: translateY(5.775px) translateX(-3.65815px);
  }
  34% {
    -webkit-transform: translateY(5.95px) translateX(-3.50523px);
  }
  35% {
    -webkit-transform: translateY(6.125px) translateX(-3.34127px);
  }
  36% {
    -webkit-transform: translateY(6.3px) translateX(-3.16689px);
  }
  37% {
    -webkit-transform: translateY(6.475px) translateX(-2.9827px);
  }
  38% {
    -webkit-transform: translateY(6.65px) translateX(-2.78933px);
  }
  39% {
    -webkit-transform: translateY(6.825px) translateX(-2.58742px);
  }
  40% {
    -webkit-transform: translateY(7px) translateX(-2.37764px);
  }
  41% {
    -webkit-transform: translateY(7.175px) translateX(-2.16066px);
  }
  42% {
    -webkit-transform: translateY(7.35px) translateX(-1.93717px);
  }
  43% {
    -webkit-transform: translateY(7.525px) translateX(-1.70785px);
  }
  44% {
    -webkit-transform: translateY(7.7px) translateX(-1.47343px);
  }
  45% {
    -webkit-transform: translateY(7.875px) translateX(-1.23461px);
  }
  46% {
    -webkit-transform: translateY(8.05px) translateX(-0.99211px);
  }
  47% {
    -webkit-transform: translateY(8.225px) translateX(-0.74667px);
  }
  48% {
    -webkit-transform: translateY(8.4px) translateX(-0.49901px);
  }
  49% {
    -webkit-transform: translateY(8.575px) translateX(-0.24988px);
  }
  50% {
    -webkit-transform: translateY(8.75px) translateX(0px);
  }
  51% {
    -webkit-transform: translateY(8.925px) translateX(0.24988px);
  }
  52% {
    -webkit-transform: translateY(9.1px) translateX(0.49901px);
  }
  53% {
    -webkit-transform: translateY(9.275px) translateX(0.74667px);
  }
  54% {
    -webkit-transform: translateY(9.45px) translateX(0.99211px);
  }
  55% {
    -webkit-transform: translateY(9.625px) translateX(1.23461px);
  }
  56% {
    -webkit-transform: translateY(9.8px) translateX(1.47343px);
  }
  57% {
    -webkit-transform: translateY(9.975px) translateX(1.70785px);
  }
  58% {
    -webkit-transform: translateY(10.15px) translateX(1.93717px);
  }
  59% {
    -webkit-transform: translateY(10.325px) translateX(2.16066px);
  }
  60% {
    -webkit-transform: translateY(10.5px) translateX(2.37764px);
  }
  61% {
    -webkit-transform: translateY(10.675px) translateX(2.58742px);
  }
  62% {
    -webkit-transform: translateY(10.85px) translateX(2.78933px);
  }
  63% {
    -webkit-transform: translateY(11.025px) translateX(2.9827px);
  }
  64% {
    -webkit-transform: translateY(11.2px) translateX(3.16689px);
  }
  65% {
    -webkit-transform: translateY(11.375px) translateX(3.34127px);
  }
  66% {
    -webkit-transform: translateY(11.55px) translateX(3.50523px);
  }
  67% {
    -webkit-transform: translateY(11.725px) translateX(3.65815px);
  }
  68% {
    -webkit-transform: translateY(11.9px) translateX(3.79948px);
  }
  69% {
    -webkit-transform: translateY(12.075px) translateX(3.92863px);
  }
  70% {
    -webkit-transform: translateY(12.25px) translateX(4.04508px);
  }
  71% {
    -webkit-transform: translateY(12.425px) translateX(4.14831px);
  }
  72% {
    -webkit-transform: translateY(12.6px) translateX(4.23782px);
  }
  73% {
    -webkit-transform: translateY(12.775px) translateX(4.31314px);
  }
  74% {
    -webkit-transform: translateY(12.95px) translateX(4.37381px);
  }
  75% {
    -webkit-transform: translateY(13.125px) translateX(4.41942px);
  }
  76% {
    -webkit-transform: translateY(13.3px) translateX(4.44956px);
  }
  77% {
    -webkit-transform: translateY(13.475px) translateX(4.46386px);
  }
  78% {
    -webkit-transform: translateY(13.65px) translateX(4.46197px);
  }
  79% {
    -webkit-transform: translateY(13.825px) translateX(4.44358px);
  }
  80% {
    -webkit-transform: translateY(14px) translateX(4.40839px);
  }
  81% {
    -webkit-transform: translateY(14.175px) translateX(4.35615px);
  }
  82% {
    -webkit-transform: translateY(14.35px) translateX(4.28661px);
  }
  83% {
    -webkit-transform: translateY(14.525px) translateX(4.19959px);
  }
  84% {
    -webkit-transform: translateY(14.7px) translateX(4.09491px);
  }
  85% {
    -webkit-transform: translateY(14.875px) translateX(3.97242px);
  }
  86% {
    -webkit-transform: translateY(15.05px) translateX(3.83201px);
  }
  87% {
    -webkit-transform: translateY(15.225px) translateX(3.67362px);
  }
  88% {
    -webkit-transform: translateY(15.4px) translateX(3.49718px);
  }
  89% {
    -webkit-transform: translateY(15.575px) translateX(3.30269px);
  }
  90% {
    -webkit-transform: translateY(15.75px) translateX(3.09017px);
  }
  91% {
    -webkit-transform: translateY(15.925px) translateX(2.85966px);
  }
  92% {
    -webkit-transform: translateY(16.1px) translateX(2.61124px);
  }
  93% {
    -webkit-transform: translateY(16.275px) translateX(2.34504px);
  }
  94% {
    -webkit-transform: translateY(16.45px) translateX(2.06119px);
  }
  95% {
    -webkit-transform: translateY(16.625px) translateX(1.75989px);
  }
  96% {
    -webkit-transform: translateY(16.8px) translateX(1.44133px);
  }
  97% {
    -webkit-transform: translateY(16.975px) translateX(1.10577px);
  }
  98% {
    -webkit-transform: translateY(17.15px) translateX(0.75349px);
  }
  99% {
    -webkit-transform: translateY(17.325px) translateX(0.38478px);
  }
  100% {
    -webkit-transform: translateY(17.5px) translateX(0px);
  }
}
@-moz-keyframes snowFall2 {
  0% {
    -moz-transform: translateY(0px) translateX(0px);
  }
  1% {
    -moz-transform: translateY(0.175px) translateX(-0.38478px);
  }
  2% {
    -moz-transform: translateY(0.35px) translateX(-0.75349px);
  }
  3% {
    -moz-transform: translateY(0.525px) translateX(-1.10577px);
  }
  4% {
    -moz-transform: translateY(0.7px) translateX(-1.44133px);
  }
  5% {
    -moz-transform: translateY(0.875px) translateX(-1.75989px);
  }
  6% {
    -moz-transform: translateY(1.05px) translateX(-2.06119px);
  }
  7% {
    -moz-transform: translateY(1.225px) translateX(-2.34504px);
  }
  8% {
    -moz-transform: translateY(1.4px) translateX(-2.61124px);
  }
  9% {
    -moz-transform: translateY(1.575px) translateX(-2.85966px);
  }
  10% {
    -moz-transform: translateY(1.75px) translateX(-3.09017px);
  }
  11% {
    -moz-transform: translateY(1.925px) translateX(-3.30269px);
  }
  12% {
    -moz-transform: translateY(2.1px) translateX(-3.49718px);
  }
  13% {
    -moz-transform: translateY(2.275px) translateX(-3.67362px);
  }
  14% {
    -moz-transform: translateY(2.45px) translateX(-3.83201px);
  }
  15% {
    -moz-transform: translateY(2.625px) translateX(-3.97242px);
  }
  16% {
    -moz-transform: translateY(2.8px) translateX(-4.09491px);
  }
  17% {
    -moz-transform: translateY(2.975px) translateX(-4.19959px);
  }
  18% {
    -moz-transform: translateY(3.15px) translateX(-4.28661px);
  }
  19% {
    -moz-transform: translateY(3.325px) translateX(-4.35615px);
  }
  20% {
    -moz-transform: translateY(3.5px) translateX(-4.40839px);
  }
  21% {
    -moz-transform: translateY(3.675px) translateX(-4.44358px);
  }
  22% {
    -moz-transform: translateY(3.85px) translateX(-4.46197px);
  }
  23% {
    -moz-transform: translateY(4.025px) translateX(-4.46386px);
  }
  24% {
    -moz-transform: translateY(4.2px) translateX(-4.44956px);
  }
  25% {
    -moz-transform: translateY(4.375px) translateX(-4.41942px);
  }
  26% {
    -moz-transform: translateY(4.55px) translateX(-4.37381px);
  }
  27% {
    -moz-transform: translateY(4.725px) translateX(-4.31314px);
  }
  28% {
    -moz-transform: translateY(4.9px) translateX(-4.23782px);
  }
  29% {
    -moz-transform: translateY(5.075px) translateX(-4.14831px);
  }
  30% {
    -moz-transform: translateY(5.25px) translateX(-4.04508px);
  }
  31% {
    -moz-transform: translateY(5.425px) translateX(-3.92863px);
  }
  32% {
    -moz-transform: translateY(5.6px) translateX(-3.79948px);
  }
  33% {
    -moz-transform: translateY(5.775px) translateX(-3.65815px);
  }
  34% {
    -moz-transform: translateY(5.95px) translateX(-3.50523px);
  }
  35% {
    -moz-transform: translateY(6.125px) translateX(-3.34127px);
  }
  36% {
    -moz-transform: translateY(6.3px) translateX(-3.16689px);
  }
  37% {
    -moz-transform: translateY(6.475px) translateX(-2.9827px);
  }
  38% {
    -moz-transform: translateY(6.65px) translateX(-2.78933px);
  }
  39% {
    -moz-transform: translateY(6.825px) translateX(-2.58742px);
  }
  40% {
    -moz-transform: translateY(7px) translateX(-2.37764px);
  }
  41% {
    -moz-transform: translateY(7.175px) translateX(-2.16066px);
  }
  42% {
    -moz-transform: translateY(7.35px) translateX(-1.93717px);
  }
  43% {
    -moz-transform: translateY(7.525px) translateX(-1.70785px);
  }
  44% {
    -moz-transform: translateY(7.7px) translateX(-1.47343px);
  }
  45% {
    -moz-transform: translateY(7.875px) translateX(-1.23461px);
  }
  46% {
    -moz-transform: translateY(8.05px) translateX(-0.99211px);
  }
  47% {
    -moz-transform: translateY(8.225px) translateX(-0.74667px);
  }
  48% {
    -moz-transform: translateY(8.4px) translateX(-0.49901px);
  }
  49% {
    -moz-transform: translateY(8.575px) translateX(-0.24988px);
  }
  50% {
    -moz-transform: translateY(8.75px) translateX(0px);
  }
  51% {
    -moz-transform: translateY(8.925px) translateX(0.24988px);
  }
  52% {
    -moz-transform: translateY(9.1px) translateX(0.49901px);
  }
  53% {
    -moz-transform: translateY(9.275px) translateX(0.74667px);
  }
  54% {
    -moz-transform: translateY(9.45px) translateX(0.99211px);
  }
  55% {
    -moz-transform: translateY(9.625px) translateX(1.23461px);
  }
  56% {
    -moz-transform: translateY(9.8px) translateX(1.47343px);
  }
  57% {
    -moz-transform: translateY(9.975px) translateX(1.70785px);
  }
  58% {
    -moz-transform: translateY(10.15px) translateX(1.93717px);
  }
  59% {
    -moz-transform: translateY(10.325px) translateX(2.16066px);
  }
  60% {
    -moz-transform: translateY(10.5px) translateX(2.37764px);
  }
  61% {
    -moz-transform: translateY(10.675px) translateX(2.58742px);
  }
  62% {
    -moz-transform: translateY(10.85px) translateX(2.78933px);
  }
  63% {
    -moz-transform: translateY(11.025px) translateX(2.9827px);
  }
  64% {
    -moz-transform: translateY(11.2px) translateX(3.16689px);
  }
  65% {
    -moz-transform: translateY(11.375px) translateX(3.34127px);
  }
  66% {
    -moz-transform: translateY(11.55px) translateX(3.50523px);
  }
  67% {
    -moz-transform: translateY(11.725px) translateX(3.65815px);
  }
  68% {
    -moz-transform: translateY(11.9px) translateX(3.79948px);
  }
  69% {
    -moz-transform: translateY(12.075px) translateX(3.92863px);
  }
  70% {
    -moz-transform: translateY(12.25px) translateX(4.04508px);
  }
  71% {
    -moz-transform: translateY(12.425px) translateX(4.14831px);
  }
  72% {
    -moz-transform: translateY(12.6px) translateX(4.23782px);
  }
  73% {
    -moz-transform: translateY(12.775px) translateX(4.31314px);
  }
  74% {
    -moz-transform: translateY(12.95px) translateX(4.37381px);
  }
  75% {
    -moz-transform: translateY(13.125px) translateX(4.41942px);
  }
  76% {
    -moz-transform: translateY(13.3px) translateX(4.44956px);
  }
  77% {
    -moz-transform: translateY(13.475px) translateX(4.46386px);
  }
  78% {
    -moz-transform: translateY(13.65px) translateX(4.46197px);
  }
  79% {
    -moz-transform: translateY(13.825px) translateX(4.44358px);
  }
  80% {
    -moz-transform: translateY(14px) translateX(4.40839px);
  }
  81% {
    -moz-transform: translateY(14.175px) translateX(4.35615px);
  }
  82% {
    -moz-transform: translateY(14.35px) translateX(4.28661px);
  }
  83% {
    -moz-transform: translateY(14.525px) translateX(4.19959px);
  }
  84% {
    -moz-transform: translateY(14.7px) translateX(4.09491px);
  }
  85% {
    -moz-transform: translateY(14.875px) translateX(3.97242px);
  }
  86% {
    -moz-transform: translateY(15.05px) translateX(3.83201px);
  }
  87% {
    -moz-transform: translateY(15.225px) translateX(3.67362px);
  }
  88% {
    -moz-transform: translateY(15.4px) translateX(3.49718px);
  }
  89% {
    -moz-transform: translateY(15.575px) translateX(3.30269px);
  }
  90% {
    -moz-transform: translateY(15.75px) translateX(3.09017px);
  }
  91% {
    -moz-transform: translateY(15.925px) translateX(2.85966px);
  }
  92% {
    -moz-transform: translateY(16.1px) translateX(2.61124px);
  }
  93% {
    -moz-transform: translateY(16.275px) translateX(2.34504px);
  }
  94% {
    -moz-transform: translateY(16.45px) translateX(2.06119px);
  }
  95% {
    -moz-transform: translateY(16.625px) translateX(1.75989px);
  }
  96% {
    -moz-transform: translateY(16.8px) translateX(1.44133px);
  }
  97% {
    -moz-transform: translateY(16.975px) translateX(1.10577px);
  }
  98% {
    -moz-transform: translateY(17.15px) translateX(0.75349px);
  }
  99% {
    -moz-transform: translateY(17.325px) translateX(0.38478px);
  }
  100% {
    -moz-transform: translateY(17.5px) translateX(0px);
  }
}
@-o-keyframes snowFall2 {
  0% {
    -o-transform: translateY(0px) translateX(0px);
  }
  1% {
    -o-transform: translateY(0.175px) translateX(-0.38478px);
  }
  2% {
    -o-transform: translateY(0.35px) translateX(-0.75349px);
  }
  3% {
    -o-transform: translateY(0.525px) translateX(-1.10577px);
  }
  4% {
    -o-transform: translateY(0.7px) translateX(-1.44133px);
  }
  5% {
    -o-transform: translateY(0.875px) translateX(-1.75989px);
  }
  6% {
    -o-transform: translateY(1.05px) translateX(-2.06119px);
  }
  7% {
    -o-transform: translateY(1.225px) translateX(-2.34504px);
  }
  8% {
    -o-transform: translateY(1.4px) translateX(-2.61124px);
  }
  9% {
    -o-transform: translateY(1.575px) translateX(-2.85966px);
  }
  10% {
    -o-transform: translateY(1.75px) translateX(-3.09017px);
  }
  11% {
    -o-transform: translateY(1.925px) translateX(-3.30269px);
  }
  12% {
    -o-transform: translateY(2.1px) translateX(-3.49718px);
  }
  13% {
    -o-transform: translateY(2.275px) translateX(-3.67362px);
  }
  14% {
    -o-transform: translateY(2.45px) translateX(-3.83201px);
  }
  15% {
    -o-transform: translateY(2.625px) translateX(-3.97242px);
  }
  16% {
    -o-transform: translateY(2.8px) translateX(-4.09491px);
  }
  17% {
    -o-transform: translateY(2.975px) translateX(-4.19959px);
  }
  18% {
    -o-transform: translateY(3.15px) translateX(-4.28661px);
  }
  19% {
    -o-transform: translateY(3.325px) translateX(-4.35615px);
  }
  20% {
    -o-transform: translateY(3.5px) translateX(-4.40839px);
  }
  21% {
    -o-transform: translateY(3.675px) translateX(-4.44358px);
  }
  22% {
    -o-transform: translateY(3.85px) translateX(-4.46197px);
  }
  23% {
    -o-transform: translateY(4.025px) translateX(-4.46386px);
  }
  24% {
    -o-transform: translateY(4.2px) translateX(-4.44956px);
  }
  25% {
    -o-transform: translateY(4.375px) translateX(-4.41942px);
  }
  26% {
    -o-transform: translateY(4.55px) translateX(-4.37381px);
  }
  27% {
    -o-transform: translateY(4.725px) translateX(-4.31314px);
  }
  28% {
    -o-transform: translateY(4.9px) translateX(-4.23782px);
  }
  29% {
    -o-transform: translateY(5.075px) translateX(-4.14831px);
  }
  30% {
    -o-transform: translateY(5.25px) translateX(-4.04508px);
  }
  31% {
    -o-transform: translateY(5.425px) translateX(-3.92863px);
  }
  32% {
    -o-transform: translateY(5.6px) translateX(-3.79948px);
  }
  33% {
    -o-transform: translateY(5.775px) translateX(-3.65815px);
  }
  34% {
    -o-transform: translateY(5.95px) translateX(-3.50523px);
  }
  35% {
    -o-transform: translateY(6.125px) translateX(-3.34127px);
  }
  36% {
    -o-transform: translateY(6.3px) translateX(-3.16689px);
  }
  37% {
    -o-transform: translateY(6.475px) translateX(-2.9827px);
  }
  38% {
    -o-transform: translateY(6.65px) translateX(-2.78933px);
  }
  39% {
    -o-transform: translateY(6.825px) translateX(-2.58742px);
  }
  40% {
    -o-transform: translateY(7px) translateX(-2.37764px);
  }
  41% {
    -o-transform: translateY(7.175px) translateX(-2.16066px);
  }
  42% {
    -o-transform: translateY(7.35px) translateX(-1.93717px);
  }
  43% {
    -o-transform: translateY(7.525px) translateX(-1.70785px);
  }
  44% {
    -o-transform: translateY(7.7px) translateX(-1.47343px);
  }
  45% {
    -o-transform: translateY(7.875px) translateX(-1.23461px);
  }
  46% {
    -o-transform: translateY(8.05px) translateX(-0.99211px);
  }
  47% {
    -o-transform: translateY(8.225px) translateX(-0.74667px);
  }
  48% {
    -o-transform: translateY(8.4px) translateX(-0.49901px);
  }
  49% {
    -o-transform: translateY(8.575px) translateX(-0.24988px);
  }
  50% {
    -o-transform: translateY(8.75px) translateX(0px);
  }
  51% {
    -o-transform: translateY(8.925px) translateX(0.24988px);
  }
  52% {
    -o-transform: translateY(9.1px) translateX(0.49901px);
  }
  53% {
    -o-transform: translateY(9.275px) translateX(0.74667px);
  }
  54% {
    -o-transform: translateY(9.45px) translateX(0.99211px);
  }
  55% {
    -o-transform: translateY(9.625px) translateX(1.23461px);
  }
  56% {
    -o-transform: translateY(9.8px) translateX(1.47343px);
  }
  57% {
    -o-transform: translateY(9.975px) translateX(1.70785px);
  }
  58% {
    -o-transform: translateY(10.15px) translateX(1.93717px);
  }
  59% {
    -o-transform: translateY(10.325px) translateX(2.16066px);
  }
  60% {
    -o-transform: translateY(10.5px) translateX(2.37764px);
  }
  61% {
    -o-transform: translateY(10.675px) translateX(2.58742px);
  }
  62% {
    -o-transform: translateY(10.85px) translateX(2.78933px);
  }
  63% {
    -o-transform: translateY(11.025px) translateX(2.9827px);
  }
  64% {
    -o-transform: translateY(11.2px) translateX(3.16689px);
  }
  65% {
    -o-transform: translateY(11.375px) translateX(3.34127px);
  }
  66% {
    -o-transform: translateY(11.55px) translateX(3.50523px);
  }
  67% {
    -o-transform: translateY(11.725px) translateX(3.65815px);
  }
  68% {
    -o-transform: translateY(11.9px) translateX(3.79948px);
  }
  69% {
    -o-transform: translateY(12.075px) translateX(3.92863px);
  }
  70% {
    -o-transform: translateY(12.25px) translateX(4.04508px);
  }
  71% {
    -o-transform: translateY(12.425px) translateX(4.14831px);
  }
  72% {
    -o-transform: translateY(12.6px) translateX(4.23782px);
  }
  73% {
    -o-transform: translateY(12.775px) translateX(4.31314px);
  }
  74% {
    -o-transform: translateY(12.95px) translateX(4.37381px);
  }
  75% {
    -o-transform: translateY(13.125px) translateX(4.41942px);
  }
  76% {
    -o-transform: translateY(13.3px) translateX(4.44956px);
  }
  77% {
    -o-transform: translateY(13.475px) translateX(4.46386px);
  }
  78% {
    -o-transform: translateY(13.65px) translateX(4.46197px);
  }
  79% {
    -o-transform: translateY(13.825px) translateX(4.44358px);
  }
  80% {
    -o-transform: translateY(14px) translateX(4.40839px);
  }
  81% {
    -o-transform: translateY(14.175px) translateX(4.35615px);
  }
  82% {
    -o-transform: translateY(14.35px) translateX(4.28661px);
  }
  83% {
    -o-transform: translateY(14.525px) translateX(4.19959px);
  }
  84% {
    -o-transform: translateY(14.7px) translateX(4.09491px);
  }
  85% {
    -o-transform: translateY(14.875px) translateX(3.97242px);
  }
  86% {
    -o-transform: translateY(15.05px) translateX(3.83201px);
  }
  87% {
    -o-transform: translateY(15.225px) translateX(3.67362px);
  }
  88% {
    -o-transform: translateY(15.4px) translateX(3.49718px);
  }
  89% {
    -o-transform: translateY(15.575px) translateX(3.30269px);
  }
  90% {
    -o-transform: translateY(15.75px) translateX(3.09017px);
  }
  91% {
    -o-transform: translateY(15.925px) translateX(2.85966px);
  }
  92% {
    -o-transform: translateY(16.1px) translateX(2.61124px);
  }
  93% {
    -o-transform: translateY(16.275px) translateX(2.34504px);
  }
  94% {
    -o-transform: translateY(16.45px) translateX(2.06119px);
  }
  95% {
    -o-transform: translateY(16.625px) translateX(1.75989px);
  }
  96% {
    -o-transform: translateY(16.8px) translateX(1.44133px);
  }
  97% {
    -o-transform: translateY(16.975px) translateX(1.10577px);
  }
  98% {
    -o-transform: translateY(17.15px) translateX(0.75349px);
  }
  99% {
    -o-transform: translateY(17.325px) translateX(0.38478px);
  }
  100% {
    -o-transform: translateY(17.5px) translateX(0px);
  }
}
@keyframes snowFall2 {
  0% {
    transform: translateY(0px) translateX(0px);
  }
  1% {
    transform: translateY(0.175px) translateX(-0.38478px);
  }
  2% {
    transform: translateY(0.35px) translateX(-0.75349px);
  }
  3% {
    transform: translateY(0.525px) translateX(-1.10577px);
  }
  4% {
    transform: translateY(0.7px) translateX(-1.44133px);
  }
  5% {
    transform: translateY(0.875px) translateX(-1.75989px);
  }
  6% {
    transform: translateY(1.05px) translateX(-2.06119px);
  }
  7% {
    transform: translateY(1.225px) translateX(-2.34504px);
  }
  8% {
    transform: translateY(1.4px) translateX(-2.61124px);
  }
  9% {
    transform: translateY(1.575px) translateX(-2.85966px);
  }
  10% {
    transform: translateY(1.75px) translateX(-3.09017px);
  }
  11% {
    transform: translateY(1.925px) translateX(-3.30269px);
  }
  12% {
    transform: translateY(2.1px) translateX(-3.49718px);
  }
  13% {
    transform: translateY(2.275px) translateX(-3.67362px);
  }
  14% {
    transform: translateY(2.45px) translateX(-3.83201px);
  }
  15% {
    transform: translateY(2.625px) translateX(-3.97242px);
  }
  16% {
    transform: translateY(2.8px) translateX(-4.09491px);
  }
  17% {
    transform: translateY(2.975px) translateX(-4.19959px);
  }
  18% {
    transform: translateY(3.15px) translateX(-4.28661px);
  }
  19% {
    transform: translateY(3.325px) translateX(-4.35615px);
  }
  20% {
    transform: translateY(3.5px) translateX(-4.40839px);
  }
  21% {
    transform: translateY(3.675px) translateX(-4.44358px);
  }
  22% {
    transform: translateY(3.85px) translateX(-4.46197px);
  }
  23% {
    transform: translateY(4.025px) translateX(-4.46386px);
  }
  24% {
    transform: translateY(4.2px) translateX(-4.44956px);
  }
  25% {
    transform: translateY(4.375px) translateX(-4.41942px);
  }
  26% {
    transform: translateY(4.55px) translateX(-4.37381px);
  }
  27% {
    transform: translateY(4.725px) translateX(-4.31314px);
  }
  28% {
    transform: translateY(4.9px) translateX(-4.23782px);
  }
  29% {
    transform: translateY(5.075px) translateX(-4.14831px);
  }
  30% {
    transform: translateY(5.25px) translateX(-4.04508px);
  }
  31% {
    transform: translateY(5.425px) translateX(-3.92863px);
  }
  32% {
    transform: translateY(5.6px) translateX(-3.79948px);
  }
  33% {
    transform: translateY(5.775px) translateX(-3.65815px);
  }
  34% {
    transform: translateY(5.95px) translateX(-3.50523px);
  }
  35% {
    transform: translateY(6.125px) translateX(-3.34127px);
  }
  36% {
    transform: translateY(6.3px) translateX(-3.16689px);
  }
  37% {
    transform: translateY(6.475px) translateX(-2.9827px);
  }
  38% {
    transform: translateY(6.65px) translateX(-2.78933px);
  }
  39% {
    transform: translateY(6.825px) translateX(-2.58742px);
  }
  40% {
    transform: translateY(7px) translateX(-2.37764px);
  }
  41% {
    transform: translateY(7.175px) translateX(-2.16066px);
  }
  42% {
    transform: translateY(7.35px) translateX(-1.93717px);
  }
  43% {
    transform: translateY(7.525px) translateX(-1.70785px);
  }
  44% {
    transform: translateY(7.7px) translateX(-1.47343px);
  }
  45% {
    transform: translateY(7.875px) translateX(-1.23461px);
  }
  46% {
    transform: translateY(8.05px) translateX(-0.99211px);
  }
  47% {
    transform: translateY(8.225px) translateX(-0.74667px);
  }
  48% {
    transform: translateY(8.4px) translateX(-0.49901px);
  }
  49% {
    transform: translateY(8.575px) translateX(-0.24988px);
  }
  50% {
    transform: translateY(8.75px) translateX(0px);
  }
  51% {
    transform: translateY(8.925px) translateX(0.24988px);
  }
  52% {
    transform: translateY(9.1px) translateX(0.49901px);
  }
  53% {
    transform: translateY(9.275px) translateX(0.74667px);
  }
  54% {
    transform: translateY(9.45px) translateX(0.99211px);
  }
  55% {
    transform: translateY(9.625px) translateX(1.23461px);
  }
  56% {
    transform: translateY(9.8px) translateX(1.47343px);
  }
  57% {
    transform: translateY(9.975px) translateX(1.70785px);
  }
  58% {
    transform: translateY(10.15px) translateX(1.93717px);
  }
  59% {
    transform: translateY(10.325px) translateX(2.16066px);
  }
  60% {
    transform: translateY(10.5px) translateX(2.37764px);
  }
  61% {
    transform: translateY(10.675px) translateX(2.58742px);
  }
  62% {
    transform: translateY(10.85px) translateX(2.78933px);
  }
  63% {
    transform: translateY(11.025px) translateX(2.9827px);
  }
  64% {
    transform: translateY(11.2px) translateX(3.16689px);
  }
  65% {
    transform: translateY(11.375px) translateX(3.34127px);
  }
  66% {
    transform: translateY(11.55px) translateX(3.50523px);
  }
  67% {
    transform: translateY(11.725px) translateX(3.65815px);
  }
  68% {
    transform: translateY(11.9px) translateX(3.79948px);
  }
  69% {
    transform: translateY(12.075px) translateX(3.92863px);
  }
  70% {
    transform: translateY(12.25px) translateX(4.04508px);
  }
  71% {
    transform: translateY(12.425px) translateX(4.14831px);
  }
  72% {
    transform: translateY(12.6px) translateX(4.23782px);
  }
  73% {
    transform: translateY(12.775px) translateX(4.31314px);
  }
  74% {
    transform: translateY(12.95px) translateX(4.37381px);
  }
  75% {
    transform: translateY(13.125px) translateX(4.41942px);
  }
  76% {
    transform: translateY(13.3px) translateX(4.44956px);
  }
  77% {
    transform: translateY(13.475px) translateX(4.46386px);
  }
  78% {
    transform: translateY(13.65px) translateX(4.46197px);
  }
  79% {
    transform: translateY(13.825px) translateX(4.44358px);
  }
  80% {
    transform: translateY(14px) translateX(4.40839px);
  }
  81% {
    transform: translateY(14.175px) translateX(4.35615px);
  }
  82% {
    transform: translateY(14.35px) translateX(4.28661px);
  }
  83% {
    transform: translateY(14.525px) translateX(4.19959px);
  }
  84% {
    transform: translateY(14.7px) translateX(4.09491px);
  }
  85% {
    transform: translateY(14.875px) translateX(3.97242px);
  }
  86% {
    transform: translateY(15.05px) translateX(3.83201px);
  }
  87% {
    transform: translateY(15.225px) translateX(3.67362px);
  }
  88% {
    transform: translateY(15.4px) translateX(3.49718px);
  }
  89% {
    transform: translateY(15.575px) translateX(3.30269px);
  }
  90% {
    transform: translateY(15.75px) translateX(3.09017px);
  }
  91% {
    transform: translateY(15.925px) translateX(2.85966px);
  }
  92% {
    transform: translateY(16.1px) translateX(2.61124px);
  }
  93% {
    transform: translateY(16.275px) translateX(2.34504px);
  }
  94% {
    transform: translateY(16.45px) translateX(2.06119px);
  }
  95% {
    transform: translateY(16.625px) translateX(1.75989px);
  }
  96% {
    transform: translateY(16.8px) translateX(1.44133px);
  }
  97% {
    transform: translateY(16.975px) translateX(1.10577px);
  }
  98% {
    transform: translateY(17.15px) translateX(0.75349px);
  }
  99% {
    transform: translateY(17.325px) translateX(0.38478px);
  }
  100% {
    transform: translateY(17.5px) translateX(0px);
  }
}
/* Tornado */
@-webkit-keyframes translateTornado1 {
  0% {
    -webkit-transform: translateY(0);
  }
  25% {
    -webkit-transform: translateX(4px);
  }
  75% {
    -webkit-transform: translateX(-4px);
  }
  100% {
    -webkit-transform: translateX(0);
  }
}
@-webkit-keyframes translateTornado2 {
  0% {
    -webkit-transform: translateY(0);
  }
  25% {
    -webkit-transform: translateX(2px);
  }
  75% {
    -webkit-transform: translateX(-2px);
  }
  100% {
    -webkit-transform: translateX(0);
  }
}
@-webkit-keyframes translateTornado3 {
  0% {
    -webkit-transform: translateY(0);
  }
  25% {
    -webkit-transform: translateX(8px);
  }
  75% {
    -webkit-transform: translateX(-8px);
  }
  100% {
    -webkit-transform: translateX(0);
  }
}
@-webkit-keyframes translateTornado4 {
  0% {
    -webkit-transform: translateY(0);
  }
  25% {
    -webkit-transform: translateX(6px);
  }
  75% {
    -webkit-transform: translateX(-6px);
  }
  100% {
    -webkit-transform: translateX(0);
  }
}
@-webkit-keyframes translateTornado5 {
  0% {
    -webkit-transform: translateY(0);
  }
  25% {
    -webkit-transform: translateX(10px);
  }
  75% {
    -webkit-transform: translateX(-10px);
  }
  100% {
    -webkit-transform: translateX(0);
  }
}
@-webkit-keyframes translateTornado6 {
  0% {
    -webkit-transform: translateY(0);
  }
  25% {
    -webkit-transform: translateX(6px);
  }
  75% {
    -webkit-transform: translateX(-6px);
  }
  100% {
    -webkit-transform: translateX(0);
  }
}
@-moz-keyframes translateTornado1 {
  0% {
    -moz-transform: translateY(0);
  }
  25% {
    -moz-transform: translateX(4px);
  }
  75% {
    -moz-transform: translateX(-4px);
  }
  100% {
    -moz-transform: translateX(0);
  }
}
@-moz-keyframes translateTornado2 {
  0% {
    -moz-transform: translateY(0);
  }
  25% {
    -moz-transform: translateX(2px);
  }
  75% {
    -moz-transform: translateX(-2px);
  }
  100% {
    -moz-transform: translateX(0);
  }
}
@-moz-keyframes translateTornado3 {
  0% {
    -moz-transform: translateY(0);
  }
  25% {
    -moz-transform: translateX(8px);
  }
  75% {
    -moz-transform: translateX(-8px);
  }
  100% {
    -moz-transform: translateX(0);
  }
}
@-moz-keyframes translateTornado4 {
  0% {
    -moz-transform: translateY(0);
  }
  25% {
    -moz-transform: translateX(6px);
  }
  75% {
    -moz-transform: translateX(-6px);
  }
  100% {
    -moz-transform: translateX(0);
  }
}
@-moz-keyframes translateTornado5 {
  0% {
    -moz-transform: translateY(0);
  }
  25% {
    -moz-transform: translateX(10px);
  }
  75% {
    -moz-transform: translateX(-10px);
  }
  100% {
    -moz-transform: translateX(0);
  }
}
@-moz-keyframes translateTornado6 {
  0% {
    -moz-transform: translateY(0);
  }
  25% {
    -moz-transform: translateX(6px);
  }
  75% {
    -moz-transform: translateX(-6px);
  }
  100% {
    -moz-transform: translateX(0);
  }
}
@-o-keyframes translateTornado1 {
  0% {
    -o-transform: translateY(0);
  }
  25% {
    -o-transform: translateX(4px);
  }
  75% {
    -o-transform: translateX(-4px);
  }
  100% {
    -o-transform: translateX(0);
  }
}
@-o-keyframes translateTornado2 {
  0% {
    -o-transform: translateY(0);
  }
  25% {
    -o-transform: translateX(2px);
  }
  75% {
    -o-transform: translateX(-2px);
  }
  100% {
    -o-transform: translateX(0);
  }
}
@-o-keyframes translateTornado3 {
  0% {
    -o-transform: translateY(0);
  }
  25% {
    -o-transform: translateX(8px);
  }
  75% {
    -o-transform: translateX(-8px);
  }
  100% {
    -o-transform: translateX(0);
  }
}
@-o-keyframes translateTornado4 {
  0% {
    -o-transform: translateY(0);
  }
  25% {
    -o-transform: translateX(6px);
  }
  75% {
    -o-transform: translateX(-6px);
  }
  100% {
    -o-transform: translateX(0);
  }
}
@-o-keyframes translateTornado5 {
  0% {
    -o-transform: translateY(0);
  }
  25% {
    -o-transform: translateX(10px);
  }
  75% {
    -o-transform: translateX(-10px);
  }
  100% {
    -o-transform: translateX(0);
  }
}
@-o-keyframes translateTornado6 {
  0% {
    -o-transform: translateY(0);
  }
  25% {
    -o-transform: translateX(6px);
  }
  75% {
    -o-transform: translateX(-6px);
  }
  100% {
    -o-transform: translateX(0);
  }
}
@keyframes translateTornado1 {
  0% {
    transform: translateY(0);
  }
  25% {
    transform: translateX(4px);
  }
  75% {
    transform: translateX(-4px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes translateTornado2 {
  0% {
    transform: translateY(0);
  }
  25% {
    transform: translateX(2px);
  }
  75% {
    transform: translateX(-2px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes translateTornado3 {
  0% {
    transform: translateY(0);
  }
  25% {
    transform: translateX(8px);
  }
  75% {
    transform: translateX(-8px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes translateTornado4 {
  0% {
    transform: translateY(0);
  }
  25% {
    transform: translateX(6px);
  }
  75% {
    transform: translateX(-6px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes translateTornado5 {
  0% {
    transform: translateY(0);
  }
  25% {
    transform: translateX(10px);
  }
  75% {
    transform: translateX(-10px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes translateTornado6 {
  0% {
    transform: translateY(0);
  }
  25% {
    transform: translateX(6px);
  }
  75% {
    transform: translateX(-6px);
  }
  100% {
    transform: translateX(0);
  }
}
@-webkit-keyframes translateFog {
  0% {
    -webkit-transform: translateY(0);
  }
  25% {
    -webkit-transform: translateX(2.5px);
  }
  75% {
    -webkit-transform: translateX(-2.5px);
  }
  100% {
    -webkit-transform: translateX(0);
  }
}
@-moz-keyframes translateFog {
  0% {
    -moz-transform: translateY(0);
  }
  25% {
    -moz-transform: translateX(2.5px);
  }
  75% {
    -moz-transform: translateX(-2.5px);
  }
  100% {
    -moz-transform: translateX(0);
  }
}
@-o-keyframes translateFog {
  0% {
    -o-transform: translateY(0);
  }
  25% {
    -o-transform: translateX(2.5px);
  }
  75% {
    -o-transform: translateX(-2.5px);
  }
  100% {
    -o-transform: translateX(0);
  }
}
@keyframes translateFog {
  0% {
    transform: translateY(0);
  }
  25% {
    transform: translateX(2.5px);
  }
  75% {
    transform: translateX(-2.5px);
  }
  100% {
    transform: translateX(0);
  }
}
@-webkit-keyframes fillOpacityFog {
  0% {
    fill-opacity: 0.5;
    stroke-opacity: 0.5;
  }
  50% {
    fill-opacity: 1;
    stroke-opacity: 1;
  }
  100% {
    fill-opacity: 0.5;
    stroke-opacity: 0.5;
  }
}
@-moz-keyframes fillOpacityFog {
  0% {
    fill-opacity: 0.5;
    stroke-opacity: 0.5;
  }
  50% {
    fill-opacity: 1;
    stroke-opacity: 1;
  }
  100% {
    fill-opacity: 0.5;
    stroke-opacity: 0.5;
  }
}
@-o-keyframes fillOpacityFog {
  0% {
    fill-opacity: 0.5;
    stroke-opacity: 0.5;
  }
  50% {
    fill-opacity: 1;
    stroke-opacity: 1;
  }
  100% {
    fill-opacity: 0.5;
    stroke-opacity: 0.5;
  }
}
@keyframes fillOpacityFog {
  0% {
    fill-opacity: 0.5;
    stroke-opacity: 0.5;
  }
  50% {
    fill-opacity: 1;
    stroke-opacity: 1;
  }
  100% {
    fill-opacity: 0.5;
    stroke-opacity: 0.5;
  }
}
@-webkit-keyframes translateSunrise {
  0% {
    -webkit-transform: translateY(0);
  }
  25% {
    -webkit-transform: translateY(-16.002px);
  }
  100% {
    -webkit-transform: translateY(-16.002px);
  }
}
@-moz-keyframes translateSunrise {
  0% {
    -moz-transform: translateY(0);
  }
  25% {
    -moz-transform: translateY(-16.002px);
  }
  100% {
    -moz-transform: translateY(-16.002px);
  }
}
@-o-keyframes translateSunrise {
  0% {
    -o-transform: translateY(0);
  }
  25% {
    -o-transform: translateY(-16.002px);
  }
  100% {
    -o-transform: translateY(-16.002px);
  }
}
@keyframes translateSunrise {
  0% {
    transform: translateY(0);
  }
  25% {
    transform: translateY(-16.002px);
  }
  100% {
    transform: translateY(-16.002px);
  }
}
@-webkit-keyframes translateSunset {
  0% {
    -webkit-transform: translateY(-16px);
  }
  25% {
    -webkit-transform: translateY(-4px);
  }
  100% {
    -webkit-transform: translateY(-4px);
  }
}
@-moz-keyframes translateSunset {
  0% {
    -moz-transform: translateY(-16px);
  }
  25% {
    -moz-transform: translateY(-4px);
  }
  100% {
    -moz-transform: translateY(-4px);
  }
}
@-o-keyframes translateSunset {
  0% {
    -o-transform: translateY(-16px);
  }
  25% {
    -o-transform: translateY(-4px);
  }
  100% {
    -o-transform: translateY(-4px);
  }
}
@keyframes translateSunset {
  0% {
    transform: translateY(-16px);
  }
  25% {
    transform: translateY(-4px);
  }
  100% {
    transform: translateY(-4px);
  }
}
@-webkit-keyframes translateArrowDown {
  0% {
    -webkit-transform: translateY(2px);
  }
  100% {
    -webkit-transform: translateY(5px);
  }
}
@-moz-keyframes translateArrowDown {
  0% {
    -moz-transform: translateY(2px);
  }
  100% {
    -moz-transform: translateY(5px);
  }
}
@-o-keyframes translateArrowDown {
  0% {
    -o-transform: translateY(2px);
  }
  100% {
    -o-transform: translateY(5px);
  }
}
@keyframes translateArrowDown {
  0% {
    transform: translateY(2px);
  }
  100% {
    transform: translateY(5px);
  }
}
@-webkit-keyframes translateArrowUp {
  0% {
    -webkit-transform: translateY(-2.002px);
  }
  100% {
    -webkit-transform: translateY(-4.998px);
  }
}
@-moz-keyframes translateArrowUp {
  0% {
    -moz-transform: translateY(-2.002px);
  }
  100% {
    -moz-transform: translateY(-4.998px);
  }
}
@-o-keyframes translateArrowUp {
  0% {
    -o-transform: translateY(-2.002px);
  }
  100% {
    -o-transform: translateY(-4.998px);
  }
}
@keyframes translateArrowUp {
  0% {
    transform: translateY(-2.002px);
  }
  100% {
    transform: translateY(-4.998px);
  }
}
@-webkit-keyframes translateWind {
  0% {
    -webkit-transform: translateY(0);
  }
  25% {
    -webkit-transform: translateX(4.998px);
  }
  75% {
    -webkit-transform: translateX(-4.998px);
  }
  100% {
    -webkit-transform: translateX(0);
  }
}
@-moz-keyframes translateWind {
  0% {
    -moz-transform: translateY(0);
  }
  25% {
    -moz-transform: translateX(4.998px);
  }
  75% {
    -moz-transform: translateX(-4.998px);
  }
  100% {
    -moz-transform: translateX(0);
  }
}
@-o-keyframes translateWind {
  0% {
    -o-transform: translateY(0);
  }
  25% {
    -o-transform: translateX(4.998px);
  }
  75% {
    -o-transform: translateX(-4.998px);
  }
  100% {
    -o-transform: translateX(0);
  }
}
@keyframes translateWind {
  0% {
    transform: translateY(0);
  }
  25% {
    transform: translateX(4.998px);
  }
  75% {
    transform: translateX(-4.998px);
  }
  100% {
    transform: translateX(0);
  }
}
ul.icon-list {
  list-style: none;
  padding-left: 0px;
  margin-top: 10px;
  margin-bottom: 0;
  display: block;
  width: 100%;
}
ul.icon-list li {
  display: inline-block;
  padding: 3px 0px;
  margin-right: 5px;
}
ul.icon-list li i {
  color: #cccccc;
  font-size: 18px;
  vertical-align: middle;
}
ul.icon-list li a {
  color: #424242;
}
ul.icon-list.block {
  margin-top: 0;
}
ul.icon-list.block li {
  display: block;
  padding: 8px 10px;
}
ul.icon-list.bordered li:not(:last-of-type) {
  border-bottom: 1px solid #efefef;
}
.table .progress {
  margin-top: 2px;
  margin-bottom: 0;
}
.table .progress .progress-bar {
  transition: all 1s ease-in-out;
}
.table.v-middle tbody > tr > td {
  vertical-align: middle;
}
.table.table-borderless > tbody > tr > td,
.table.table-borderless > tbody > tr > th,
.table.table-borderless > tfoot > tr > td,
.table.table-borderless > tfoot > tr > th,
.table.table-borderless > thead > tr > td,
.table.table-borderless > thead > tr > th {
  border: none;
}
.table td.w50 {
  width: 50px;
}
.table td.w100 {
  width: 100px;
}
.table td.w150 {
  width: 150px;
}
.dataTables_wrapper {
  padding-top: 10px;
}
.dataTables_wrapper .dataTables_length {
  margin-left: 10px;
}
.dataTables_wrapper .dataTables_filter {
  float: right;
  text-align: right;
  margin-right: 10px;
}
.dataTables_wrapper .dataTables_filter input {
  margin-left: 10px;
}
.dataTables_wrapper .dataTables_paginate {
  float: right;
  text-align: right;
}
.dataTables_wrapper .dataTables_paginate .pagination {
  margin: 0 10px 15px 0;
}
.dataTables_wrapper .dataTables_info {
  margin-left: 10px;
  color: #777777;
  padding-top: 5px;
}
.dataTables_wrapper table {
  margin-top: 10px;
}
.dataTables_wrapper table thead tr th {
  color: #ef4136;
}
.dataTables_wrapper table thead tr th:hover {
  cursor: pointer;
}
.dataTables_wrapper table th {
  color: #b6b6b6;
}
.dataTables_wrapper table tfoot {
  background: #ffffff;
}
.dataTables_wrapper table tfoot tr th {
  border-top: 2px solid #dddddd;
}
.pagination {
  border: 0;
}
.pagination > li > a {
  border-radius: 0px;
  margin-right: 5px;
  border-color: #efefef;
  color: #888;
}
.pagination > li > a:hover {
  background: #efefef;
  border-color: #efefef;
  color: #ef4136;
}
.pagination > li.disabled a,
.pagination > li.disabled a:hover {
  background: #efefef;
  border-color: #efefef;
}
.label {
  border-radius: 5px;
  padding: 7px 12px;
  display: inline-block;
  font-size: 13px;
}
.label-default {
  background: #f6f6f6;
  color: #808080;
}
.label-primary {
  background: #ef4136;
  color: #fff;
}
.label-gray {
  background-color: #e2e2e2;
  color: #333333;
}
.label-gray[href]:hover,
.label-gray[href]:focus {
  background-color: #c9c9c9;
}
.highlight {
  padding: 10px;
  overflow: hidden;
  position: relative;
  background-color: #232323;
}
.highlight pre {
  padding: 0;
  margin-top: 0;
  margin-bottom: 0;
  word-break: normal;
  word-wrap: normal;
  white-space: pre;
  background-color: transparent;
  border: 0;
  overflow: visible;
  overflow-y: hidden;
}
.highlight pre code {
  font-size: inherit;
  word-break: normal;
  word-wrap: normal;
  white-space: pre;
  color: #e6e1dc;
}
.media-heading > a {
  color: #707070;
}
.timeline-block .panel-heading {
  padding: 0;
  background: #ef4136;
  color: #fff;
}
.timeline-block .panel-heading.title {
  font-size: 18px;
  padding: 10px;
}
.timeline-block .panel-heading .media-body {
  padding: 5px;
}
.timeline-block .panel-heading .media-body a {
  display: block;
  font-weight: bold;
  color: #fff;
}
.timeline-block .panel-heading .media-body i {
  padding: 10px 5px 0 0;
}
.timeline-block .panel-body.panel-boxed {
  border-top: 1px solid #efefef;
  border-bottom: 1px solid #efefef;
}
ul.timeline-list {
  position: relative;
  list-style: none;
}
@media (max-width: 480px) {
  ul.timeline-list {
    padding-left: 0;
  }
}
ul.timeline-list li .share-button {
  position: absolute;
  margin-left: 26px;
  display: block;
  z-index: 3;
}
@media (max-width: 480px) {
  ul.timeline-list li .share-button {
    left: 50%;
    margin-left: -13px;
  }
}
ul.timeline-list li.media:before {
  position: absolute;
  display: block;
  top: 0;
  content: '';
  height: 100%;
  margin-left: 40px;
  border-left: 5px solid #dfdfdf;
  z-index: 1;
}
@media (max-width: 480px) {
  ul.timeline-list li.media:before {
    margin-left: 50%;
  }
}
ul.timeline-list li.media > .pull-left {
  z-index: 2;
  position: absolute;
  display: block;
  width: 80px;
  text-align: center;
}
@media (max-width: 480px) {
  ul.timeline-list li.media > .pull-left {
    left: 50%;
    margin-left: -40px;
  }
}
ul.timeline-list li.media > .pull-left img {
  margin-top: 20px;
}
ul.timeline-list li.media > .pull-left .date {
  background: #ffffff;
  font-weight: bold;
  padding: 4px;
  border: 1px solid #dfdfdf;
  color: #878787;
  border-radius: 5px;
  font-size: 13px;
  margin-bottom: 20px;
  margin-top: 10px;
  display: inline-block;
}
ul.timeline-list li.media > .media-body {
  min-height: 130px;
  margin: 20px 0 10px 120px;
}
ul.timeline-list li.media > .media-body .panel {
  float: left;
  position: relative;
  min-width: 300px;
}
@media (max-width: 480px) {
  ul.timeline-list li.media > .media-body {
    margin-left: 0;
    margin-top: 160px;
    min-height: 0 !important;
    position: relative;
    z-index: 2;
  }
  ul.timeline-list li.media > .media-body .panel {
    float: none;
    display: block;
  }
}
ul.timeline-list .media-body.fixed {
  max-width: 500px;
}
.affix {
  position: fixed;
  top: 74px;
  width: 263px;
}
@media (max-width: 992px) {
  .affix {
    display: none;
  }
}
#scroll-spy {
  position: relative;
  overflow: hidden;
  height: 100%;
}
.timeline-months {
  list-style: none;
  margin-top: 20px;
  border-left: 2px solid #eeeeee;
}
.timeline-months li.active a,
.timeline-months li.active:hover a {
  color: #ef4136;
}
.timeline-months li.active a i,
.timeline-months li.active:hover a i {
  color: #ef4136;
}
.timeline-months li a {
  color: #d4d4d4;
  font-weight: bold;
}
.timeline-months li:hover a {
  color: #555555;
  text-decoration: none;
}
.view-all-comments {
  display: block;
  padding: 3px 5px;
  background: #fcfcfc;
  border-top: 1px solid #efefef;
  font-weight: 500;
  font-size: 12px;
  color: #ccc;
}
.view-all-comments a {
  color: #424242;
}
.view-all-comments a:hover {
  text-decoration: none;
  color: #ef4136;
}
.panel.panel-default ul.comments {
  list-style: none;
  padding: 0;
  border-top: 1px solid #efefef;
  margin-bottom: 0;
}
.panel.panel-default ul.comments li {
  border-bottom: 1px solid #efefef;
  background: #fcfcfc;
  padding: 5px;
}
.panel.panel-default ul.comments li.comment-form {
  background: #fff;
}
.panel.panel-default ul.comments li.comment-form .input-group-addon {
  background: #fff;
}
.panel.panel-default ul.comments li.comment-form a {
  color: #ef4136;
}
.panel.panel-default ul.comments a.comment-author {
  font-weight: 500;
  font-size: 14px;
  color: #ef4136;
}
.panel.panel-default ul.comments .comment-date {
  color: #888;
  font-size: 12px;
}
.weather-svg .list {
  border-bottom: 1px solid #efefef;
  font-weight: bold;
  font-size: 12px;
  background: #f9f9f9;
  color: #797979;
  margin-bottom: 10px;
}
.weather-svg .list .row > .col-xs-4 {
  padding-top: 5px;
  padding-bottom: 5px;
}
.weather-svg .list .row > .col-xs-4:not(:last-of-type) {
  border-right: 1px solid #efefef;
}
.weather-svg .list svg {
  width: 40%;
  color: #ef4136;
}
.weather-svg .today svg {
  width: 200px;
  color: #ef4136;
}
.weather-svg .today .details {
  display: inline-block;
  border: 1px solid #efefef;
  padding: 8px 10px;
  background: #f9f9f9;
  font-size: 16px;
  margin-bottom: 20px;
}
.weather-svg .today .details strong {
  color: #ef4136;
}
.panel.panel-default.profile {
  position: relative;
  overflow: hidden;
}
.panel.panel-default.profile .cover-container {
  overflow: hidden;
  height: 200px;
  background: #272727;
}
.panel.panel-default.profile .cover-container > img {
  opacity: 0.2;
}
.panel.panel-default.profile .avatar {
  position: absolute;
  top: 140px;
  bottom: 0;
  left: 10px;
  border: 3px solid #fff;
}
.panel.panel-default.profile .info {
  position: absolute;
  top: 10px;
  left: 15px;
  color: #fff;
}
.panel.panel-default.profile .info h4 {
  right: 10px;
  margin: 0;
  font-size: 24px;
  font-weight: normal;
  color: #fff;
}
.panel.panel-default.profile .info p {
  right: 10px;
  font-size: 16px;
  font-weight: normal;
  color: #797979;
}
.panel.panel-default.profile .btn {
  position: absolute;
  top: 10px;
  right: 10px;
  color: #fff;
}
.profile-icons {
  font-size: 14px;
  font-weight: bold;
  color: #efefef;
}
.profile-icons span {
  display: inline-block;
  color: #797979;
  margin: 0 5px 5px;
}
.profile-icons span i {
  font-size: 16px;
  color: #cccccc;
}
.panel.profile-user-box .profile-icons {
  background: #f9f9f9;
  text-align: center;
  padding: 0;
  border-top: 1px solid #efefef;
  border-bottom: 1px solid #efefef;
  margin-bottom: 10px;
}
.panel.profile-user-box .profile-icons span {
  margin-bottom: 0;
}
.panel.profile .profile-icons {
  min-height: 60px;
  line-height: 26px;
  padding-left: 140px;
  padding-top: 10px;
  display: inline-block;
}
.event .list-group .list-group-item {
  padding-left: 0;
  font-size: 14px;
  font-weight: 400;
}
.event .list-group .list-group-item i.fa {
  width: 50px;
  text-align: center;
  font-size: 22px;
  vertical-align: middle;
  color: #dfdfdf;
}
.event ul.attendees {
  float: left;
  width: 100%;
  padding: 0;
  margin: 0;
}
.event ul.attendees li {
  float: left;
  margin: 0;
  width: 20%;
}
.event ul.attendees li a {
  display: block;
}
.event ul.attendees li:nth-child(6n) {
  clear: both;
}
.profile-card {
  margin-top: 120px;
}
.profile-card .panel-body {
  background: #fff;
}
.profile-card .panel-body .profile-card-icon {
  width: 50%;
  margin-left: 25%;
  height: 120px;
  margin-top: -110px;
  margin-bottom: 20px;
  display: block;
  background: #ef4136;
  border: 1px solid #ee3428;
  text-align: center;
  line-height: 120px;
}
.profile-card .panel-body .profile-card-icon i {
  color: #fff;
  font-size: 64px;
  vertical-align: middle;
}
.profile-card .panel-body h4 {
  padding-bottom: 20px;
  border-bottom: 1px solid #efefef;
  font-weight: 500;
  font-size: 24px;
  margin-bottom: 0;
}
.profile-card .panel-body .profile-card-items {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}
.profile-card .panel-body .profile-card-items li {
  padding: 10px 20px;
}
.profile-card .panel-body .profile-card-items li i {
  font-size: 26px;
  color: #dfdfdf;
  vertical-align: middle;
  margin-right: 10px;
  margin-left: 10px;
  width: 30px;
  text-align: center;
}
.profile-card .panel-body .profile-card-items li:not(:last-of-type) {
  border-bottom: 1px solid #efefef;
}
.panel.share .panel-body textarea.form-control {
  padding: 0px;
}
.panel .share-text {
  box-shadow: none;
  border: none;
  background: #fff;
}
.panel .share-text:focus {
  box-shadow: none;
  border: none;
}
.panel .share-buttons {
  border-top-color: #efefef;
  padding: 0px;
}
.panel .share-buttons a {
  display: inline-block;
  width: 30px;
  height: 30px;
  text-align: center;
  line-height: 30px;
}
.panel .share-buttons a i {
  color: #cccccc;
  font-size: 16px;
  vertical-align: middle;
}
.panel .share-buttons a:hover {
  background: #fff;
  border-left: 1px solid #efefef;
  border-right: 1px solid #efefef;
}
.panel .share-buttons a:hover i {
  color: #ef4136;
}
.panel .share-buttons button {
  margin: 0px;
  border-radius: 0;
  position: relative;
  z-index: 1;
  top: -1px;
  right: -1px;
  height: 32px;
  line-height: 32px;
  padding: 0px 10px;
}
.videoWrapper {
  position: relative;
  height: 0;
  overflow: hidden;
  padding-bottom: 50%;
}
.videoWrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.user-count-circle {
  display: inline-block;
  width: 50px;
  height: 50px;
  border: 1px solid #efefef;
  border-radius: 50px;
  vertical-align: middle;
  line-height: 48px;
  text-align: center;
  font-weight: bold;
  font-size: 18px;
  color: #ccc;
}
.user-count-circle:hover {
  color: #ccc !important;
  text-decoration: none;
  background: #f9f9f9;
}
.gridalicious img {
  width: auto !important;
  display: inline-block !important;
}
@media (max-width: 480px) {
  .media.user-profile > .media-object {
    float: none !important;
  }
  .media.user-profile > .media-object.pull-left {
    margin: 0;
  }
}
@media (min-width: 480px) {
  .media.user-profile > .media-object {
    width: 240px;
    margin-right: 15px;
  }
}
.profile-user-box {
  text-align: center;
}
.profile-user-box .avatar {
  padding: 40px 10px 10px;
  text-align: center;
  margin-bottom: 10px;
}
.profile-user-box .avatar h3 {
  font-weight: 300;
  color: #595959;
  margin: 10px;
}
.profile-user-box p {
  text-align: center;
  padding: 0 15px 0px;
  color: #333333;
}
.profile-user-box .profile-icons {
  border-top: 1px solid #efefef;
  border-bottom: 1px solid #efefef;
  background: #f4f4f4;
  height: 40px;
  line-height: 40px;
  margin-bottom: 10px;
}
ul.friends-list {
  float: left;
  width: 100%;
  padding: 0;
  margin: 0;
}
ul.friends-list li {
  float: left;
  margin: 0;
  width: 20%;
}
ul.friends-list li a {
  display: block;
}
ul.friends-list li:nth-child(6n) {
  clear: both;
}
.profile-about li {
  padding: 5px 0;
}
#filter {
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 2px solid #efefef;
}
#filter form label {
  color: #888;
}
#filter form .selectpicker {
  font-weight: 400;
}
#filter form .btn {
  margin-left: 10px;
}
#filter form select.btn-primary {
  padding: 5px 3px;
}
#filter #users-filter-trigger {
  display: inline-block;
}
#filter #users-filter-trigger .search-name {
  margin-left: 10px;
}
#filter #users-filter-trigger .search-name input {
  background: #fff;
}
.user-box a.username {
  display: block;
  padding: 5px;
  font-weight: 500;
  font-size: 18px;
  color: #333333;
}
.user-box .panel-body.bordered {
  background: #f9f9f9;
  border-top: 1px solid #efefef;
}
.user-box p.lead {
  margin-bottom: 5px;
}
.user-box .panel-footer {
  border-color: #efefef;
  background: #fff;
}
.user-box .user-friend-list img {
  margin-bottom: 5px;
}
.user-box .common-friends {
  font-size: 15px;
  font-weight: 300;
}
.messages-container .messages-list {
  width: 250px;
}
.messages-container .messages-list .list-group-item {
  padding: 0;
}
.messages-container .messages-list .list-group-item a {
  color: #333333;
  display: block;
  text-decoration: none;
}
.messages-container .messages-list .list-group-item:hover {
  background: #f9f9f9;
}
.messages-container .messages-list .list-group-item.active:hover {
  background: #ef4136;
}
.messages-container .messages-list .list-group-item .media-body {
  padding: 5px;
}
.messages-container .messages-list .list-group-item .media-body .user {
  font-weight: 500;
}
.messages-container .messages-list .list-group-item .media-body .date {
  float: right;
  font-size: 12px;
  font-weight: 500;
  opacity: 0.4;
}
.messages-container .messages-list .list-group-item .media-body .message {
  opacity: 0.8;
}
.messages-container .messages-list .list-group-item.active .media-body {
  color: #fff;
}
@media (min-width: 768px) {
  .messages-container .share {
    margin-left: 100px;
    margin-right: 100px;
  }
}
.messages-container .media-body {
  height: 100%;
}
.messages-container .media-body .text-muted {
  color: #b3b3b3;
}
.messages-container .media-body .media {
  margin-top: 0;
}
.messages-container .media-body .media-object {
  width: 100px;
  margin: 0;
  padding-top: 1px;
  text-align: center;
}
.messages-container .media-body .media-object img {
  border-radius: 50%;
  box-shadow: 0 5px 1px #dddddd;
  margin-bottom: 10px;
}
.messages-container .media-body .media-object img:after {
  width: 3px;
  height: 3px;
  position: absolute;
  display: block;
  background: #8bbf61;
}
.messages-container .media-body .panel-body {
  padding-top: 0;
}
.messages-container .media-body .media:nth-child(odd) {
  margin-left: 100px;
}
.messages-container .media-body .media:nth-child(even) {
  margin-right: 100px;
}
@media (max-width: 480px) {
  .messages-container .messages-list {
    height: 50px;
    position: relative;
    overflow: hidden;
    margin-bottom: 20px;
    width: 100%;
    display: block;
  }
  .messages-container .messages-list .panel.panel-default {
    position: relative;
    overflow-x: auto;
    background: none;
    border: 0;
    height: 50px;
  }
  .messages-container .messages-list .panel.panel-default ul {
    height: 50px;
  }
  .messages-container .messages-list .list-group-item {
    width: 50px;
    border: 0;
    float: left;
  }
  .messages-container .messages-list .list-group-item .pull-left {
    margin-right: 0 !important;
  }
  .messages-container .messages-list .list-group-item .media-body {
    display: none;
  }
  .messages-container .messages-list .list-group-item .media .pull-left {
    opacity: 0.6;
  }
  .messages-container .messages-list .list-group-item .media .pull-left:hover {
    opacity: 1;
  }
  .messages-container .messages-list .list-group-item.active {
    opacity: 1;
  }
  .messages-container .media-body {
    width: 100%;
  }
  .messages-container .media-body .media {
    margin: -40px 0 0 0 !important;
  }
  .messages-container .media-body .media .media-object {
    position: relative;
    float: left !important;
    top: 42px;
    z-index: 2;
  }
  .messages-container .media-body .media .panel-default .panel-heading {
    margin-left: 70px;
  }
}
@media (min-width: 480px) and (max-width: 1080px) {
  .messages-container .messages-list {
    width: auto;
  }
  .messages-container .messages-list .list-group-item .media .pull-left {
    margin-right: 0 !important;
  }
  .messages-container .messages-list .list-group-item .media .media-body {
    display: none;
  }
  .messages-container .messages-list .list-group-item .media .pull-left {
    opacity: 0.6;
  }
  .messages-container .messages-list .list-group-item .media .pull-left:hover {
    opacity: 1;
  }
  .messages-container .messages-list .list-group-item.active .media .pull-left {
    opacity: 1;
  }
}
.login {
  position: initial;
  padding-top: 0;
}
.login #content {
  max-width: 760px;
  margin: auto;
}
.login .lock-container {
  margin: auto;
  width: 300px;
}
@media (min-width: 480px) {
  .login .lock-container {
    bottom: 0;
    height: 550px;
    left: 0;
    position: absolute;
    top: 0;
    right: 0;
  }
}
.login .lock-container h1 {
  text-align: center;
  color: #fff;
  font-size: 28px;
}
.login .lock-container .panel {
  max-width: 300px !important;
  background: #fff;
  position: relative;
}
.login .lock-container .panel img {
  margin: 20px 0 10px;
}
.login .lock-container .panel input {
  margin-bottom: 10px;
}
.login .lock-container .panel .btn {
  margin-top: 10px;
}
.login .lock-container .panel .forgot-password {
  margin: 10px 0 0;
  font-weight: 500;
  color: #ef4136;
  display: block;
}
.show-chat .sidebar.left {
  display: none !important;
}
.show-chat .sidebar.right {
  display: block !important;
  z-index: 1033;
}
.show-chat #content {
  margin-left: auto;
  margin-right: 250px;
  min-width: 320px;
}
.show-chat .footer {
  left: 0;
  margin-left: auto;
  margin-right: 250px;
}
.sidebar.right {
  background: #303030;
}
.chat-search {
  padding: 10px;
  background: #2b2b2b;
  height: 70px;
}
.chat-search input {
  background: #383838;
  border: none;
  border-radius: 5px;
  color: #ffffff;
  font-weight: 300;
}
.chat-search input:focus {
  box-shadow: none;
}
.chat-search input::-moz-placeholder {
  color: #7d7d7d;
  opacity: 1;
}
.chat-search input:-ms-input-placeholder {
  color: #7d7d7d;
}
.chat-search input::-webkit-input-placeholder {
  color: #7d7d7d;
}
.chat-filter {
  padding: 5px 5px 5px 10px;
  color: #dfdfdf;
  background: #383838;
  border-bottom: 1px solid #303030;
}
.chat-filter li a {
  padding: 3px 5px;
  color: #808080;
  margin-right: 5px;
  font-weight: bold;
  font-size: 12px;
}
.chat-filter li a:hover {
  background: #262626;
  color: #ffffff;
}
.chat-filter li.active a,
.chat-filter li.active a:hover {
  background: #ef4136;
}
.chat-contacts {
  padding: 0px;
  list-style: none;
}
.chat-contacts li {
  border-bottom: 1px solid #3a3a3a;
}
.chat-contacts li .media .pull-left {
  padding: 14px 0;
}
.chat-contacts li .contact-name {
  padding-top: 14px;
  color: #efefef;
  font-weight: 500;
  height: 34px;
}
.chat-contacts li .status {
  display: inline-block;
  width: 8px;
  height: 8px;
  position: absolute;
  right: 10px;
  z-index: 1031;
  margin-top: 14px;
  border-radius: 50%;
}
.chat-contacts li.online .status {
  background: #8bbf61;
}
.chat-contacts li.away .status {
  background: #ab7a4b;
}
.chat-contacts li.busy .status {
  background: #bd362f;
}
.chat-contacts li.offline {
  opacity: 0.5;
}
.chat-contacts li small {
  color: #797979;
}
.chat-contacts li > a {
  padding-left: 10px;
  display: block;
}
.chat-contacts li > a:hover {
  background: #383838;
  text-decoration: none;
}
.chat-window-container {
  position: fixed;
  margin-right: 0px;
  bottom: 0px;
  right: 0px;
  z-index: 1032;
}
.chat-window-container #chat-0001 {
  position: absolute;
  bottom: 0px;
}
.chat-window-container #chat-0002 {
  position: absolute;
  right: 250px;
  bottom: 0;
}
.chat-window-container #chat-0003 {
  position: absolute;
  right: 500px;
  bottom: 0;
}
.chat-window-container .panel {
  box-shadow: -3px 3px 8px rgba(0, 0, 0, 0.1);
  margin-right: 5px;
  display: none;
  width: 240px;
  border: 0;
  right: 0;
  margin-bottom: 0;
  font-weight: 400;
}
.chat-window-container .panel .panel-heading {
  background: #ef4136;
  padding: 0;
  line-height: 40px;
}
.chat-window-container .panel .panel-heading a {
  color: #ffffff;
}
.chat-window-container .panel .panel-heading img {
  margin-right: 10px;
}
.chat-window-container .panel .panel-heading .close {
  opacity: 0.4;
  float: right;
  padding: 12px 10px;
  font-size: 13px;
}
.chat-window-container .panel .panel-heading .close:hover {
  opacity: 1;
}
.chat-window-container .panel .panel-body {
  border-left: 1px solid #e0e0e0;
  border-right: 1px solid #e0e0e0;
  padding: 6px 5px 8px 5px;
  font-size: 12px;
  background: #f9f9f9;
}
.chat-window-container .panel .panel-body .media:not(:first-of-type) {
  margin-top: 8px;
}
.chat-window-container .panel .panel-body .media .pull-left {
  margin-right: 4px;
}
.chat-window-container .panel .panel-body .media .pull-right {
  margin-left: 4px;
}
.chat-window-container .panel .panel-body .media:not(.right) .media-body .message {
  padding: 3px 3px 3px 4px;
  border-radius: 3px;
  display: inline-block;
  border: 1px solid #efefef;
  background: #ffffff;
  margin-left: 8px;
}
.chat-window-container .panel .panel-body .media:not(.right) .media-body .message:before {
  position: relative;
  top: 2px;
  left: -10px;
  display: inline-block;
  content: '';
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-right: 6px solid #e2e2e2;
}
.chat-window-container .panel .panel-body .right > .media-body {
  text-align: right;
}
.chat-window-container .panel .panel-body .right > .media-body .message {
  padding: 3px 3px 3px 4px;
  border-radius: 3px;
  display: inline-block;
  border: 1px solid #efefef;
  background: #ffffff;
  margin-right: 8px;
}
.chat-window-container .panel .panel-body .right > .media-body .message:after {
  position: relative;
  top: 2px;
  right: -10px;
  display: inline-block;
  content: '';
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 6px solid #e2e2e2;
}
.chat-window-container .panel .form-control {
  border-color: #efefef;
  background: #fff;
  height: 28px;
  font-size: 13px;
  border-top: 1px solid #dfdfdf;
}
@media (max-width: 768px) {
  .show-chat {
    overflow: hidden;
    position: relative;
  }
  .sidebar.right {
    width: 100%;
  }
  .chat-window-container {
    display: none;
    top: 0;
    right: 0 !important;
    bottom: 0;
    left: 0;
    z-index: 1041;
  }
  .chat-window-container .panel {
    top: 0;
    left: 0;
    right: 0;
    width: auto;
    margin: 0;
    z-index: 1042;
  }
  .chat-window-container .panel .panel-body {
    position: absolute;
    top: 40px;
    bottom: 28px;
    left: 0;
    right: 0;
  }
  .chat-window-container .panel .form-control {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
  }
}
.show-chat .chat-window-container {
  right: 250px;
}
@media (min-width: 768px) {
  .footer {
    left: 250px;
    right: 0;
  }
}
@media (min-width: 768px) {
  #content {
    margin-left: 250px;
  }
}
.sidebar {
  position: fixed;
  bottom: 0;
  width: 250px;
  background: #303030;
  z-index: 1;
}
.sidebar.left {
  left: 0;
  top: 56px;
}
.sidebar.right {
  right: 0;
  top: 56px;
}
.show-sidebar .sidebar.left {
  display: block !important;
}
.show-sidebar .footer {
  left: 250px;
  right: 0;
}
@media (max-width: 768px) {
  .show-sidebar .footer {
    width: 320px;
  }
}
.show-sidebar #content {
  margin-left: 250px;
}
.sidebar.right {
  display: none;
}
.cover {
  overflow: hidden;
  position: relative;
  margin-bottom: 15px;
}
.cover.overlay {
  width: 100%;
  max-height: 300px;
}
.cover.overlay > img {
  width: 100%;
}
.cover.overlay .text-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 30px 0;
  background: linear-gradient(to right, #616160, rgba(123, 122, 121, 0.2));
}
.cover.overlay .text-overlay.full {
  top: 0;
}
.cover.overlay .text-overlay h1,
.cover.overlay .text-overlay p {
  color: #fff;
  text-shadow: 0 2px 0 #555;
}
.cover.overlay .text-overlay p {
  font-size: 18px;
  margin-bottom: 20px;
}
.cover.overlay .btn-cover {
  position: absolute;
  font-size: 16px;
  padding: 2px 3px;
  top: 10px;
  left: 10px;
  color: #ffffff;
  background-color: rgba(0, 0, 0, 0.5);
  border-color: transparent;
}
.cover.overlay .btn-cover:focus,
.cover.overlay .btn-cover.focus {
  color: #ffffff;
  background-color: rgba(0, 0, 0, 0.5);
  border-color: rgba(0, 0, 0, 0);
}
.cover.overlay .btn-cover:hover {
  color: #ffffff;
  background-color: rgba(0, 0, 0, 0.5);
  border-color: rgba(0, 0, 0, 0);
}
.cover.overlay .btn-cover:active,
.cover.overlay .btn-cover.active,
.open > .dropdown-toggle.cover.overlay .btn-cover {
  color: #ffffff;
  background-color: rgba(0, 0, 0, 0.5);
  border-color: rgba(0, 0, 0, 0);
}
.cover.overlay .btn-cover:active:hover,
.cover.overlay .btn-cover.active:hover,
.open > .dropdown-toggle.cover.overlay .btn-cover:hover,
.cover.overlay .btn-cover:active:focus,
.cover.overlay .btn-cover.active:focus,
.open > .dropdown-toggle.cover.overlay .btn-cover:focus,
.cover.overlay .btn-cover:active.focus,
.cover.overlay .btn-cover.active.focus,
.open > .dropdown-toggle.cover.overlay .btn-cover.focus {
  color: #ffffff;
  background-color: rgba(0, 0, 0, 0.5);
  border-color: rgba(0, 0, 0, 0);
}
.cover.overlay .btn-cover:active,
.cover.overlay .btn-cover.active,
.open > .dropdown-toggle.cover.overlay .btn-cover {
  background-image: none;
}
.cover.overlay .btn-cover.disabled,
.cover.overlay .btn-cover[disabled],
fieldset[disabled] .cover.overlay .btn-cover,
.cover.overlay .btn-cover.disabled:hover,
.cover.overlay .btn-cover[disabled]:hover,
fieldset[disabled] .cover.overlay .btn-cover:hover,
.cover.overlay .btn-cover.disabled:focus,
.cover.overlay .btn-cover[disabled]:focus,
fieldset[disabled] .cover.overlay .btn-cover:focus,
.cover.overlay .btn-cover.disabled.focus,
.cover.overlay .btn-cover[disabled].focus,
fieldset[disabled] .cover.overlay .btn-cover.focus,
.cover.overlay .btn-cover.disabled:active,
.cover.overlay .btn-cover[disabled]:active,
fieldset[disabled] .cover.overlay .btn-cover:active,
.cover.overlay .btn-cover.disabled.active,
.cover.overlay .btn-cover[disabled].active,
fieldset[disabled] .cover.overlay .btn-cover.active {
  background-color: rgba(0, 0, 0, 0.5);
  border-color: transparent;
}
.cover.overlay .btn-cover .badge {
  color: rgba(0, 0, 0, 0.5);
  background-color: #ffffff;
}
.cover.overlay .btn-cover:hover {
  background-color: rgba(0, 0, 0, 0.7);
}
.cover.overlay ul {
  position: absolute;
  bottom: 0;
  margin: 0;
  width: 100%;
  list-style: none;
  background: rgba(0, 0, 0, 0.24);
  text-align: center;
  padding: 0;
}
.cover.overlay ul li {
  padding: 0;
  display: inline;
}
.cover.overlay ul li a {
  display: inline-block;
  height: 40px;
  line-height: 40px;
  padding: 0 8px;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
}
.cover.overlay ul li a:hover {
  background: rgba(0, 0, 0, 0.54);
}
.cover.overlay ul li a i {
  margin-right: 3px;
  font-size: 1.4em;
}
.cover.overlay ul li a i:before {
  vertical-align: middle;
}
.cover.overlay ul li.active a {
  background: rgba(0, 0, 0, 0.54);
}
@media (min-width: 992px) {
  .cover.overlay .text-overlay p {
    max-width: 70%;
  }
}
@media (min-width: 768px) {
  .cover.overlay {
    overflow: hidden;
  }
}
@media (max-width: 480px) {
  .cover.overlay {
    margin-bottom: 55px;
  }
}
@media (max-width: 768px) {
  .cover.overlay .text-overlay {
    top: 0;
  }
}
@media (max-width: 480px) {
  .cover.overlay ul {
    bottom: -40px;
    background: #303030;
    border-top: none;
  }
  .cover.overlay ul li a {
    color: #565656;
  }
  .cover.overlay ul li.active a,
  .cover.overlay ul li.active a:hover {
    color: #fff;
    background: #ef4136;
  }
  .cover.overlay ul li a:hover {
    color: #fff;
    background: #191919;
  }
}
@media (max-width: 992px) {
  .cover.overlay ul li a {
    height: 40px;
    line-height: 40px;
  }
  .cover.overlay ul li a li a i {
    margin: 0;
  }
  .cover.overlay ul li a span {
    display: none;
  }
}
@media (min-width: 1270px) {
  .cover.overlay ul {
    text-align: left;
    width: 250px;
    top: 0;
    right: 0;
    background: #fff;
  }
  .cover.overlay ul li {
    display: block;
  }
  .cover.overlay ul li.active a {
    background: #ef4136;
    color: #fff;
  }
  .cover.overlay ul li.active a i {
    color: #fff;
  }
  .cover.overlay ul li a {
    width: 100%;
    height: 60px;
    font-weight: 400;
    line-height: 60px;
    color: #3f3f3f;
    border-bottom: 1px solid #efefef;
  }
  .cover.overlay ul li a i {
    width: 50px;
    text-align: center;
    color: #dfdfdf;
  }
  .cover.overlay ul li a:hover {
    color: #fff;
  }
}
.cover.profile {
  position: relative;
  background: #ffffff;
  border: 1px solid #efefef;
}
.cover.profile .wrapper {
  position: relative;
  overflow: hidden;
  max-height: 250px;
  border-bottom: 1px solid #efefef;
}
.cover.profile .wrapper .friends {
  list-style: none;
  display: inline-block;
  position: absolute;
  background: #fff;
  top: 0;
  right: 0;
  width: 250px;
  height: 250px;
  z-index: 2;
  margin-bottom: 0;
  padding: 0;
}
.cover.profile .wrapper .friends li {
  float: left;
  margin: 0;
  width: 33.33%;
}
.cover.profile .wrapper .friends li a {
  display: block;
  padding-left: 1px;
  padding-top: 1px;
}
.cover.profile .wrapper .friends li a img {
  width: 100%;
}
.cover.profile .wrapper .friends li a.group {
  font-size: 40px;
  color: #efefef;
  text-align: center;
}
.cover.profile .wrapper .friends li a.group i {
  position: relative;
  top: 12px;
}
.cover.profile .wrapper .image {
  width: 100%;
  padding-right: 250px;
  overflow-y: hidden;
  position: relative;
  display: inline-block;
}
.cover.profile .wrapper .image:after {
  position: absolute;
  top: 80px;
  bottom: 0;
  left: 0;
  right: 0;
  content: "";
  z-index: 2;
  pointer-events: none;
  /* "all" disables mouse access to image */
  /* Mozilla Setting */
  background-image: linear-gradient(transparent, #000000);
  opacity: .7;
}
.cover.profile .wrapper .image img {
  width: 100%;
}
.cover.profile .cover-info {
  position: relative;
  height: 57px;
}
.cover.profile .cover-info .cover-nav {
  position: absolute;
  bottom: 0;
  left: 140px;
  list-style: none;
  float: left;
  margin: 0;
  padding-left: 0;
}
.cover.profile .cover-info .cover-nav li {
  float: left;
  display: block;
}
.cover.profile .cover-info .cover-nav > li > a {
  line-height: 20px;
  padding: 18px 15px;
  color: #bebebe;
  font-size: 14px;
  font-weight: 500;
  display: block;
}
.cover.profile .cover-info .cover-nav > li > a i {
  font-size: 20px;
  vertical-align: middle;
  color: #e4e4e4;
}
.cover.profile .cover-info .cover-nav > li > a:hover {
  background: none;
  color: #6c6c6c;
  text-decoration: none;
}
.cover.profile .cover-info .cover-nav > li > a:hover i {
  color: #6c6c6c;
}
.cover.profile .cover-info .cover-nav > li.active > a {
  background: none;
  color: #6c6c6c;
}
.cover.profile .cover-info .cover-nav > li.active > a i {
  color: #6c6c6c;
}
.cover.profile .cover-info .cover-nav li {
  border-right: 1px solid #efefef !important;
}
.cover.profile .cover-info .name {
  position: absolute;
  left: 155px;
  bottom: 0px;
  margin-bottom: 65px;
  display: block;
  z-index: 3;
}
.cover.profile .cover-info .name a {
  color: #fff;
  font-size: 30px;
  font-weight: 500;
}
.cover.profile .cover-info .avatar {
  position: absolute;
  display: inline-block;
  bottom: 0px;
  margin-bottom: 5px;
  left: 30px;
  z-index: 4;
}
.cover.profile .cover-info .avatar img {
  width: 110px;
  height: 110px;
  border-radius: 50%;
  border: 3px solid #fff;
}
@media (max-width: 992px) {
  .cover.profile .wrapper .image {
    padding-right: 120px;
    height: auto;
    position: relative;
  }
  .cover.profile .wrapper .friends {
    position: absolute;
    right: 0;
    width: 120px;
    height: auto;
  }
  .cover.profile .wrapper .friends > li {
    width: 50%;
  }
  .cover.profile .wrapper .friends > li > a.group {
    font-size: 30px;
  }
  .cover.profile .wrapper .friends > li > a.group i {
    top: 10px;
  }
  .cover.profile .wrapper .name a {
    color: #333333;
  }
  .cover.profile .wrapper .nav {
    left: 0;
    padding-left: 140px;
    width: 100%;
    border-top: 1px solid #efefef;
  }
  .cover.profile .cover-info {
    height: 37px;
  }
  .cover.profile .cover-info .name {
    left: 100px;
    margin-bottom: 40px;
  }
  .cover.profile .cover-info .name a {
    font-size: 24px;
  }
  .cover.profile .cover-info .cover-nav {
    left: 85px;
  }
  .cover.profile .cover-info .cover-nav > li > a {
    padding: 8px 10px;
  }
  .cover.profile .cover-info .avatar {
    left: 10px;
    margin-bottom: 3px;
  }
  .cover.profile .cover-info .avatar img {
    width: 70px;
    height: 70px;
  }
}
@media (max-width: 768px) {
  .cover.profile .cover-info {
    background: #fff;
    clear: both;
    height: auto;
  }
  .cover.profile .cover-info .avatar {
    position: relative;
    left: 10px;
    display: inline-block;
    margin-top: 5px;
    margin-bottom: 6px;
  }
  .cover.profile .cover-info .avatar img {
    width: 45px;
    height: 45px;
  }
  .cover.profile .cover-info .name {
    display: inline-block;
    position: relative;
    margin-bottom: 0;
    left: 10px;
    top: 3px;
  }
  .cover.profile .cover-info .name a {
    color: #333333;
    font-size: 18px;
  }
  .cover.profile .cover-info .cover-nav {
    position: relative;
    margin: 0;
    bottom: 0;
    left: auto;
    float: none;
    padding-left: 0;
    border-top: 1px solid #efefef;
  }
  .cover.profile .cover-info .cover-nav li {
    float: none;
    border-right: 0 !important;
    border-bottom: 1px solid #efefef;
  }
}
.sidebar.right {
  display: none;
  z-index: 1033;
}
.show-chat .sidebar.right {
  display: block;
}
.show-chat #content {
  margin-left: auto;
  margin-right: 250px;
  min-width: 320px;
}
.show-chat .footer {
  left: 0;
  margin-left: auto;
  margin-right: 250px;
}
.navbar-primary {
  background-color: #ef4136;
  border: none;
  z-index: 1040;
}
.navbar-primary .navbar-brand {
  color: #ffffff;
  font-weight: bold;
  padding: 17px 10px 0px 15px;
}
.navbar-primary .navbar-text {
  color: #fff;
}
.navbar-primary .navbar-nav > li > a {
  color: #fff;
  font-size: 18px;
}
.navbar-primary .navbar-nav > li > a:hover {
  background: #ee382d;
}
.navbar-primary .navbar-nav .open > a,
.navbar-primary .navbar-nav .active > a {
  background: #ed2f23;
}
.navbar-primary .navbar-nav .open .dropdown-menu {
  border-top: 0;
  border-bottom: 3px solid;
  border-color: #e0e0e0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
}
.navbar-primary .navbar-nav .open .dropdown-menu > li > a,
.navbar-primary .navbar-nav .open .dropdown-menu > li > a:focus {
  color: #ef4136;
  font-weight: 500;
  padding: 5px 8px;
  border-top: 1px solid #efefef;
}
.navbar-primary .navbar-nav .open .dropdown-menu > li > a:hover,
.navbar-primary .navbar-nav .open .dropdown-menu > li > a:focus:hover {
  color: #797979;
}
.navbar-primary .navbar-nav .open .dropdown-menu > li.active > a {
  background: #ef4136;
  color: #fff;
}
@media (max-width: 768px) {
  .navbar-primary .navbar-collapse .navbar-nav .open .dropdown-menu > li a {
    color: #fff;
    font-weight: 500;
    background-color: #ed2f23;
  }
  .navbar-primary .navbar-collapse .navbar-nav .open .dropdown-menu > li a:hover {
    background: #ea1f13;
  }
}
.navbar-primary.dropdown-hover .navbar-nav > li:hover .dropdown-menu {
  display: block;
}
.navbar-primary .navbar-toggle {
  background-color: #ed2f23;
}
.navbar-primary .navbar-toggle:hover,
.navbar-primary .navbar-toggle:focus {
  background-color: #ea1f13;
}
.navbar-primary .navbar-toggle:hover .icon-bar,
.navbar-primary .navbar-toggle:focus .icon-bar {
  background-color: #fff;
}
.navbar-primary .navbar-toggle .icon-bar {
  background-color: #fac7c4;
}
.navbar-default {
  border-bottom: 2px solid #e0e0e0;
}
.navbar-default .navbar-nav .open .dropdown-menu {
  border-top: 0;
  border-bottom: 3px solid;
  border-color: #e0e0e0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
}
.navbar-default .navbar-nav .open .dropdown-menu > li > a,
.navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
  color: #ef4136;
  font-weight: 500;
  padding: 5px 8px;
  border-top: 1px solid #efefef;
}
.navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
.navbar-default .navbar-nav .open .dropdown-menu > li > a:focus:hover {
  color: #797979;
}
.navbar-default .navbar-nav .open .dropdown-menu > li.active > a {
  background: #ef4136;
  color: #fff;
}
.navbar-default .navbar-brand {
  border-right: 1px solid #efefef;
}
.navbar-default .navbar-nav > li {
  border-right: 1px solid #efefef;
}
.navbar-default .navbar-nav > li > a {
  color: #424242;
  font-size: 16px;
  font-weight: 400;
}
.navbar-default .navbar-nav > li > a i {
  color: #9f9f9f;
}
.navbar-default .navbar-nav > li > a:hover {
  background: #f4f4f4;
}
.navbar-default .navbar-nav > li > a:hover i {
  color: #ef4136;
}
.navbar-default .navbar-right > li:last-of-type {
  border-left: 1px solid #efefef;
  border-right: none;
}
.navbar-nav > li > a.dropdown-toggle {
  padding: 0 15px;
  height: 56px;
  line-height: 56px;
}
.navbar-nav > li > a.dropdown-toggle img {
  margin-top: -2px;
  margin-right: 3px;
}
.dropdown-header {
  font-weight: bold;
  padding: 10px;
  color: #B2B2B2;
  border-top: 1px solid #eeeeee;
}
.navbar-header [data-toggle="sidebar-chat"] {
  color: #fff;
  float: right;
  font-size: 18px;
  padding: 3px 15px;
}
.navbar-subnav {
  background: #303030;
  border: none;
  margin: -15px 0 15px;
}
@media (min-width: 768px) {
  .navbar-subnav .navbar-nav > li:first-of-type a {
    padding-left: 0;
  }
}
.navbar-subnav .navbar-nav > li.active a {
  color: #fff;
}
.navbar-subnav .navbar-nav > li > a {
  color: #676767;
  font-weight: bold;
}
.navbar-subnav .navbar-nav > li > a:hover {
  background: none;
  color: #fff;
}
.navbar-subnav .navbar-nav > li > a i {
  font-size: 18px;
  vertical-align: middle;
}
.navbar-subnav .navbar-toggle {
  float: left;
  color: #fff;
  font-size: 18px;
  margin-left: 15px;
  padding: 2px 6px !important;
}
.navbar-subnav .navbar-toggle:hover,
.navbar-subnav .navbar-toggle:focus {
  background-color: #1c1c1c;
}
.navbar-subnav .navbar-toggle .icon-bar {
  background-color: #7d7d7d;
}
@media (max-width: 768px) {
  .navbar-subnav.navbar {
    min-height: 48px !important;
  }
  .navbar-subnav.navbar .navbar-nav > li > a {
    line-height: 45px;
  }
  .navbar-subnav.navbar .navbar-toggle {
    margin-top: 10px;
    margin-bottom: 10px;
  }
}
.navbar-subnav.navbar {
  min-height: 70px;
}
.navbar-subnav .navbar-nav > li > a {
  padding-top: 0px;
  padding-bottom: 0px;
  line-height: 70px;
}
.navbar-subnav .navbar-brand {
  padding: 25px 15px;
  line-height: 20px;
  height: 70px;
}
.navbar-subnav .navbar-form {
  margin-top: 18px;
  margin-bottom: 18px;
}
.navbar-subnav .navbar-text {
  margin-top: 25px;
  margin-bottom: 25px;
}
.navbar-subnav .navbar-btn {
  margin-top: 18px;
  margin-bottom: 18px;
}
.navbar-subnav .navbar-btn.btn-sm {
  margin-top: 20px;
  margin-bottom: 20px;
}
.navbar-subnav .navbar-btn.btn-xs {
  margin-top: 24px;
  margin-bottom: 24px;
}
.navbar-subnav .navbar-toggle {
  margin-top: 18px;
  margin-bottom: 18px;
}
.navbar-default {
  border-bottom: 0;
}
.navbar-default .navbar-header [data-toggle="sidebar-chat"] {
  color: #ef4136;
}
body > .container {
  padding-bottom: 45px;
}
.footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: center;
  color: #888;
  font-weight: 500;
  background: #fff;
  height: 45px;
  line-height: 45px;
  z-index: 1030;
  display: block;
}
body {
  padding-bottom: 45px;
}
/*
Theme Name: Nantria
Description: Multi-Purpose HTML Site Template
Author: Bluminethemes
Theme URI: http://bluminethemes.com/preview/themeforest/html/nantria/
Author URI: http://themeforest.net/user/Bluminethemes
Version: 1.0.2
*/
/*------------------------------------------------------------------
[Table of contents]

1. Global Styles
2. Typography
3. Background Color & Color Classes
4. Background Styles
5. Sections
6. Columns & Grids
7. Page Titles
8. Header
	8.1 Top Bar
	8.2 Header Styles
9. Portfolio
10. Blog
11. Shop
12. Shortcodes
	12.1 Buttons
	12.2 Tooltips
	12.3 Alerts
	12.4 Accordions
	12.5 Tabs
	12.6 Progress Bars
	12.7 Breadcrumbs
	12.8 Pagination
	12.9 Icon Boxes
	12.10 Pricing Tables
	12.11 Count To
	12.12 Listing
	12.13 Count To
	12.14 Countdown
	12.15 Icons
	12.16 Feature Box
	12.17 Knowledge Box
	12.18 Labels
	12.19 Modal
	12.20 Clients
	12.21 Text Rotate
	12.22 Testimonial Box
13. FlexSlider
14. Swiper Slider
15. owlCarousel
16. Overlays
17. Forms
18. Google Maps
19. Divider
20. Back To Top
21. Preloaders
22. Footer
23. Sidebar & Widgets
24. Isotope Transitions
25. Other
26. Helper Classes
	26.1 Different
	26.2 Spacing
27. Mobile
28. Responsive
-------------------------------------------------------------------*/
/*------------------------------------------------------------------
[1. Global Styles]
*/
body {
  position: relative;
  overflow-x: hidden;
  background: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  white-space: normal;
}
body.boxed-layout {
  background: #e5e7e9;
}
body.boxed-layout .main-container {
  position: relative;
}
body.boxed-layout .main-container::before {
  content: '';
  position: absolute;
  z-index: -1000;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
}
body.boxed-layout .main-container {
  max-width: 1370px;
  margin: 0 auto;
  left: 0;
  right: 0;
}
.main-container {
  clear: both;
}
.csstransitions .animated,
.animated {
  visibility: hidden;
}
.csstransitions .visible {
  visibility: visible;
}
audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}
video {
  max-width: 100%;
}
img {
  max-width: 100%;
}
iframe {
  display: block;
  width: 100%;
  border: 0;
  overflow: hidden;
}
.video-container {
  width: 100%;
  height: 100%;
}
/*------------------------------------------------------------------
[2. Typography]
*/
body {
  font-family: 'Open Sans', sans-serif;
  font-style: normal;
  font-weight: normal;
  font-size: 14px;
  line-height: 28px;
  color: #333;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Roboto', Helvetica, sans-serif;
  margin-top: 0;
  margin-bottom: 15px;
  position: relative;
  color: #333;
}
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  color: #333;
}
h1 {
  font-size: 54px;
  line-height: 62px;
  color: #333 !important;
  font-weight: 600 !important;
}
h2 {
  font-size: 40px;
  line-height: 48px;
  font-weight: 300;
}
h3 {
  font-size: 32px;
  line-height: 40px;
  font-weight: 300;
}
h4 {
  font-size: 24px;
  line-height: 32px;
  font-weight: 300;
}
h5 {
  font-size: 18px;
  line-height: 24px;
  font-weight: 500;
}
h6 {
  font-size: 12px;
  line-height: 24px;
  font-weight: 700;
}
/* Heading Uppercase */
.heading-uppercase {
  text-transform: uppercase;
  font-weight: 400;
}
h1.heading-uppercase {
  letter-spacing: 10px;
  margin-right: -10px;
}
h2.heading-uppercase {
  letter-spacing: 7px;
  margin-right: -7px;
}
h3.heading-uppercase {
  letter-spacing: 7px;
  margin-right: -7px;
}
h4.heading-uppercase {
  letter-spacing: 4px;
  margin-right: -4px;
}
h5.heading-uppercase {
  font-weight: 500;
  letter-spacing: 2px;
  margin-right: -2px;
}
h6.heading-uppercase {
  font-weight: 700;
  letter-spacing: 2px;
  margin-right: -2px;
}
p {
  margin-bottom: 20px;
}
p.lead {
  font-size: 16px;
  line-height: 30px;
  font-weight: 400;
}
p:last-child {
  margin-bottom: 0px;
}
.alt-font {
  font-family: 'Raleway', 'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;
  font-weight: 700;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1px;
  line-height: 24px;
  display: block;
}
.small-title {
  font-family: 'Raleway', 'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;
  font-weight: 500;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 7px;
  line-height: 24px;
  display: block;
}
a {
  cursor: pointer;
  color: #ef4136;
  text-decoration: none;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
a:hover,
a:focus {
  text-decoration: none;
  outline: 0;
  color: #ef4136;
}
a,
button {
  outline: none;
}
em {
  font-style: italic;
}
strong {
  font-weight: 700;
}
blockquote {
  position: relative;
  overflow: hidden;
  font-family: 'Open Sans', 'Georgia', Times New Roman, Times, serif;
  font-size: 20px;
  line-height: 32px;
  font-style: italic;
  background: #f5f7f9;
  padding: 24px 32px;
  color: #777;
  font-weight: 300;
  margin-bottom: 20px;
  border: 0;
  transition: all .5s ease;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
}
blockquote::before {
  content: '';
  position: absolute;
  top: 15px;
  bottom: 15px;
  left: 15px;
  right: 15px;
  max-width: 37px;
  max-height: 37px;
  border-top: 1px solid #a5a7a9;
  border-left: 1px solid #a5a7a9;
  transition: all .5s ease;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
}
blockquote:hover::before {
  border-color: #ef4136;
  max-width: 54px;
  max-height: 54px;
}
.blockquote-reverse,
blockquote.pull-right {
  padding: 24px 32px;
  border: 0;
}
.blockquote-reverse::before,
blockquote.pull-right::before {
  border-left: 0;
  border-right: 1px solid #a5a7a9;
  margin: auto;
  margin-top: 0;
  margin-right: 0;
}
blockquote.pull-right {
  margin: 5px 0 10px 20px;
  max-width: 300px;
}
blockquote.pull-left {
  margin: 5px 20px 10px 0;
  max-width: 370px;
}
address,
blockquote,
dd,
dl,
fieldset,
form,
ol,
p,
pre,
table,
ul {
  margin-bottom: 30px;
}
pre {
  margin: 0;
  padding: 9.5px;
  color: #333;
  background-color: #f5f7f9;
  border: 1px solid #e5e7e9;
  border-radius: 0px;
  text-align: left;
}
.revo-slider-emphasis-text {
  font-family: 'Raleway', sans-serif;
  font-weight: 700;
  font-size: 64px;
  line-height: 1.5;
}
.revo-slider-desc-text {
  font-family: 'Open Sans', sans-serif;
  font-size: 20px;
  text-align: center;
  line-height: 1.5;
}
.revo-slider-caps-text {
  font-family: 'Open Sans', sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 2px;
}
input,
select,
textarea {
  font-size: 16px;
  font-family: 'Open Sans', sans-serif;
  font-style: normal;
  font-weight: 300;
}
ul,
ol {
  margin: 0;
  padding: 0;
}
ul {
  list-style: none;
}
/*------------------------------------------------------------------
[3. Background Color & Color Classes]
*/
.text-strong {
  font-weight: 600;
}
/* Text Color */
.text-white {
  color: #fff !important;
}
.text-color {
  color: #333333;
}
.facebook-color {
  color: #365899 !important;
}
.text-grey {
  color: #ededed;
}
.text-dark {
  color: #333 !important;
}
.text-dark-2 {
  color: #555;
}
.text-red {
  color: #dd4b39;
}
.text-pink {
  color: #e91e63;
}
.text-purple {
  color: #9c27b0;
}
.text-indigo {
  color: #2951d5;
}
.text-blue {
  color: #2196f3;
}
.text-cyan {
  color: #00bcd4;
}
.text-teal {
  color: #80CBC4;
}
.text-green {
  color: #8bc34a;
}
.text-lime {
  color: #cddc39;
}
.text-yellow {
  color: #ffeb3b;
}
.text-amber {
  color: #ffc107;
}
.text-orange {
  color: #ff9800;
}
.text-brown {
  color: #795548;
}
/* Highlight */
.highlight {
  color: #ef4136;
}
.highlight.white {
  color: #fff;
}
.highlight.grey {
  color: #ededed;
}
.highlight.black {
  color: #333;
}
.highlight.red {
  color: #dd4b39;
}
.highlight.pink {
  color: #e91e63;
}
.highlight.purple {
  color: #9c27b0;
}
.highlight.indigo {
  color: #2951d5;
}
.highlight.blue {
  color: #2196f3;
}
.highlight.cyan {
  color: #00bcd4;
}
.highlight.teal {
  color: #80CBC4;
}
.highlight.green {
  color: #8bc34a;
}
.highlight.lime {
  color: #cddc39;
}
.highlight.yellow {
  color: #ffeb3b;
}
.highlight.amber {
  color: #ffc107;
}
.highlight.orange {
  color: #ff9800;
}
.highlight.brown {
  color: #795548;
}
/* Background Color */
.background-white {
  background-color: #fff;
}
.background-grey {
  background-color: #f5f7f9;
}
.background-dark {
  background-color: #333;
}
.background-dark-2 {
  background-color: #2A2B35;
}
.background-dark-3 {
  background-color: #484957;
}
.background-dark-4 {
  background-color: #111;
}
.background-dark-5 {
  background-color: #000a1e;
}
.background-dark-6 {
  background-color: #2c3e50;
}
.background-dark-7 {
  background-color: #1b1b25;
}
.background-dark-8 {
  background-color: #2a3b4c;
}
.background-red {
  background-color: #dd4b39;
}
.background-pink {
  background-color: #e91e63;
}
.background-purple {
  background-color: #9c27b0;
}
.background-indigo {
  background-color: #2951d5;
}
.background-primary {
  background-color: #ef4136;
}
.background-blue {
  background-color: #ef4136;
}
.background-cyan {
  background-color: #00bcd4;
}
.background-teal {
  background-color: #80CBC4;
}
.background-turquoise {
  background-color: #27c5c3;
}
.background-green {
  background-color: #8bc34a;
}
.background-lime {
  background-color: #cddc39;
}
.background-yellow {
  background-color: #ffeb3b;
}
.background-amber {
  background-color: #ffc107;
}
.background-orange {
  background-color: #ff9800;
}
.background-brown {
  background-color: #795548;
}
/* Gradient Background */
.gradient-1 {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#fe7259+0,ffc456+100 */
  background: #fe7259;
  /* Old browsers */
  background: -moz-linear-gradient(left, #fe7259 0%, #ffc456 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(left, #fe7259 0%, #ffc456 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #fe7259 0%, #ffc456 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fe7259', endColorstr='#ffc456', GradientType=1);
  /* IE6-9 */
}
.gradient-2 {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#2951d5+0,2196f3+100 */
  background: #2951d5;
  /* Old browsers */
  background: -moz-linear-gradient(left, #2951d5 0%, #ef4136 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(left, #2951d5 0%, #ef4136 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #2951d5 0%, #ef4136 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#2951d5', endColorstr='@primary-color', GradientType=1);
  /* IE6-9 */
}
.gradient-3 {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#00bcd4+0,80cbc4+100 */
  background: #00bcd4;
  /* Old browsers */
  background: -moz-linear-gradient(left, #00bcd4 0%, #80cbc4 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(left, #00bcd4 0%, #80cbc4 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #00bcd4 0%, #80cbc4 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00bcd4', endColorstr='#80cbc4', GradientType=1);
  /* IE6-9 */
}
.gradient-4 {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#8bc34a+0,cddc39+100 */
  background: #8bc34a;
  /* Old browsers */
  background: -moz-linear-gradient(left, #8bc34a 0%, #cddc39 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(left, #8bc34a 0%, #cddc39 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #8bc34a 0%, #cddc39 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#8bc34a', endColorstr='#cddc39', GradientType=1);
  /* IE6-9 */
}
.gradient-5 {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#fc5a5a+0,4e76e5+100 */
  background: #fc5a5a;
  /* Old browsers */
  background: -moz-linear-gradient(left, #fc5a5a 0%, #4e76e5 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(left, #fc5a5a 0%, #4e76e5 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #fc5a5a 0%, #4e76e5 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fc5a5a', endColorstr='#4e76e5', GradientType=1);
  /* IE6-9 */
}
.gradient-6 {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f2ce57+0,469fc9+100 */
  background: #f2ce57;
  /* Old browsers */
  background: -moz-linear-gradient(left, #f2ce57 0%, #469fc9 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(left, #f2ce57 0%, #469fc9 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #f2ce57 0%, #469fc9 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f2ce57', endColorstr='#469fc9', GradientType=1);
  /* IE6-9 */
}
.gradient-7 {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#8948ce+0,29c3d1+100 */
  background: #8948ce;
  /* Old browsers */
  background: -moz-linear-gradient(left, #8948ce 0%, #29c3d1 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(left, #8948ce 0%, #29c3d1 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #8948ce 0%, #29c3d1 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#8948ce', endColorstr='#29c3d1', GradientType=1);
  /* IE6-9 */
}
.gradient-8 {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#e83c75+0,9e3daf+100 */
  background: #e83c75;
  /* Old browsers */
  background: -moz-linear-gradient(left, #e83c75 0%, #9e3daf 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(left, #e83c75 0%, #9e3daf 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #e83c75 0%, #9e3daf 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e83c75', endColorstr='#9e3daf', GradientType=1);
  /* IE6-9 */
}
/*------------------------------------------------------------------
[4. Background Styles]
*/
.parallax-background {
  -webkit-background-size: cover;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 0;
  background-attachment: fixed;
}
.cover-background {
  -webkit-background-size: cover;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.image-background {
  -webkit-background-size: auto auto;
  background-size: auto auto;
  background-repeat: no-repeat;
  background-position: center;
}
.full-background {
  -webkit-background-size: 100% auto;
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center;
}
.player {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 0;
}
.video-wrapper {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 0;
  overflow: hidden;
  background-color: #000;
}
.video-wrapper video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  max-width: none;
  width: auto;
  height: auto;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}
.fullcoveredvideo video,
.fullscreenvideo video {
  width: 100%;
}
.no-background {
  background-image: none !important;
  background-color: transparent !important;
}
.bg-center-left {
  background-position: center left;
}
.bg-center {
  background-position: center;
}
.bg-center-right {
  background-position: center right;
}
.bg-top-left {
  background-position: top left;
}
.bg-top-center {
  background-position: top center;
}
.bg-top-right {
  background-position: top right;
}
.bg-bottom-left {
  background-position: bottom left;
}
.bg-bottom-center {
  background-position: bottom center;
}
.bg-bottom-right {
  background-position: bottom right;
}
.background-norepeat {
  background-repeat: no-repeat;
}
.background-repeat {
  background-repeat: repeat;
}
.background-repeatx {
  background-repeat: repeat-x;
}
.background-repeaty {
  background-repeat: repeat-y;
}
/*------------------------------------------------------------------
[5. Sections]
*/
section,
.section {
  position: relative;
  overflow: hidden;
  padding: 90px 0;
}
.intro-section {
  position: relative;
  overflow: hidden;
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  padding-top: 210px;
  padding-bottom: 210px;
}
.section-container,
.block-container {
  position: relative;
}
.fullscreen-element {
  height: 100px;
  /* Fix */
}
.fullscreen-element .section-container,
.fullscreen-element .box-container {
  position: relative;
  display: table;
  width: 100%;
  height: 100%;
}
.fullscreen-element .table-container {
  display: table-cell;
  vertical-align: middle;
}
/* Equal Section */
.equal-section {
  padding: 0 !important;
}
.equal-section .equal-cols-container {
  padding: 0;
}
.equal-section .equal-row {
  margin: 0;
}
.equal-section .equal-col {
  padding-left: 0;
  padding-right: 0;
  position: relative;
  overflow: hidden;
}
.equal-col-wrapper {
  display: table;
  width: 100%;
  height: 100%;
  position: relative;
  padding: 90px 0;
  z-index: 0;
}
.equal-col-container {
  display: table-cell;
  vertical-align: middle;
}
.equal-col-content {
  max-width: 960px;
  padding: 0 15px;
  margin: 0 auto;
}
.section.equal-border {
  padding: 90px;
}
.section.equal-border .section-container {
  padding-top: 90px;
  padding-bottom: 90px;
  background-color: #fff;
}
/* Container Overlay */
.container-overlay {
  position: absolute;
  top: -90px;
  bottom: -90px;
  left: 0;
  right: 0;
  z-index: -1;
}
.container-overlay .col-background {
  position: absolute;
  top: 0;
  bottom: 0;
}
/*------------------------------------------------------------------
[6. Columns & Grids]
*/
/* 5 Columns */
.col-xs-15,
.col-sm-15,
.col-md-15,
.col-lg-15 {
  position: relative;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}
.col-xs-15 {
  width: 20%;
  float: left;
}
@media (min-width: 768px) {
  .col-sm-15 {
    width: 50%;
    float: left;
  }
}
@media (min-width: 992px) {
  .col-md-15 {
    width: 25%;
    float: left;
  }
}
@media (min-width: 1200px) {
  .col-md-15 {
    width: 20%;
    float: left;
  }
  .col-lg-15 {
    width: 20%;
    float: left;
  }
}
/*------------------------------------------------------------------
[7. Page Titles]
*/
.page-title {
  position: relative;
  overflow: hidden;
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  padding-top: 190px;
  padding-bottom: 120px;
}
.page-title-large {
  padding-top: 270px;
  padding-bottom: 200px;
}
.page-title-xlarge {
  padding-top: 300px;
  padding-bottom: 260px;
}
@media screen and (min-width: 992px) {
  body.mobile .page-title {
    padding-top: 120px;
  }
  body.mobile .page-title-large {
    padding-top: 200px;
  }
}
/*------------------------------------------------------------------
[8. Header]
*/
.main-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  -webkit-backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  opacity: 1;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
}
.main-header .header-wrapper {
  position: relative;
  width: auto;
  max-width: 100%;
  margin: 0;
  padding: 0;
}
.main-header.scrolled {
  opacity: 0;
  position: absolute;
}
.main-header.header-sticky {
  position: fixed;
  opacity: 1;
}
.main-header.header-blocked {
  position: relative;
  opacity: 1;
}
.main-header.header-alt .header-wrapper {
  margin-top: 15px;
  margin-left: 15px;
  margin-right: 15px;
}
.main-header.header-alt.header-sticky .header-wrapper {
  margin: 0;
}
.main-header.header-narrow .header-wrapper {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
.main-header.header-narrow.scrolled .header-wrapper {
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}
body.boxed-layout .main-header {
  max-width: 1370px;
  margin: 0 auto;
}
/* Header Transparent */
.main-header.transparent {
  padding-top: 10px;
  background-color: transparent;
}
.main-header.scrolled {
  padding-top: 0;
}
.main-header.header-sticky {
  background-color: #fff;
}
/* Header Light */
.main-header.light .header-wrapper {
  background-color: #fff;
  box-shadow: 0 0 0 1px #e5e7e9;
}
.main-header.light.header-sticky .header-wrapper {
  box-shadow: 0 1px 0 #e5e7e9;
}
.main-header.header-alt.light .header-wrapper {
  box-shadow: 0 0 0 0 #e5e7e9;
}
.main-header.header-alt.light.header-sticky .header-wrapper {
  box-shadow: 0 0 0 1px #e5e7e9;
}
/* Header Dark */
.main-header.dark .header-wrapper {
  background-color: #000;
}
/* Header Transparent */
.main-header.transparent {
  padding-top: 10px;
}
.main-header.transparent.header-sticky {
  padding: 0;
}
.main-header.transparent.header-sticky .header-wrapper {
  background-color: #fff;
  box-shadow: 0 1px 0 #e5e7e9;
}
/* Header Semi Transparent Light */
.main-header.semi-light .header-wrapper {
  background-color: rgba(200, 200, 200, 0.8);
}
.main-header.semi-light.header-sticky .header-wrapper {
  background-color: rgba(255, 255, 255, 0.93);
  box-shadow: 0 1px 0 #e5e7e9;
}
/* Header Semi Transparent Dark */
.main-header.semi-dark .header-wrapper {
  background-color: rgba(0, 10, 20, 0.7);
}
.main-header.semi-dark.header-sticky .header-wrapper {
  background-color: rgba(0, 10, 20, 0.87);
}
.main-header.semi-dark.header-sticky .header-nav.light .menu > li {
  color: #fff;
}
/* Header Logo */
.header-logo {
  float: left;
  padding: 0 15px;
  height: 30px;
}
.header-logo a {
  font-size: 18px;
  display: table;
  margin: 0 auto;
}
.header-logo img {
  max-width: 100%;
  height: 30px !important;
  max-height: 30px !important;
  margin-top: 10px;
  display: block;
}
/* Header Above */
.header-above .header-above-left,
.header-above .header-above-right {
  width: 35%;
  min-height: 1px;
}
.header-above .header-above-left,
.header-above .header-above-right,
.header-above .header-logo {
  float: left;
  line-height: 70px;
}
.header-above .header-logo {
  width: 30%;
  text-align: center;
}
.header-above .header-above-left {
  text-align: left;
}
.header-above .header-above-right {
  text-align: right;
}
.header-above .socials-icons {
  height: auto;
}
.header-above .socials-icons .social-icon {
  height: auto;
  width: auto;
  margin-top: 16px;
  margin-bottom: 16px;
  margin-right: 20px;
}
/* Header Functions Widgets */
.header-functions {
  position: relative;
  float: right;
}
.header-widget {
  position: relative;
  float: left;
}
.header-widget .widget-content {
  display: block;
  position: absolute;
  top: 100%;
  right: 0;
  left: auto;
  background: #fff;
  opacity: 0;
  min-width: 290px;
  padding: 15px;
  margin: 0;
  margin-right: 15px;
  font-size: 14px;
  background-color: #fff;
  border: 1px solid #e5e7e9;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transform: translate3d(0, 10px, 0);
  -webkit-transform: translate3d(0, 10px, 0);
  -moz-transform: translate3d(0, 10px, 0);
  visibility: hidden;
  overflow: hidden;
  z-index: 2;
}
.header-nav.nav-narrow .header-widget:last-child .widget-content {
  margin-right: 0;
}
.header-widget.widget-menu .widget-content {
  min-width: 230px;
}
.header-widget.open .widget-content {
  opacity: 1;
  transform: translate3d(0, 0px, 0);
  -webkit-transform: translate3d(0, 0px, 0);
  -moz-transform: translate3d(0, 0px, 0);
  visibility: visible;
}
.trigger-widget {
  position: relative;
  display: block;
  font: 13px 'Open Sans', sans-serif;
  font-weight: 400;
  letter-spacing: 1px;
  color: #fff;
  float: left;
  line-height: 70px;
  height: 70px;
  text-decoration: none;
  margin: 0 15px;
  padding-bottom: 1px;
  text-transform: uppercase;
}
.main-header.light .trigger-widget {
  color: #333;
}
.header-nav.nav-narrow .header-widget:last-child .trigger-widget {
  margin-right: 0;
}
.trigger-widget i {
  font-size: 21px;
}
.trigger-widget:focus,
.trigger-widget:hover {
  color: #fff;
}
#top-cart-trigger {
  padding-right: 10px;
}
#top-cart-trigger span {
  display: block;
  width: 17px;
  height: 17px;
  font-size: 10px;
  line-height: 17px;
  padding: 0;
  text-align: center;
  position: absolute;
  color: #fff;
  background: #ef4136;
  top: 18px;
  right: 0;
  border-radius: 50%;
}
#top-cart-trigger:hover span,
#top-cart-trigger:focus span {
  color: #fff;
}
.header-widget.widget-menu ul {
  margin: 0;
}
/* Top Cart */
.top-cart .mega-menu-content {
  padding: 15px 15px;
}
.top-cart .trigger-button .number {
  height: 15px;
  font-size: 11px;
  line-height: 15px;
  padding: 0;
  text-align: center;
  position: relative;
  color: #fff;
  top: -10px;
}
.top-cart-item {
  padding-bottom: 5px;
  margin-bottom: 0px;
  border-bottom: 1px solid #e5e7e9;
  overflow: hidden;
}
.top-cart .item-image {
  float: left;
  margin-right: 15px;
  width: 48px!important;
  height: 48px!important;
  border: 2px solid #e5e7e9;
  -webkit-transition: border-color 0.2s linear;
  -o-transition: border-color 0.2s linear;
  transition: border-color 0.2s linear;
}
.top-cart .item-image a,
.top-cart .item-image img {
  display: block;
  width: 44px!important;
  height: 44px!important;
}
.top-cart-item a {
  display: block;
  position: relative;
  font-size: 14px;
  line-height: 20px;
  color: #333;
}
.top-cart .item-desc {
  position: relative;
  overflow: hidden;
}
.top-cart .item-desc a {
  text-align: left;
  font-size: 13px;
  width: auto;
  height: auto;
  font-weight: 600;
}
.top-cart .item-desc span.item-price {
  display: block;
  line-height: 20px;
  font-size: 12px!important;
  color: #999;
  text-align: left;
}
.top-cart .item-desc span.item-quantity {
  display: block;
  position: absolute;
  font-size: 12px!important;
  right: 0;
  top: 20px;
  line-height: 20px;
  color: #444;
}
.top-checkout-price {
  font-size: 17px;
  font-family: 'Open Sans', sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 28px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #333;
  float: left;
}
.top-cart-action {
  overflow: hidden;
}
.top-cart-action .button {
  float: right;
}
/*------------------------------------------------------------------
[8.1 Top Bar]
*/
.top-bar {
  position: relative;
  height: 37px;
  margin: 0;
  line-height: 36px;
  font-size: 13px;
  border-bottom: 1px solid #e5e7e9;
}
.mobile .top-bar,
.header-sticky .top-bar {
  display: none;
}
/* Top Bar - Light */
.top-bar.light {
  border-color: #fff;
  border-color: rgba(255, 255, 255, 0.37);
  color: #fff;
  margin: 0;
}
.top-bar.light a {
  color: #fff;
}
.top-bar.light a:hover,
.top-bar.light a:focus {
  color: #fff;
  opacity: .8;
}
.top-bar.light .container-fluid {
  padding: 0;
}
.main-header.dark .top-bar.light {
  margin: 0;
  border-color: #39383a;
}
.main-header.dark .top-bar.light .container-fluid {
  padding: 0 30px;
}
.header-alt .top-bar.light {
  margin: 0;
}
/* Top Bar - Dark */
.top-bar.dark {
  border-color: #333;
  border-color: rgba(55, 55, 55, 0.73);
  color: #333;
  margin: 0 30px;
}
.top-bar.dark .container-fluid {
  padding: 0;
}
.main-header.light .top-bar.dark {
  margin: 0;
  border-color: #e5e7e9;
}
.main-header.light .top-bar.dark .container-fluid {
  padding: 0 30px;
}
.header-alt .top-bar.dark {
  margin: 0;
}
/* Top Links */
.top-links {
  position: relative;
  float: left;
}
.top-links ul {
  margin: 0;
  list-style: none;
}
.top-links ul li {
  float: left;
  position: relative;
  height: 36px;
}
.top-links li > a {
  display: block;
  margin: 0 12px;
  font-family: 'Raleway', Arial, sans-serif;
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  height: 36px;
  color: #333;
  letter-spacing: 1px;
}
.top-links li:first-child > a {
  margin-left: 0;
}
.top-links li:last-child > a {
  margin-right: 0;
}
.top-links li > a i {
  font-size: 14px;
  color: #333;
}
.top-links li > a:hover,
.top-links li > a:hover i {
  color: #555;
}
/* Top Social */
.top-social {
  position: relative;
  float: right;
}
.top-social ul {
  margin: 0;
  list-style: none;
}
.top-social ul li {
  float: left;
  position: relative;
  height: 36px;
}
.top-social li > a {
  display: block;
  padding: 0 12px;
  font-family: 'Raleway', Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  text-transform: uppercase;
  height: 36px;
  color: #333;
  letter-spacing: 1px;
}
.top-social li > a i {
  font-size: 14px;
  color: #333;
}
.top-social li > a:hover,
.top-social li > a:hover i {
  color: #333;
}
/* Top Content */
.top-content {
  position: relative;
  float: left;
}
/*------------------------------------------------------------------
[8.2 Header Styles]
*/
.header-nav {
  position: relative;
}
.nav-block {
  display: block;
}
.nav-block.left {
  float: left;
}
.nav-block.right {
  float: right;
}
/* Block Header */
.nav-toggle {
  display: none;
  float: left;
  border: 0;
  margin: 0;
  padding: 0;
  background: transparent;
  border-right: 1px solid #e5e7e9;
  color: #333;
  font-size: 31px;
  width: 70px;
  height: 70px;
  line-height: 70px;
  text-align: center;
}
.nav-toggle i {
  display: block;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.nav-toggle.open i {
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -o-transform: rotate(90deg);
}
/* Block Menu */
.header-nav ul.menu {
  position: static;
  margin: 0;
  padding: 0;
  list-style: none;
}
.header-nav .bt-dropdown,
.header-nav ul.menu > li {
  position: static;
  float: left;
  margin: 0 15px;
}
.header-nav .menu > li > a,
.bt-dropdown-menu > li > a,
.header-widget.widget-menu ul li a {
  display: block;
  font-size: 13px;
  font-family: 'Open Sans', sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.header-nav .menu > li > a {
  line-height: 70px;
}
.main-header .fa.fa-angle-down {
  font-size: 13px;
}
.bt-dropdown-menu {
  visibility: hidden;
  display: block;
  position: absolute;
  top: 100%;
  left: auto;
  z-index: 1000;
  opacity: 0;
  float: left;
  text-align: left;
  list-style: none;
  min-width: 230px;
  margin: 0;
  padding: 0;
  font-size: 14px;
  background-color: #fff;
  border: 1px solid #e5e7e9;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transform: translate3d(0, 10px, 0);
  -webkit-transform: translate3d(0, 10px, 0);
  -moz-transform: translate3d(0, 10px, 0);
}
.dropdown-submenu .bt-dropdown-menu.menu-pos-invert {
  left: -100%;
  margin-left: -2px;
}
.bt-dropdown-menu > li > a,
.header-widget.widget-menu ul li a {
  padding: 10px 17px;
  line-height: 21px;
  color: #777;
}
.open > .bt-dropdown-menu {
  display: block;
  opacity: 1;
  transform: translate3d(0, 0px, 0);
  -webkit-transform: translate3d(0, 0px, 0);
  -moz-transform: translate3d(0, 0px, 0);
  visibility: visible;
}
.header-nav ul.menu li.dropdown-submenu {
  position: relative;
}
.header-nav .dropdown-submenu > a::after {
  content: "\f105";
  font: normal normal normal 14px/21px FontAwesome;
  display: inline-block;
  border: 0;
  margin: 0;
  position: absolute;
  right: 15px;
}
.dropdown-submenu .bt-dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -1px;
}
.header-nav .bt-dropdown-menu > li > a:focus,
.header-nav .bt-dropdown-menu > li > a:hover,
.header-nav .dropdown-submenu.open > a,
.header-nav .dropdown-submenu.open > a:focus,
.header-nav .dropdown-submenu.open > a:hover,
.header-widget.widget-menu ul li a:focus,
.header-widget.widget-menu ul li a:hover {
  color: #ef4136;
  background-color: #f5f7f9;
}
/* Mega Menu */
.header-nav .bt-dropdown.mega-menu .bt-dropdown-menu {
  left: 0;
  right: 0;
  background-color: transparent;
  border: 0;
}
.mega-menu-content {
  padding: 30px 30px;
  margin: 0;
  background-color: #fff;
  border: 1px solid #e5e7e9;
}
.mega-menu-content li a {
  padding: 10px 0;
  font-size: 13px;
  font-family: 'Open Sans', sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 21px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #777;
}
.mega-menu-content li a:hover {
  color: #ef4136;
}
.mega-menu-content .list-header {
  font-size: 13px;
  font-family: 'Open Sans', sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 21px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #333;
  margin-top: 15px;
  margin-bottom: 10px;
}
.mega-menu-content .list-header:first-child {
  margin-top: 0;
}
/*	Header Style General */
.main-header.header-alt.header-sticky .header-nav .mega-menu-content {
  border-left-width: 1px;
  border-right-width: 1px;
}
.main-header.transparent .logo-light,
.main-header.transparent.header-sticky .header-logo .logo-dark {
  display: block;
  visibility: visible;
}
.main-header.transparent .logo-dark,
.main-header.transparent.header-sticky .header-logo .logo-light {
  visibility: hidden;
  display: none;
}
/* Header Style 1 */
.main-header.style-1 .header-nav .mega-menu-content,
.main-header.style-1.header-sticky .header-nav .mega-menu-content {
  border-left-width: 0;
  border-right-width: 0;
}
.main-header.style-1.transparent .header-nav .mega-menu-content,
.main-header.style-1.transparent.header-sticky .header-nav .mega-menu-content {
  border-left-width: 1px;
  border-right-width: 1px;
}
.main-header.style-1.transparent {
  padding-top: 0;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.37);
}
.main-header.style-1.transparent-dark {
  padding-top: 0;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.07);
}
.main-header.style-1.transparent .top-bar {
  padding: 0 30px;
}
.main-header.style-1 .header-logo {
  padding-right: 30px;
  box-shadow: 1px 0 0 rgba(255, 255, 255, 0.37), -15px 0 0 rgba(255, 255, 255, 0.07);
  /*background: rgba(255,255,255,0.07);*/
}
.main-header.style-1.transparent-dark .header-logo {
  box-shadow: 1px 0 0 rgba(0, 0, 0, 0.07), -15px 0 0 rgba(0, 0, 0, 0.03);
  background: rgba(0, 0, 0, 0.02);
}
.main-header.style-1.light .header-logo,
.main-header.style-1.header-sticky .header-logo,
.main-header.style-1.transparent.header-sticky .header-logo {
  box-shadow: 1px 0 0 #e5e7e9;
  background: transparent;
}
.main-header.style-1.dark .header-logo {
  box-shadow: 1px 0 0 #39383a;
}
/* Header Style 2 */
.main-header.style-2 .header-above {
  border-bottom: 1px solid #e5e7e9;
}
.main-header.style-2.dark .header-above,
.main-header.style-2.semi-dark .header-above {
  border-color: #39383a;
}
.main-header.style-2.transparent .header-above {
  border-color: transparent;
}
.main-header.style-2.transparent.scrolled .header-above {
  border-color: #e5e7e9;
}
.main-header.style-2 .header-widget:last-child .trigger-widget,
.main-header.style-2 .header-widget:last-child .widget-content {
  margin-right: 0;
}
.main-header.style-2 .header-nav .bt-dropdown:first-child,
.main-header.style-2 .header-nav ul.menu > li:first-child {
  margin-left: 0;
}
.main-header.style-2 .header-nav .mega-menu-content {
  max-width: 1170px;
  margin-left: auto;
  margin-right: auto;
}
.main-header.style-2.header-narrow .header-nav .mega-menu-content {
  max-width: 1200px;
  margin-left: 0;
  margin-right: 0;
}
.main-header.style-2 .header-nav .mega-menu-content,
.main-header.style-2.header-sticky .header-nav .mega-menu-content {
  border-left-width: 1px;
  border-right-width: 1px;
}
/* Nav - Color Style - Light */
.header-nav.light .logo-light {
  display: block;
  visibility: visible;
}
.header-nav.light .logo-dark {
  visibility: hidden;
  display: none;
}
.header-sticky .header-nav.light .logo-light {
  visibility: hidden;
  display: none;
}
.header-sticky .header-nav.light .logo-dark {
  display: block;
  visibility: visible;
}
.header-nav.light .menu > li > a,
.header-nav.light .menu > li > a > i,
.header-nav.light .top-links li > a,
.header-nav.light .top-links li > a i,
.header-nav.light .top-social li > a,
.header-nav.light .top-social li > a i,
.header-nav.light .top-links li > a:hover,
.header-nav.light .top-links li > a:hover i,
.header-nav.light .top-social li > a:hover,
.header-nav.light .top-social li > a:hover i,
.header-nav.light .trigger-widget,
.header-nav.light .trigger-widget:focus,
.header-nav.light .trigger-widget:hover,
.header-nav.light .trigger-widget i {
  color: #fff;
}
.header-sticky .header-nav.light .menu > li > a,
.header-sticky .header-nav.light .menu > li > a > i,
.header-sticky .header-nav.light .top-links li > a,
.header-sticky .header-nav.light .top-links li > a i,
.header-sticky .header-nav.light .top-social li > a,
.header-sticky .header-nav.light .top-social li > a i,
.header-sticky .header-nav.light .top-links li > a:hover,
.header-sticky .header-nav.light .top-links li > a:hover i,
.header-sticky .header-nav.light .top-social li > a:hover,
.header-sticky .header-nav.light .top-social li > a:hover i,
.header-sticky .header-nav.light .trigger-widget,
.header-sticky .header-nav.light .trigger-widget:focus,
.header-sticky .header-nav.light .trigger-widget:hover,
.header-sticky .header-nav.light .trigger-widget i {
  color: #333;
}
.header-sticky.dark .header-nav.light .menu > li > a,
.header-sticky.dark .header-nav.light .menu > li > a > i,
.header-sticky.dark .header-nav.light .top-links li > a,
.header-sticky.dark .header-nav.light .top-links li > a i,
.header-sticky.dark .header-nav.light .top-social li > a,
.header-sticky.dark .header-nav.light .top-social li > a i,
.header-sticky.dark .header-nav.light .top-links li > a:hover,
.header-sticky.dark .header-nav.light .top-links li > a:hover i,
.header-sticky.dark .header-nav.light .top-social li > a:hover,
.header-sticky.dark .header-nav.light .top-social li > a:hover i,
.header-sticky.dark .header-nav.light .trigger-widget,
.header-sticky.dark .header-nav.light .trigger-widget:focus,
.header-sticky.dark .header-nav.light .trigger-widget:hover,
.header-sticky.dark .header-nav.light .trigger-widget i {
  color: #fff;
}
/* Nav - Color Style - Dark */
.header-nav.dark .menu > li > a,
.header-nav.dark .menu > li > a > i,
.header-nav.dark .top-links li > a,
.header-nav.dark .top-links li > a i,
.header-nav.dark .top-social li > a,
.header-nav.dark .top-social li > a i,
.header-nav.dark .top-links li > a:hover,
.header-nav.dark .top-links li > a:hover i,
.header-nav.dark .top-social li > a:hover,
.header-nav.dark .top-social li > a:hover i,
.header-nav.dark .trigger-widget,
.header-nav.dark .trigger-widget:focus,
.header-nav.dark .trigger-widget:hover,
.header-nav.dark .trigger-widget i {
  color: #333;
}
/* Nav - Color Style - Light-Dark */
.header-nav.light-dark .mega-menu-content {
  background-color: #222;
  border-color: #222;
}
.header-nav.light-dark.nav-narrow.nav-sticky .mega-menu-content {
  border-left-width: 1px;
  border-right-width: 1px;
}
.header-nav.light-dark .bt-dropdown-menu,
.header-nav.light-dark .header-widget .widget-content {
  background-color: #222;
  border-color: #222;
}
.header-nav.light-dark .top-cart-item {
  border-color: #777777;
}
.header-nav.light-dark .menu > li > a,
.header-nav.light-dark .menu > li > a > i,
.header-nav.light-dark .top-links li > a,
.header-nav.light-dark .top-links li > a i,
.header-nav.light-dark .top-social li > a,
.header-nav.light-dark .top-social li > a i,
.header-nav.light-dark .top-links li > a:hover,
.header-nav.light-dark .top-links li > a:hover i,
.header-nav.light-dark .top-social li > a:hover,
.header-nav.light-dark .top-social li > a:hover i,
.header-nav.light-dark .trigger-widget,
.header-nav.light-dark .trigger-widget:focus,
.header-nav.light-dark .trigger-widget:hover,
.header-nav.light-dark .trigger-widget i,
.header-nav.light-dark .nav-toggle {
  color: #fff;
}
.header-nav.light-dark .mega-menu-content .list-header {
  color: #fff;
}
.header-nav.light-dark .bt-dropdown-menu > li > a,
.header-nav.light-dark .header-widget.widget-menu ul li a,
.header-nav.light-dark .mega-menu-content li a,
.header-nav.light-dark .top-cart-item a,
.header-nav.light-dark .top-cart .item-desc span.item-quantity,
.header-nav.light-dark .top-checkout-price {
  color: #b9b8ba;
}
.header-nav.light-dark .bt-dropdown-menu > li > a:focus,
.header-nav.light-dark .bt-dropdown-menu > li > a:hover,
.header-nav.light-dark .dropdown-submenu.open > a,
.header-nav.light-dark .dropdown-submenu.open > a:focus,
.header-nav.light-dark .dropdown-submenu.open > a:hover,
.header-nav.light-dark .header-widget.widget-menu ul li a:focus,
.header-nav.light-dark .header-widget.widget-menu ul li a:hover {
  color: #ef4136;
  background-color: #333;
}
.header-nav.light-dark .mega-menu-content li a:hover {
  color: #ef4136;
}
/* Nav - Color Style - Light-Light */
.main-header.header-alt.header-sticky .header-nav.light-light .mega-menu-content {
  border-left-width: 1px;
  border-right-width: 1px;
}
.header-nav.light-light .logo-light {
  display: block;
  visibility: visible;
}
.header-nav.light-light .logo-dark {
  visibility: hidden;
  display: none;
}
.header-sticky .header-nav.light-light .logo-light {
  visibility: hidden;
  display: none;
}
.header-sticky .header-nav.light-light .logo-dark {
  display: block;
  visibility: visible;
}
.header-nav.light-light .menu > li > a,
.header-nav.light-light .menu > li > a > i,
.header-nav.light-light .top-links li > a,
.header-nav.light-light .top-links li > a i,
.header-nav.light-light .top-social li > a,
.header-nav.light-light .top-social li > a i,
.header-nav.light-light .top-links li > a:hover,
.header-nav.light-light .top-links li > a:hover i,
.header-nav.light-light .top-social li > a:hover,
.header-nav.light-light .top-social li > a:hover i,
.header-nav.light-light .trigger-widget,
.header-nav.light-light .trigger-widget:focus,
.header-nav.light-light .trigger-widget:hover,
.header-nav.light-light .trigger-widget i,
.header-nav.light-light .nav-toggle {
  color: #fff;
}
.header-sticky .header-nav.light-light .menu > li > a,
.header-sticky .header-nav.light-light .menu > li > a > i,
.header-sticky .header-nav.light-light .top-links li > a,
.header-sticky .header-nav.light-light .top-links li > a i,
.header-sticky .header-nav.light-light .top-social li > a,
.header-sticky .header-nav.light-light .top-social li > a i,
.header-sticky .header-nav.light-light .top-links li > a:hover,
.header-sticky .header-nav.light-light .top-links li > a:hover i,
.header-sticky .header-nav.light-light .top-social li > a:hover,
.header-sticky .header-nav.light-light .top-social li > a:hover i,
.header-sticky .header-nav.light-light .trigger-widget,
.header-sticky .header-nav.light-light .trigger-widget:focus,
.header-sticky .header-nav.light-light .trigger-widget:hover,
.header-sticky .header-nav.light-light .trigger-widget i {
  color: #fff;
}
/*------------------------------------------------------------------
[9. Portfolio]
*/
.portfolio .container {
  position: relative;
}
.portfolio-container {
  margin: 0 -15px;
}
/* Portfolio Filter */
.portfolio-filter {
  display: table;
  overflow: hidden;
  margin: 0 auto;
}
.portfolio-filter ul {
  display: block;
  overflow: hidden;
  padding: 0;
  margin-bottom: 0;
  list-style: none;
}
.portfolio-filter li {
  float: left;
  margin-right: 27px;
}
.portfolio-filter li:last-child {
  margin-right: 0;
}
.portfolio-filter li a {
  position: relative;
  font-family: 'Open Sans', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #333;
  cursor: pointer;
  padding: 3px 21px;
  display: block;
  border: 1px solid transparent;
}
.portfolio-filter.text-white li a {
  color: #fff;
}
.portfolio-filter li a::before {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  overflow: hidden;
  width: 0;
  height: 1px;
  background-color: #ef4136;
  -webkit-transition: width 0.5s;
  -moz-transition: width 0.5s;
  transition: width 0.5s;
}
.portfolio-filter li a:hover::before {
  width: 100%;
}
.portfolio-filter .active {
  border-color: #ef4136;
  color: #ef4136;
}
.portfolio-filter.text-white .active {
  border-color: #fff;
  color: #fff;
}
/* Portfolio Item */
.portfolio-item {
  display: block;
  overflow: hidden;
  color: #fff;
  padding-top: 15px;
  padding-bottom: 15px;
}
.item-preview.portfolio-item .bg-img {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-color: rgba(200, 200, 200, 0.7);
}
.portfolio-item a {
  display: block;
}
.portfolio-item img {
  display: block;
  width: 100%;
  height: auto;
}
.project-container {
  position: relative;
  overflow: hidden;
}
.portfolio-item .overlay {
  z-index: 0;
}
.project-details {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  opacity: 0;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  transition: all .5s ease;
}
.portfolio-item a:hover .project-details {
  opacity: 1;
}
.project-details::before,
.project-details::after {
  content: '';
  position: absolute;
  top: 13px;
  right: 13px;
  background: #fff;
  z-index: 1;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.project-details::before {
  width: 57px;
  height: 1px;
}
.portfolio-item a:hover .project-details::before {
  width: 50%;
}
.project-details::after {
  width: 1px;
  height: 57px;
}
.portfolio-item a:hover .project-details::after {
  height: 50%;
}
.details-container {
  width: 100%;
  height: 100%;
  position: relative;
  display: table;
  padding: 15px 20px;
  z-index: 10;
}
.details-container .details-text {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}
.details-container::before,
.details-container::after {
  content: '';
  position: absolute;
  bottom: 13px;
  left: 13px;
  background: #fff;
  z-index: 1;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.details-container::before {
  width: 57px;
  height: 1px;
}
.portfolio-item a:hover .details-container::before {
  width: 50%;
}
.details-container::after {
  width: 1px;
  height: 57px;
}
.portfolio-item a:hover .details-container::after {
  height: 50%;
}
.portfolio-item .details-title {
  color: #fff;
  font-size: 17px;
  font-weight: 500;
  line-height: 28px;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin: 0;
  margin-right: -2px;
}
.portfolio-item .details-category {
  margin: 0;
  color: #fff;
}
/* Single Project */
.project-screen {
  padding-top: 15px;
  padding-bottom: 15px;
}
.project-screen img {
  display: block;
}
/*------------------------------------------------------------------
[10. Blog]
*/
article {
  overflow: hidden;
  position: relative;
  text-align: left;
}
.article-container {
  position: relative;
  overflow: hidden;
}
/* Blog Post Style */
.entry-title {
  margin-bottom: 10px;
}
h1.entry-title {
  font-size: 38px;
  line-height: 46px;
}
h2.entry-title {
  font-size: 26px;
  line-height: 34px;
}
h3.entry-title {
  font-size: 21px;
  line-height: 30px;
}
.entry-title a {
  color: #333;
}
/* Entry Content */
.entry-content h2 {
  font-size: 24px;
  font-weight: 400;
  margin-bottom: 24px;
}
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
  font-weight: 400;
  margin-bottom: 20px;
}
.entry-header {
  overflow: hidden;
}
.blog-container header.entry-header {
  border: 1px solid #b5b7b9;
  border-top: 0 none;
  height: 46px;
  overflow: visible;
}
/* Entry Meta & Footer */
.entry-meta {
  position: relative;
  margin-bottom: 5px;
}
.entry-meta .entry-container,
.entry-footer .entry-container {
  overflow: hidden;
}
.entry-meta span,
.entry-footer span {
  margin-right: 21px;
  padding-left: 1px;
}
.entry-meta,
.entry-meta a,
.entry-meta a > * {
  color: #a5a7a9;
}
.entry-footer {
  margin-top: 15px;
  position: relative;
}
.entry-footer,
.entry-footer a,
.entry-footer a > * {
  color: #a5a7a9;
}
.post figure {
  margin: 13px 0px;
}
.post figcaption {
  font-style: italic;
  font-size: 14px;
  color: #8a8a8a;
  margin-top: 13px;
}
.entry-media {
  margin-bottom: 10px;
  position: relative;
  overflow: hidden;
}
.entry-media iframe {
  display: block;
  width: 100%;
  border: 0;
  overflow: hidden;
}
.post-thumbnail {
  width: 100%;
  height: auto;
  display: block;
}
/* Read More Button */
.post .read-more {
  float: right;
  margin-top: 21px;
  color: #ef4136;
  outline: none;
  outline-offset: 0px;
  line-height: 24px;
  font-size: 14px;
  font-weight: 400;
}
.post .read-more:hover {
  opacity: 0.8;
}
/* Blog Post */
.blog-container article {
  background-color: #fff;
}
.blog-container .post {
  padding: 0;
  margin-bottom: 50px;
}
.blog-container .post:last-child {
  margin-bottom: 0;
}
.blog-container .post.isotope-item {
  padding: 15px;
  margin: 0 !important;
}
.blog-container .post .article-container {
  border-top: 1px solid #b5b7b9;
}
.blog-container .post .entry-media {
  margin-bottom: 0;
  border-left: 1px solid #e5e7e9;
  border-right: 1px solid #e5e7e9;
  padding: 3px;
}
.blog-container .post .article-content {
  position: relative;
  overflow: hidden;
  padding: 12px 12px;
  padding-bottom: 3px;
  box-shadow: inset 1px 0 0 0 #b5b7b9, inset 0 -1px 0 0 #b5b7b9;
  line-height: 18px;
}
.blog-container .post .article-content .entry-meta {
  margin-bottom: 0px;
}
.article-content h3 {
  line-height: 20px;
  margin-bottom: 5px;
}
.blog-container .post .entry-footer {
  padding: 8px 8px;
  margin-top: 0;
  box-shadow: inset 0 -1px 0 0 #b5b7b9, inset -1px 0 0 0 #b5b7b9;
}
.blog-container .post .article-content::before,
.blog-container .post .article-content::after {
  content: '';
  position: absolute;
  z-index: 1;
  background: #ef4136;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.blog-container .post .article-content::before {
  bottom: 0;
  left: 0;
  width: 1px;
  height: 0;
}
.blog-container .post .article-content::after {
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
}
.blog-container .post .article-container:hover .article-content::before {
  height: 37px;
}
.blog-container .post .article-container:hover .article-content::after {
  width: 37px;
}
/* Blog Single */
.article-single {
  padding-top: 80px;
  padding-bottom: 80px;
}
/* Comments */
.comments-area {
  margin: 0;
  padding: 0;
  text-align: left;
}
.comment-reply-title,
.comments-title {
  margin: 0;
  font-size: 21px;
  font-weight: 400;
}
.comment-list {
  list-style: none;
  margin: 30px 0 30px 0;
}
.comment-meta a,
.comment-meta a > * {
  color: #777;
}
.comment-author {
  font-size: 14px;
  line-height: 1.7142857142;
}
.comment-meta .reply,
.comment-metadata {
  font-size: 12px;
  line-height: 2;
  text-transform: uppercase;
  float: left;
}
.comment-meta .reply {
  padding-left: 20px;
}
.comment-list .reply a {
  color: #ef4136;
  letter-spacing: 1px;
}
.comment-list .reply a:hover {
  color: #ef4136;
}
.comment-meta .fn {
  font-weight: 600;
  width: 100%;
  display: block;
  overflow: hidden;
}
.comment-author a {
  color: #333;
}
.comment-list .trackback a,
.comment-list .pingback a,
.comment-metadata a {
  color: #777777;
}
.comment-author a:hover,
.comment-list .pingback a:hover,
.comment-list .trackback a:hover,
.comment-metadata a:hover {
  color: #ef4136;
}
.comment-list article,
.comment-list .pingback,
.comment-list .trackback {
  margin-bottom: 24px;
  padding-bottom: 24px;
}
.comment-list > li:first-child > article,
.comment-list > .pingback:first-child,
.comment-list > .trackback:first-child {
  border-top: 0;
}
.comment-author {
  position: relative;
}
.comment-author .avatar {
  width: 70px;
  height: 70px;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 50%;
}
.says {
  display: none;
}
.comment-meta {
  margin-left: 90px;
  background: #f5f7f9;
  padding: 20px;
  padding-bottom: 10px;
  overflow: hidden;
}
.comment-edit-link {
  margin-left: 10px;
}
.comment-content {
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  word-wrap: break-word;
  margin-left: 90px;
  background: #f5f7f9;
  padding: 20px;
  padding-top: 0;
}
.comment-content ul,
.comment-content ol {
  margin: 0 0 24px 22px;
}
.comment-content li > ul,
.comment-content li > ol {
  margin-bottom: 0;
}
.comment-content > :last-child {
  margin-bottom: 0;
}
.comment-list .children {
  list-style: none;
  padding-left: 20px;
}
.comment-list .children article footer,
.comment-list .children article .comment-content {
  padding-left: 20px;
}
.comment-respond {
  margin-bottom: 24px;
  padding: 0;
}
.comment .comment-respond {
  margin-top: 24px;
}
.comment-respond h3 {
  margin-top: 0;
  margin-bottom: 24px;
}
.comment-notes,
.comment-awaiting-moderation,
.logged-in-as,
.no-comments,
.form-allowed-tags,
.form-allowed-tags code {
  color: #767676;
}
.comment-notes,
.comment-awaiting-moderation,
.logged-in-as {
  font-size: 14px;
  line-height: 1.7142857142;
}
.no-comments {
  font-size: 16px;
  font-weight: 900;
  line-height: 1.5;
  margin-top: 24px;
  text-transform: uppercase;
}
.comment-form label {
  display: block;
}
.comment-form textarea,
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"] {
  width: 100%;
  border: 1px solid #efefef;
}
.form-allowed-tags,
.form-allowed-tags code {
  font-size: 12px;
  line-height: 1.5;
}
.required {
  color: #c0392b;
}
.comment-reply-title small a {
  color: #2b2b2b;
  float: right;
  height: 24px;
  overflow: hidden;
  width: 24px;
}
.comment-reply-title small a:hover {
  color: #41a62a;
}
.comment-reply-title small a::before {
  content: "\f405";
  font-size: 32px;
}
.comment-navigation {
  font-size: 12px;
  line-height: 2;
  margin-bottom: 48px;
  text-transform: uppercase;
}
.comment-navigation .nav-next,
.comment-navigation .nav-previous {
  display: inline-block;
}
.comment-navigation .nav-previous a {
  margin-right: 10px;
}
#comment-nav-above {
  margin-top: 36px;
  margin-bottom: 0;
}
/*------------------------------------------------------------------
[11. Shop]
*/
.hero-shop {
  height: 770px;
}
/* Shop Item */
.shop-item {
  position: relative;
  overflow: hidden;
  margin-bottom: 30px;
}
.product-image {
  width: 100%;
  height: auto;
  position: relative;
  overflow: hidden;
}
.product-slider {
  width: 100%;
  height: 100%;
  display: block;
  overflow: hidden;
  position: relative;
  -webkit-backface-visibility: hidden;
}
.product-image .slide a,
.product-image img,
.product-image > a {
  display: block;
  width: 100%;
  height: auto;
}
.product-image > a:nth-of-type(2) {
  opacity: 0;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
}
.product-image:hover > a:nth-of-type(2) {
  opacity: 1;
  z-index: 2;
}
.product-image > a {
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
}
.product-overlay {
  position: absolute;
  overflow: hidden;
  bottom: 3px;
  left: 3px;
  right: 3px;
  z-index: 200;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-in-out;
  -moz-transition: opacity 0.3s ease-in-out;
  -ms-transition: opacity 0.3s ease-in-out;
  -o-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
.shop-item:hover .product-overlay {
  opacity: 1;
}
.shop-item .product-overlay .add-to-cart,
.shop-item .product-overlay .quick-view {
  display: block;
  float: left;
  margin: 0;
  padding: 10px;
  padding-bottom: 5px;
  text-align: center;
  color: #333;
  background: #fff;
  background: #ffffff;
  width: 50%;
}
.shop-item .product-overlay .add-to-cart {
  margin-left: -1.5px;
}
.shop-item .product-overlay .quick-view {
  margin-right: -1.5px;
}
.shop-item .product-overlay .quick-view.full {
  width: 100%;
  float: none;
}
.shop-item .product-overlay .add-to-cart:hover,
.shop-item .product-overlay .quick-view:hover {
  background: #fff;
  background: rgba(255, 255, 255, 0.93);
}
.shop-item .product-overlay .add-to-cart span,
.shop-item .product-overlay .quick-view span {
  display: block;
}
.shop-item .product-overlay .add-to-cart i,
.shop-item .product-overlay .quick-view i {
  display: block;
  width: 100%;
}
.shop-item .product-overlay .separate {
  display: block;
  float: left;
  width: 3px;
  height: 57px;
}
.shop-item .product-desc {
  position: relative;
  overflow: hidden;
  padding: 10px 15px;
  padding-bottom: 0;
}
.shop-item .product-desc .product-title {
  margin-top: 0;
}
.products-list .product-image {
  float: left;
  width: 300px;
  height: auto;
  margin-right: 30px;
}
.products-list .product-desc {
  padding: 0;
}
.products-list .product-title,
.products-list .product-price {
  text-align: left;
  margin: 0;
}
.products-list .product-title h3 {
  font-size: 22px;
}
.products-list .product-desc .product-rating {
  margin-bottom: 15px;
}
.product-details {
  padding: 15px 0;
  font-size: 14px;
}
.product-title {
  text-align: center;
  margin-top: 10px;
}
.product-title h3 {
  margin: 0;
  font-size: 18px;
  line-height: 30px;
}
.product-price {
  font-weight: 400;
  color: #444;
  text-align: center;
  line-height: 24px;
}
.product-price del {
  font-size: 16px;
  color: #707070;
}
.product-price ins {
  font-size: 18px;
  text-decoration: none;
  color: #dd0027;
}
.product-rating {
  display: block;
  color: #fbc02d;
}
.product-rating.center {
  display: block;
  text-align: center;
}
/* Product - Flag */
.product-flag {
  display: block;
  position: absolute;
  left: 10px;
  top: 10px;
  padding: 5px 10px;
  font-size: 13px;
  line-height: 20px;
  text-transform: uppercase;
  color: #fff;
  background-color: #333;
  z-index: 100;
}
.product-flag.top-right {
  left: auto;
  right: 10px;
}
.product-flag.bottom-left {
  top: auto;
  bottom: 10px;
}
.product-flag.bottom-right {
  top: auto;
  left: auto;
  bottom: 10px;
  right: 10px;
}
.product-flag.flag-border {
  background-color: transparent !important;
  border: 1px solid #333;
  color: #333;
}
.product-flag.red {
  background-color: #dd4b39;
}
.product-flag.flag-border.red {
  border-color: #dd4b39;
  color: #dd4b39;
}
.product-flag.pink {
  background-color: #e91e63;
}
.product-flag.flag-border.pink {
  border-color: #e91e63;
  color: #e91e63;
}
.product-flag.purple {
  background-color: #9c27b0;
}
.product-flag.flag-border.purple {
  border-color: #9c27b0;
  color: #9c27b0;
}
.product-flag.indigo {
  background-color: #2951d5;
}
.product-flag.flag-border.indigo {
  border-color: #2951d5;
  color: #2951d5;
}
.product-flag.blue {
  background-color: #ef4136;
}
.product-flag.flag-border.blue {
  border-color: #ef4136;
  color: #ef4136;
}
.product-flag.cyan {
  background-color: #00bcd4;
}
.product-flag.flag-border.cyan {
  border-color: #00bcd4;
  color: #00bcd4;
}
.product-flag.teal {
  background-color: #80CBC4;
}
.product-flag.flag-border.teal {
  border-color: #80CBC4;
  color: #80CBC4;
}
.product-flag.green {
  background-color: #8bc34a;
}
.product-flag.flag-border.green {
  border-color: #8bc34a;
  color: #8bc34a;
}
.product-flag.lime {
  background-color: #cddc39;
}
.product-flag.flag-border.lime {
  border-color: #cddc39;
  color: #cddc39;
}
.product-flag.yellow {
  background-color: #ffeb3b;
}
.product-flag.flag-border.yellow {
  border-color: #ffeb3b;
  color: #ffeb3b;
}
.product-flag.amber {
  background-color: #ffc107;
}
.product-flag.flag-border.amber {
  border-color: #ffc107;
  color: #ffc107;
}
.product-flag.orange {
  background-color: #ff9800;
}
.product-flag.flag-border.orange {
  border-color: #ff9800;
  color: #ff9800;
}
.product-flag.brown {
  background-color: #795548;
}
.product-flag.flag-border.brown {
  border-color: #795548;
  color: #795548;
}
.product-flag.grey {
  background-color: #ededed;
  color: #333;
}
.product-flag.flag-border.grey {
  border-color: #ededed;
  color: #ededed;
}
.product-flag.black {
  background-color: #333;
}
.product-flag.flag-border.black {
  border-color: #333;
  color: #333;
}
.product-flag.white {
  background-color: #fff;
  color: #333;
}
.product-flag.flag-border.white {
  border-color: #fff;
  color: #fff;
}
/* Shop - Single */
.single-product .product-image {
  height: auto;
  margin-bottom: 50px;
  border: 0;
}
.single-product .product-price {
  margin-bottom: 0;
  text-align: left;
}
.single-product .product-price del {
  font-size: 21px;
}
.single-product .product-price ins {
  font-size: 24px;
}
.single-product .product-price,
.single-product .product-rating {
  line-height: 32px;
}
.quantity {
  float: left;
  margin-right: 30px;
}
.quantity input {
  outline: none;
}
.quantity.fullwidth {
  float: none;
  width: 100%;
  margin-right: 0;
  overflow: hidden;
}
.quantity.fullwidth input {
  width: 25%;
}
.quantity.fullwidth .qty {
  width: 100%;
  padding: 0 15px;
}
/* Product - Reviews */
.reviews > li {
  margin-bottom: 20px;
  background: #f5f7f9;
  padding: 20px;
}
.review-content {
  position: relative;
}
.review-content .review-author {
  font-size: 14px;
  line-height: 24px;
  font-weight: 700;
  color: #555;
}
.review-content .review-author span {
  display: block;
}
.review-content .review-author span,
.review-content .review-author span a {
  font-size: 12px;
  font-weight: 400;
  font-style: italic;
  color: #aaa;
}
.review-ratings {
  display: block;
  position: absolute;
  top: 24px;
  left: auto;
  text-align: center;
  right: 20px;
  height: 14px;
  font-size: 14px;
  line-height: 1;
}
/* Shop - Cart */
.table-bordered,
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > td {
  border-color: #e5e7e9;
}
.table thead > tr,
.table tbody > tr {
  border-top: 1px solid #e5e7e9;
  border-bottom: 1px solid #e5e7e9;
}
.table.table-colored > thead > tr,
.table.table-colored > tbody > tr,
.table.table-colored > thead > tr > th,
.table.table-colored > tbody > tr > td {
  border: none !important;
}
.table thead > tr > th,
.table thead > tr > th,
.table .table-title {
  border-bottom: none;
  color: #3a3a3a;
  padding: 25px 20px;
  text-transform: uppercase;
  font: 700 16px/1.6 'Raleway', Verdana;
  letter-spacing: -0.3px;
}
.cart.table thead > tr > th,
.cart.table tbody > tr > td.cart-product-price,
.cart.table tbody > tr > td.cart-product-subtotal {
  text-align: center;
}
.cart.table thead > tr > th.cart-product-meta {
  text-align: left;
}
.cart.table tbody > tr > td:last-child {
  width: 35px;
  text-align: center !important;
}
.table tbody > tr > td {
  padding: 30px 20px;
  vertical-align: middle;
}
.cart-product-remove .remove,
.compare-table .remove {
  font-size: 13px;
  min-width: 30px;
  min-height: 30px;
  line-height: 30px;
  color: #333;
  display: block;
}
.table .product {
  text-align: left;
  border: none;
  margin-bottom: 0;
}
.table .product-top {
  float: left;
  max-width: 100px;
  margin-bottom: 0;
}
.table .product-meta {
  margin-left: 120px;
}
.table .product-title {
  font-size: 17px;
  font-weight: 400;
  line-height: 23px;
  margin-top: 5px;
  margin-bottom: 7px;
}
.table .product-desc-list li {
  font-size: 13px;
  line-height: 24px;
}
.cart.table tbody > tr > td:last-child,
.wishlist-table tbody > tr > td:last-child {
  padding-right: 20px;
  padding-left: 20px;
  text-align: center;
}
.cart.table .price-col,
.cart.table .price-total-col {
  font-weight: 600;
  color: #505050;
  text-align: center;
}
.cart.table .price-col {
  width: 150px;
  font-size: 15px;
}
.table .quantity-col {
  width: 200px;
}
.table .price-total-col {
  font-size: 18px;
  width: 180px;
}
.table .product-quantity {
  margin-right: auto;
  margin-left: auto;
}
.table .product-quantity .input-group {
  margin-bottom: 0;
}
.cart-action-container {
  font-size: 0;
  text-align: right;
  margin-bottom: 60px;
}
.cart-action-container .btn + .btn {
  margin-left: 11px;
}
.cart_item .product-title {
  text-align: left;
}
.cart_item .product-rating {
  margin-bottom: 10px;
}
.cart-product-thumbnail {
  width: 140px;
}
.cart-product-thumbnail > a {
  display: block;
}
.cart-product-thumbnail img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid #e5e7e9;
}
.cart-product-quantity {
  text-align: center !important;
}
.cart-product-quantity .quantity {
  display: inline-block;
  margin: 0;
  float: none;
}
.quantity .qty {
  float: left;
  width: 50px;
  height: 40px;
  line-height: 38px;
  border: 0;
  border: 1px solid #e5e7e9;
  background-color: #f5f7f9;
  text-align: center;
  margin-bottom: 0;
}
.table.order .cart-product-thumbnail {
  width: 80px;
}
/*------------------------------------------------------------------
[12. Shortcodes]
*/
/*------------------------------------------------------------------
[12.1 Buttons]
*/
.btn:focus,
.btn:active:focus,
.btn.active:focus,
.button:focus {
  outline: none;
  outline-offset: 0px;
  text-decoration: none;
}
.buttons-group {
  margin: 0px -10px;
}
.buttons-group a,
.buttons-group button {
  margin: 0 10px;
}
.button-fullwidth {
  width: 100%;
}
.button.fullwidth {
  width: 100%;
}
a.button-image:hover {
  opacity: 0.87;
}
/* Default Button */
.button {
  display: inline-block;
  position: relative;
  cursor: pointer;
  outline: 0;
  outline-offset: 0;
  white-space: nowrap;
  margin: 5px;
  padding: 0 27px;
  font-size: 14px;
  height: 40px;
  line-height: 40px;
  background-color: #ef4136;
  color: #fff;
  font-weight: 400;
  letter-spacing: 1px;
  border: none;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.button i {
  color: #fff;
  position: relative;
  line-height: 1;
  margin-right: 5px;
}
.button:hover,
.button:focus {
  color: #fff;
  opacity: .87;
}
.button:hover i,
.button:focus i {
  color: #fff;
}
.button.icon-right i {
  margin: 0 0 0 5px;
}
.button.icon-2x-left {
  padding-left: 55px;
}
.button.icon-2x-left i {
  position: absolute;
  left: 20px;
  top: 4px;
}
/* Button Styles */
.button.button-noradius {
  border-radius: 0;
}
.button.button-rounded {
  border-radius: 26px;
}
.button.button-border {
  border: 2px solid #666666;
  background-color: transparent !important;
  color: #666666;
  line-height: 36px;
}
.button.button-border.border-thin {
  border-width: 1px;
  line-height: 38px;
}
.button.button-border i {
  color: #666666;
}
.button.button-link,
.button.button-link-uppercase {
  background-color: transparent !important;
  border-color: transparent !important;
}
.button.button-link-uppercase {
  font-family: 'Open Sans', 'Helvetica Neue', Helvetica, sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 7px;
}
.button.button-link,
.button.button-link-uppercase,
.button.button-link i,
.button.button-link-uppercase i {
  color: #ef4136;
}
.button.button-shadow {
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.09);
}
/* Button Sizes */
.button.button-mini {
  padding: 0 19px;
  font-size: 11px;
  height: 28px;
  line-height: 28px;
}
.button.button-border.button-mini {
  line-height: 24px;
}
.button.button-border.border-thin.button-mini {
  line-height: 26px;
}
.button.button-small {
  padding: 0 22px;
  font-size: 12px;
  height: 34px;
  line-height: 34px;
}
.button.button-border.button-small {
  line-height: 30px;
}
.button.button-border.border-thin.button-small {
  line-height: 32px;
}
.button.button-large {
  padding: 0 31px;
  font-size: 16px;
  height: 46px;
  line-height: 46px;
}
.button.button-border.button-large {
  line-height: 42px;
}
.button.button-border.border-thin.button-large {
  line-height: 44px;
}
.button.button-xlarge {
  padding: 0 37px;
  font-size: 18px;
  letter-spacing: 2px;
  height: 52px;
  line-height: 52px;
}
.button.button-border.button-xlarge {
  line-height: 48px;
}
.button.button-border.border-thin.button-xlarge {
  line-height: 50px;
}
/* Button Colours */
/* Red */
.button.button-red {
  background-color: #dd4b39;
}
.button.button-red.button-border {
  border-color: #dd4b39;
}
.button.button-red.button-shadow {
  box-shadow: 0 10px 20px rgba(221, 75, 57, 0.21);
}
.button.button-red.button-border,
.button.button-red.button-link,
.button.button-red.button-link-uppercase,
.button.button-red.button-border i,
.button.button-red.button-link i,
.button.button-red.button-link-uppercase i {
  color: #dd4b39;
}
/* Facebook */
.button.button-facebook {
  background-color: #fff;
}
.button.button-facebook.button-border {
  border-color: #3b5998;
}
.button.button-facebook.button-shadow {
  box-shadow: 0 10px 20px rgba(54, 88, 153, 0.21);
}
.button.button-facebook.button-border,
.button.button-facebook.button-link,
.button.button-facebook.button-link-uppercase,
.button.button-facebook.button-border i,
.button.button-facebook.button-link i,
.button.button-facebook.button-link-uppercase i {
  color: #3b5998;
}
/* Pink */
.button.button-pink {
  background-color: #e91e63;
}
.button.button-pink.button-border {
  border-color: #e91e63;
}
.button.button-pink.button-shadow {
  box-shadow: 0 10px 20px rgba(233, 30, 99, 0.21);
}
.button.button-pink.button-border,
.button.button-pink.button-link,
.button.button-pink.button-link-uppercase,
.button.button-pink.button-border i,
.button.button-pink.button-link i,
.button.button-pink.button-link-uppercase i {
  color: #e91e63;
}
/* Purple */
.button.button-purple {
  background-color: #9c27b0;
}
.button.button-purple.button-border {
  border-color: #9c27b0;
}
.button.button-purple.button-shadow {
  box-shadow: 0 10px 20px rgba(156, 39, 176, 0.21);
}
.button.button-purple.button-border,
.button.button-purple.button-link,
.button.button-purple.button-link-uppercase,
.button.button-purple.button-border i,
.button.button-purple.button-link i,
.button.button-purple.button-link-uppercase i {
  color: #9c27b0;
}
/* Indigo */
.button.button-indigo {
  background-color: #2951d5;
}
.button.button-indigo.button-border {
  border-color: #2951d5;
}
.button.button-indigo.button-shadow {
  box-shadow: 0 10px 20px rgba(63, 81, 181, 0.21);
}
.button.button-indigo.button-border,
.button.button-indigo.button-link,
.button.button-indigo.button-link-uppercase,
.button.button-indigo.button-border i,
.button.button-indigo.button-link i,
.button.button-indigo.button-link-uppercase i {
  color: #2951d5;
}
/* Blue */
.button.button-blue {
  background-color: #ef4136;
}
.button.button-blue.button-border {
  border-color: #ef4136;
}
.button.button-blue.button-shadow {
  box-shadow: 0 10px 20px rgba(33, 150, 243, 0.21);
}
.button.button-blue.button-border,
.button.button-blue.button-link,
.button.button-blue.button-link-uppercase,
.button.button-blue.button-border i,
.button.button-blue.button-link i,
.button.button-blue.button-link-uppercase i {
  color: #ef4136;
}
/* Cyan */
.button.button-cyan {
  background-color: #00bcd4;
}
.button.button-cyan.button-border {
  border-color: #00bcd4;
}
.button.button-cyan.button-shadow {
  box-shadow: 0 10px 20px rgba(0, 188, 212, 0.21);
}
.button.button-cyan.button-border,
.button.button-cyan.button-link,
.button.button-cyan.button-link-uppercase,
.button.button-cyan.button-border i,
.button.button-cyan.button-link i,
.button.button-cyan.button-link-uppercase i {
  color: #00bcd4;
}
/* Teal */
.button.button-teal {
  background-color: #80CBC4;
}
.button.button-teal.button-border {
  border-color: #80CBC4;
}
.button.button-teal.button-shadow {
  box-shadow: 0 10px 20px rgba(128, 203, 196, 0.21);
}
.button.button-teal.button-border,
.button.button-teal.button-link,
.button.button-teal.button-link-uppercase,
.button.button-teal.button-border i,
.button.button-teal.button-link i,
.button.button-teal.button-link-uppercase i {
  color: #80CBC4;
}
/* Green */
.button.button-green {
  background-color: #8bc34a;
}
.button.button-green.button-border {
  border-color: #8bc34a;
}
.button.button-green.button-shadow {
  box-shadow: 0 10px 20px rgba(139, 195, 74, 0.21);
}
.button.button-green.button-border,
.button.button-green.button-link,
.button.button-green.button-link-uppercase,
.button.button-green.button-border i,
.button.button-green.button-link i,
.button.button-green.button-link-uppercase i {
  color: #8bc34a;
}
/* Lime */
.button.button-lime {
  background-color: #cddc39;
}
.button.button-lime.button-border {
  border-color: #cddc39;
}
.button.button-lime.button-shadow {
  box-shadow: 0 10px 20px rgba(205, 220, 57, 0.21);
}
.button.button-lime.button-border,
.button.button-lime.button-link,
.button.button-lime.button-link-uppercase,
.button.button-lime.button-border i,
.button.button-lime.button-link i,
.button.button-lime.button-link-uppercase i {
  color: #cddc39;
}
/* Yellow */
.button.button-yellow {
  background-color: #ffeb3b;
}
.button.button-yellow.button-border {
  border-color: #ffeb3b;
}
.button.button-yellow.button-shadow {
  box-shadow: 0 10px 20px rgba(255, 235, 59, 0.21);
}
.button.button-yellow.button-border,
.button.button-yellow.button-link,
.button.button-yellow.button-link-uppercase,
.button.button-yellow.button-border i,
.button.button-yellow.button-link i,
.button.button-yellow.button-link-uppercase i {
  color: #ffeb3b;
}
/* Amber */
.button.button-amber {
  background-color: #ffc107;
}
.button.button-amber.button-border {
  border-color: #ffc107;
}
.button.button-amber.button-shadow {
  box-shadow: 0 10px 20px rgba(255, 193, 7, 0.21);
}
.button.button-amber.button-border,
.button.button-amber.button-link,
.button.button-amber.button-link-uppercase,
.button.button-amber.button-border i,
.button.button-amber.button-link i,
.button.button-amber.button-link-uppercase i {
  color: #ffc107;
}
/* Orange */
.button.button-orange {
  background-color: #ff9800;
}
.button.button-orange.button-border {
  border-color: #ff9800;
}
.button.button-orange.button-shadow {
  box-shadow: 0 10px 20px rgba(255, 152, 0, 0.21);
}
.button.button-orange.button-border,
.button.button-orange.button-link,
.button.button-orange.button-link-uppercase,
.button.button-orange.button-border i,
.button.button-orange.button-link i,
.button.button-orange.button-link-uppercase i {
  color: #ff9800;
}
/* Brown */
.button.button-brown {
  background-color: #795548;
}
.button.button-brown.button-border {
  border-color: #795548;
}
.button.button-brown.button-shadow {
  box-shadow: 0 10px 20px rgba(121, 85, 72, 0.21);
}
.button.button-brown.button-border,
.button.button-brown.button-link,
.button.button-brown.button-link-uppercase,
.button.button-brown.button-border i,
.button.button-brown.button-link i,
.button.button-brown.button-link-uppercase i {
  color: #795548;
}
/* Grey */
.button.button-grey {
  background-color: #f5f7f9;
}
.button.button-grey,
.button.button-grey i,
.button.button-grey:hover,
.button.button-grey:hover i,
.button.button-grey.button-border,
.button.button-grey.button-border i {
  color: #333;
}
.button.button-grey.button-border {
  border-color: #e5e7e9;
}
.button.button-grey.button-shadow {
  box-shadow: 0 10px 20px rgba(237, 237, 237, 0.21);
}
.button.button-grey.button-link,
.button.button-grey.button-link-uppercase,
.button.button-grey.button-link i,
.button.button-grey.button-link-uppercase i {
  color: #777;
}
/* Black */
.button.button-black {
  background-color: #333;
}
.button.button-black.button-border {
  border-color: #333;
}
.button.button-black.button-shadow {
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.09);
}
.button.button-black.button-border,
.button.button-black.button-link,
.button.button-black.button-link-uppercase,
.button.button-black.button-border i,
.button.button-black.button-link i,
.button.button-black.button-link-uppercase i {
  color: #333;
}
/* White */
.button.button-white {
  background-color: #fff;
}
.button.button-white,
.button.button-white i,
.button.button-white:hover,
.button.button-white:hover i {
  color: #333;
}
.button.button-white.button-border {
  border-color: #fff;
}
.button.button-white.button-border,
.button.button-white.button-link,
.button.button-white.button-link-uppercase,
.button.button-white.button-border i,
.button.button-white.button-link i,
.button.button-white.button-link-uppercase i,
.button.button-white.button-border:hover,
.button.button-white.button-border:hover i,
.button.button-white.button-link:hover,
.button.button-white.button-link-uppercase:hover,
.button.button-white.button-link:hover i,
.button.button-white.button-link-uppercase:hover i {
  color: #fff;
}
/*------------------------------------------------------------------
[12.2 Tooltips]
*/
.tooltip {
  font-size: 14px;
}
.tooltip-inner {
  padding: 12px 20px;
  border-radius: 0;
  background-color: #000;
}
/* Popover */
.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: none;
  max-width: 500px;
  padding: 1px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px;
  color: #fff;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  white-space: normal;
  background-color: #000;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  border: 0;
  border-radius: 0;
  -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 0 rgba(0, 0, 0, 0.2);
  line-break: auto;
}
.popover h3.popover-title {
  color: #fff;
  padding: 7px 14px;
  margin: 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 24px;
  background-color: #333;
  border-bottom: 0;
  border-radius: 0;
}
.popover.top > .arrow {
  border-top-color: transparent;
}
.popover.top > .arrow::after {
  border-top-color: #000;
  border-top-color: #000000;
}
.popover.bottom > .arrow {
  border-bottom-color: transparent;
}
.popover.bottom > .arrow::after {
  border-bottom-color: #000;
  border-bottom-color: #000000;
}
.popover.left > .arrow {
  border-left-color: transparent;
}
.popover.left > .arrow::after {
  border-left-color: #000;
  border-left-color: #000000;
}
.popover.right > .arrow {
  border-right-color: transparent;
}
.popover.right > .arrow::after {
  border-right-color: #000;
  border-right-color: #000000;
}
/*------------------------------------------------------------------
[12.3 Alerts]
*/
.alert {
  color: #333;
  border-radius: 0;
  border-width: 1px;
  border-left-width: 5px;
  border-color: #e5e7e9;
  background-color: #fff;
}
.alert-success {
  border-left-color: #81C784;
}
.alert-info {
  border-left-color: #4FC3F7;
}
.alert-warning {
  border-left-color: #FFF176;
}
.alert-danger {
  border-left-color: #E57373;
}
.alert button.close {
  line-height: 28px;
}
.well {
  background-color: #F5F5F5;
  border-color: #E0E0E0;
  border-radius: 0;
  -webkit-box-shadow: inset 0 0 0 rgba(0, 0, 0, 0);
  box-shadow: inset 0 0 0 rgba(0, 0, 0, 0);
}
/*------------------------------------------------------------------
[12.4 Accordions]
*/
/*
.panel {
  margin-bottom: 20px;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 0;
  -webkit-box-shadow: 0 0 0 rgba(0,0,0,0);
  box-shadow: 0 0 0 rgba(0,0,0,0);
}

.panel-group {
  text-align: left;
}

.panel-group .panel {
  border-radius: 0;
}

.panel-default>.panel-heading {
  color: #333;
  background-color: #f5f7f9;
  border-color: #e5e7e9;
}

.panel-default>.panel-heading a {
  display: block;
  position: relative;
  color: @primary-color;
}

.panel-default>.panel-heading a::before {
  content: '\f106';
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  top: 0;
  right: 0;
  line-height: 28px;
}

.panel-default>.panel-heading a.collapsed {
  color: #333;
}

.panel-default>.panel-heading a.collapsed::before {
  content: '\f107';
}

.panel-group .panel-heading+.panel-collapse>.list-group,
.panel-group .panel-heading+.panel-collapse>.panel-body {
  border: 1px solid #f5f7f9;
}

.panel-default>.panel-heading+.panel-collapse>.panel-body {
  border-color: #f5f7f9;
}

/* Alternative */
.panel-group.alt .panel > .panel-heading {
  padding: 10px 0;
  background: transparent;
  border-bottom: 1px solid #e5e7e9;
}
.panel-group.alt .panel-default > .panel-heading + .panel-collapse > .panel-body {
  padding: 15px 0;
  border-color: transparent;
}
/*------------------------------------------------------------------
[12.5 Tabs]
*/
.nav-tabs > li {
  text-align: center;
}
.nav-tabs > li.active a {
  -webkit-box-shadow: inset 0 2px 0 0 #ef4136;
  -moz-box-shadow: inset 0 2px 0 0 #ef4136;
  box-shadow: inset 0 2px 0 0 #ef4136;
}
.nav-tabs > li > a {
  font-size: 14px;
  text-transform: none;
  color: #333;
  margin-right: 0px;
  background-color: #fff;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  padding: 20px 60px;
  border: 1px solid transparent;
  border-bottom: 1px solid #e5e7e9;
  -webkit-box-shadow: inset 0 2px 0 0 rgba(255, 255, 255, 0);
  -moz-box-shadow: inset 0 2px 0 0 rgba(255, 255, 255, 0);
  box-shadow: inset 0 2px 0 0 rgba(255, 255, 255, 0);
}
.nav-tabs > li > a:hover {
  border: 1px solid transparent;
  border-bottom: 1px solid #e5e7e9;
  background: #fff;
  color: #ef4136;
}
.tab-content .tab-pane {
  padding: 16px 30px;
  border: 1px solid #e5e7e9;
  border-top: 0;
  text-align: left;
  background: transparent;
}
/* Alternative Tabs */
.alt.nav-tabs {
  margin: 0 auto;
  margin-bottom: 50px;
  display: table;
  border: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.alt.nav-tabs li {
  margin: 0;
}
.alt.nav-tabs > li.active {
  border: 0;
}
.alt.nav-tabs > li.active > a,
.alt.nav-tabs > li.active > a:hover,
.alt.nav-tabs > li.active > a:focus {
  color: #ef4136;
  border: 0;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}
.alt.nav-tabs > li > a {
  position: relative;
  font-size: 14px;
  text-transform: none;
  color: #333;
  margin: 0 15px;
  background-color: transparent;
  border: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  padding: 15px 50px;
}
.alt.nav-tabs > li > a:hover {
  color: #ef4136;
}
.alt.nav-tabs > li > a::before,
.alt.nav-tabs > li > a::after {
  content: '';
  position: absolute;
  width: 70%;
  height: 70%;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.alt.nav-tabs > li > a::before {
  top: -1px;
  left: -1px;
  border-top: 1px solid #333;
  border-left: 1px solid #333;
}
.alt.nav-tabs > li > a::after {
  bottom: -1px;
  right: -1px;
  border-bottom: 1px solid #333;
  border-right: 1px solid #333;
}
.alt.nav-tabs > li.active > a::before,
.alt.nav-tabs > li.active > a::after {
  width: 90%;
  height: 90%;
}
.alt.nav-tabs > li.active > a::before,
.alt.nav-tabs > li > a:hover::before {
  border-top-color: #ef4136;
  border-left-color: #ef4136;
}
.alt.nav-tabs > li.active > a::after,
.alt.nav-tabs > li > a:hover::after {
  border-bottom-color: #ef4136;
  border-right-color: #ef4136;
}
.alt.tab-content .tab-pane {
  padding: 0;
  border: 0;
  text-align: left;
}
.alt.tab-content .tab-pane .btn {
  margin-top: 15px;
}
/* Icon Tabs */
.ico.nav-tabs {
  margin: 0 auto;
  margin-bottom: 30px;
  border: 0;
  display: table;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.ico.nav-tabs li {
  border-right: 0;
  margin-bottom: 0;
}
.ico.nav-tabs li:last-child {
  border-right: 0;
}
.ico.nav-tabs > li.active {
  border: 0;
  border-right: 0;
}
.ico.nav-tabs li.active:last-child {
  border-right: 0;
}
.ico.nav-tabs > li.active > a,
.ico.nav-tabs > li.active > a:hover,
.ico.nav-tabs > li.active > a:focus {
  color: #ef4136;
  background: transparent;
  border: 0;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}
.ico.nav-tabs > li.active > a:hover {
  border: 0;
}
.ico.nav-tabs > li > a {
  position: relative;
  font-size: 14px;
  text-transform: none;
  color: #333;
  margin-right: 0;
  background-color: transparent;
  border: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  padding: 20px 40px;
}
.ico.nav-tabs > li > a:hover {
  color: #ef4136;
}
.ico.nav-tabs > li > a::before {
  content: '';
  position: absolute;
  top: 16px;
  left: 50%;
  margin-left: -39px;
  width: 78px;
  height: 78px;
  border: 1px solid transparent;
  border-left: 1px solid #333;
  border-bottom: 1px solid #333;
  border-radius: 39px;
  transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.ico.nav-tabs > li > a:hover::before,
.ico.nav-tabs > li.active > a::before {
  border-left-color: #ef4136;
  border-bottom-color: #ef4136;
}
.ico.nav-tabs > li.active > a::before {
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -o-transform: rotate(90deg);
}
.ico.nav-tabs > li > a > i {
  display: block;
  color: #333;
  font-size: 32px;
  width: 70px;
  height: 70px;
  line-height: 68px;
  border-radius: 35px;
  border: 1px solid #333;
  margin: 0 auto;
  margin-bottom: 20px;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.ico.nav-tabs > li > a:hover > i,
.ico.nav-tabs > li.active > a > i {
  color: #ef4136;
  border-color: #ef4136;
}
.ico.nav-tabs > li > a > span {
  display: block;
  color: #333;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.ico.nav-tabs > li > a:hover > span,
.ico.nav-tabs > li.active > a > span {
  color: #ef4136;
}
.ico.tab-content .tab-pane {
  padding: 0;
  border: 0;
  text-align: left;
}
.ico.tab-content .tab-pane .btn {
  margin-top: 15px;
}
/* Text Tabs */
.text.nav-tabs {
  margin-bottom: 30px;
  border: 0;
  display: inline-block;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  border-bottom: 1px solid #e5e7e9;
}
.text.nav-tabs li {
  position: relative;
  border: 0;
  box-shadow: 0 1px 0 transparent;
  margin-bottom: 0;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.text.nav-tabs li:last-child {
  border: 0;
}
.text.nav-tabs > li.active {
  border: 0;
  box-shadow: 0 1px 0 #ef4136;
}
.text.nav-tabs li.active:last-child {
  border: 0;
}
.text.nav-tabs li::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 21px;
  border-top: 1px solid #e5e7e9;
  border-left: 1px solid #e5e7e9;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.text.nav-tabs > li.active::before {
  border-color: #ef4136;
  width: 50%;
}
.text.nav-tabs > li.active > a,
.text.nav-tabs > li.active > a:hover,
.text.nav-tabs > li.active > a:focus {
  color: #ef4136;
  background: transparent;
  border: 0;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}
.text.nav-tabs > li.active > a:hover {
  border: 0;
}
.text.nav-tabs > li > a {
  font-size: 14px;
  text-transform: none;
  color: #333;
  margin-right: 0;
  background-color: transparent;
  border: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  padding: 20px 60px;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.text.nav-tabs > li > a:hover {
  color: #ef4136;
}
.text.nav-tabs > li > a > span {
  display: block;
  color: #333;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.text.nav-tabs > li > a:hover > span,
.text.nav-tabs > li.active > a > span {
  color: #ef4136;
}
.text.tab-content .tab-pane {
  padding: 0;
  border: 0;
  text-align: left;
}
.text.tab-content .tab-pane .btn {
  margin-top: 15px;
}
/* Text Tabs - Small */
.text.small.nav-tabs {
  margin-bottom: 20px;
  width: 100%;
  display: block;
}
.text.small.nav-tabs > li > a {
  padding: 15px 30px;
}
/*------------------------------------------------------------------
[12.6 Progress Bars]
*/
.progress {
  height: auto;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-box-shadow: 0 0 0 transparent;
  box-shadow: 0 0 0 transparent;
  background-color: transparent;
}
.progress .title {
  font-size: 14px;
  line-height: 24px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  display: block;
  overflow: hidden;
  margin-bottom: 10px;
}
.progress-bar {
  -webkit-box-shadow: none;
  box-shadow: none;
}
/* Style 1 */
.progress-1 {
  background-color: #f5f7f9;
}
.progress-1 .progress-bar {
  line-height: 36px;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  background-color: #ef4136;
}
.progress-1 .title {
  line-height: 36px;
  margin-bottom: 0;
  text-align: right;
  padding-right: 12px;
}
/* Style 2 */
.progress-2 .bar {
  height: 3px;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  background-color: #f5f7f9;
}
.progress-2 .progress-bar {
  background-color: #ef4136;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-transition: width .6s ease;
  -o-transition: width .6s ease;
  transition: width .6s ease;
}
/*------------------------------------------------------------------
[12.7 Breadcrumbs]
*/
.breadcrumb {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0;
  margin-bottom: 37px;
  list-style: none;
  background-color: transparent;
  border-radius: 0;
  text-align: center;
  z-index: 101;
}
.breadcrumb > li + li::before {
  padding: 0 13px;
  color: #999;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: '\f105';
}
.breadcrumb li,
.breadcrumb li a {
  font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 2px;
  line-height: 24px;
}
.breadcrumb li a {
  color: #555;
}
.breadcrumb li a:hover {
  color: #ef4136;
}
.breadcrumb .active {
  color: #777;
}
.breadcrumb.light > li + li::before {
  padding: 0 13px;
  color: #fff;
}
.breadcrumb.light a {
  color: #fff;
  opacity: 0.7;
}
.breadcrumb.light a:hover {
  opacity: 1;
}
.breadcrumb.light .active {
  color: #fff;
}
.breadcrumb.light li a {
  color: #fff;
}
.breadcrumb.light li a:hover {
  color: #fff;
}
.breadcrumb.breadcrumb-right {
  top: 0;
  bottom: 0;
  margin-top: auto;
  margin-bottom: auto;
  text-align: right;
  height: 24px;
  padding-right: 15px;
}
.breadcrumb.breadcrumb-left {
  top: 0;
  bottom: 0;
  margin-top: auto;
  margin-bottom: auto;
  text-align: left;
  height: 24px;
  padding-left: 15px;
}
/*------------------------------------------------------------------
[12.8 Pagination]
*/
.pagination-container {
  overflow: hidden;
  margin: 30px 0;
  margin-bottom: 0;
}
.pagination {
  display: table;
  margin: 0 auto;
  overflow: hidden;
}
.pagination.left {
  display: block;
  margin: 0;
}
.pagination.right {
  display: block;
  margin: 0;
  float: right;
}
.pagination > li > a,
.pagination > li > span {
  background: #f5f7f9;
  width: auto;
  min-width: 50px;
  line-height: 48px;
  border: 1px solid #e5e7e9;
  text-align: center;
  border-radius: 25px;
  color: #777;
  font-size: 18px;
  display: block;
  padding: 0px 12px;
  margin: 5px;
}
.pagination > li > a:focus,
.pagination > li > a:hover,
.pagination > li > span:focus,
.pagination > li > span:hover {
  color: #ef4136;
  background: #f5f7f9;
  border-color: #e5e7e9;
}
.pagination > .active > a,
.pagination > .active > a:focus,
.pagination > .active > a:hover,
.pagination > .active > span,
.pagination > .active > span:focus,
.pagination > .active > span:hover {
  color: #ef4136;
  background: #fff;
  border-color: #e5e7e9;
}
.pagination > .disabled > a,
.pagination > .disabled > a:focus,
.pagination > .disabled > a:hover,
.pagination > .disabled > span,
.pagination > .disabled > span:focus,
.pagination > .disabled > span:hover {
  color: #e5e7e9;
  background: #fff;
  border-color: #e5e7e9;
}
.pagination-lg > li > a,
.pagination-lg > li > span {
  padding: 0px 12px;
  line-height: 58px;
  min-width: 60px;
  border-radius: 30px;
}
.pagination-sm > li > a,
.pagination-sm > li > span {
  padding: 0px 12px;
  line-height: 38px;
  font-size: 14px;
  min-width: 40px;
  border-radius: 20px;
}
.pagination > li:first-child > a,
.pagination > li:first-child > span,
.pagination > li:last-child > a,
.pagination > li:last-child > span {
  border-radius: 25px;
}
.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span,
.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
  border-radius: 30px;
}
.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span,
.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
  border-radius: 20px;
}
/* Pager */
.pager li > a,
.pager li > span {
  display: inline-block;
  padding: 5px 20px;
  background: #f5f7f9;
  border: 1px solid #e5e7e9;
  border-radius: 20px;
  color: #777;
  font-size: 16px;
}
.pager li > a:focus,
.pager li > a:hover {
  background: #f5f7f9;
  color: #ef4136;
}
.pager .disabled > a,
.pager .disabled > a:focus,
.pager .disabled > a:hover,
.pager .disabled > span {
  background: #fff;
  color: #e5e7e9;
  border-color: #e5e7e9;
}
/*------------------------------------------------------------------
[12.9 Icon Boxes]
*/
.icon-box {
  position: relative;
  overflow: hidden;
  text-align: center;
}
.icon-box .box-container {
  position: relative;
  overflow: hidden;
  z-index: 10;
}
.icon-box .overlay {
  z-index: 0;
}
.icon-box.boxed {
  padding: 15px;
}
.icon-box.bordered .box-container {
  padding: 45px 30px;
}
.icon-box.bordered .box-container::before,
.icon-box.bordered .box-container::after {
  content: '';
  position: absolute;
  z-index: -1;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
}
.icon-box.bordered .box-container::before {
  top: 0;
  bottom: 37px;
  left: 0;
  right: 37px;
  border-top: 1px solid #e5e7e9;
  border-left: 1px solid #e5e7e9;
}
.icon-box.bordered .box-container::after {
  top: 37px;
  bottom: 0;
  left: 37px;
  right: 0;
  border-bottom: 1px solid #e5e7e9;
  border-right: 1px solid #e5e7e9;
}
.icon-box.bordered:hover .box-container::before,
.icon-box.bordered:hover .box-container::after {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  border-color: #ef4136;
}
.icon-box h3 {
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
}
.icon-box .icon-box-icon {
  position: relative;
  overflow: hidden;
  margin-bottom: 10px;
  font-size: 52px;
  line-height: 64px;
  color: #ef4136;
}
.icon-box .icon-box-icon.white {
  color: #fff;
}
/* Circle */
.icon-box-icon.circle {
  position: relative;
  overflow: hidden;
  width: 92px;
  height: 92px;
  padding: 1px;
  margin: 0 auto;
  margin-bottom: 15px;
  font-size: 44px;
  line-height: 78px;
}
.icon-box-icon.circle::before {
  content: '';
  position: absolute;
  top: 1px;
  left: 50%;
  margin-left: -45px;
  width: 90px;
  height: 90px;
  border: 1px solid transparent;
  border-left: 1px solid #ef4136;
  border-bottom: 1px solid #ef4136;
  border-radius: 45px;
  transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
}
.icon-box:hover .icon-box-icon.circle::before {
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -o-transform: rotate(90deg);
}
.icon-box-icon.circle .icon-container {
  position: relative;
  margin: 5px;
  width: 80px;
  height: 80px;
  border: 1px solid #ef4136;
  border-radius: 40px;
}
.icon-box-icon.circle.white::before {
  border-left-color: #fff;
  border-bottom-color: #fff;
}
.icon-box-icon.circle.white .icon-container {
  border-color: #fff;
}
/* Square */
.icon-box-icon.square {
  position: relative;
  overflow: hidden;
  width: 90px;
  height: 90px;
  margin: 0 auto;
  margin-bottom: 15px;
  font-size: 44px;
  line-height: 78px;
}
.icon-box-icon.square .icon-container {
  position: relative;
  margin: 5px;
  width: 80px;
  height: 80px;
}
.icon-box-icon.square::before,
.icon-box-icon.square .icon-container::before,
.icon-box-icon.square::after,
.icon-box-icon.square .icon-container::after {
  content: '';
  position: absolute;
  width: 73%;
  height: 73%;
  border: 1px solid transparent;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
}
.icon-box-icon.square .icon-container::before,
.icon-box-icon.square .icon-container::after {
  width: 57%;
  height: 57%;
}
.icon-box-icon.square::before,
.icon-box-icon.square .icon-container::before {
  top: 0;
  left: 0;
  border-top: 1px solid #ef4136;
  border-left: 1px solid #ef4136;
}
.icon-box-icon.square::after,
.icon-box-icon.square .icon-container::after {
  bottom: 0;
  right: 0;
  border-bottom: 1px solid #ef4136;
  border-right: 1px solid #ef4136;
}
.icon-box:hover .icon-box-icon.square::before,
.icon-box:hover .icon-box-icon.square::after {
  width: 90%;
  height: 90%;
}
.icon-box:hover .icon-box-icon.square .icon-container::before,
.icon-box:hover .icon-box-icon.square .icon-container::after {
  width: 37%;
  height: 37%;
}
.icon-box-icon.square.white {
  color: #fff;
}
.icon-box-icon.square.white::before,
.icon-box-icon.square.white .icon-container::before {
  border-top-color: #fff;
  border-left-color: #fff;
}
.icon-box-icon.square.white::after,
.icon-box-icon.square.white .icon-container::after {
  border-bottom-color: #fff;
  border-right-color: #fff;
}
/* Style 2 */
.icon-box.style-2 {
  text-align: left;
}
.icon-box.style-2.icon-box-right {
  text-align: right;
}
.icon-box.style-2 .icon-box-icon {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: 0;
  width: 60px;
  font-size: 40px;
  padding-left: 1px;
}
.icon-box.style-2 .icon-box-icon .icon-container {
  display: table;
  height: 100%;
  width: 100%;
}
.icon-box.style-2 .icon-box-icon .icon-container .ic-icon {
  display: table-cell;
  vertical-align: middle;
}
.icon-box.style-2.icon-box-right .icon-box-icon {
  right: 0;
  left: auto;
  padding-left: 0;
}
.icon-box.style-2.large .icon-box-icon {
  width: 70px;
  font-size: 50px;
}
.icon-box.style-2 .icon-box-text {
  margin-left: 75px;
  padding: 15px 0;
}
.icon-box.style-2.icon-box-right .icon-box-text {
  margin-left: 0;
  margin-right: 70px;
}
.icon-box.style-2.large .icon-box-text {
  margin-left: 90px;
}
.icon-box.style-2.large.icon-box-right .icon-box-text {
  margin-left: 0;
  margin-right: 90px;
}
.icon-box.style-2 .icon-box-text .icon-box-lines-top::before {
  content: '';
  position: absolute;
  top: 0;
  left: 55px;
  width: 21px;
  height: 1px;
  background: #333;
}
.icon-box.style-2.icon-box-right .icon-box-text .icon-box-lines-top::before {
  left: auto;
  right: 55px;
}
.icon-box.style-2.large .icon-box-text .icon-box-lines-top::before {
  left: 70px;
}
.icon-box.style-2.large.icon-box-right .icon-box-text .icon-box-lines-top::before {
  left: auto;
  right: 70px;
}
.icon-box.style-2 .icon-box-text .icon-box-lines-top::after {
  content: '';
  position: absolute;
  top: 0;
  left: 55px;
  width: 1px;
  height: 21px;
  background: #333;
}
.icon-box.style-2.icon-box-right .icon-box-text .icon-box-lines-top::after {
  left: auto;
  right: 55px;
}
.icon-box.style-2.large .icon-box-text .icon-box-lines-top::after {
  left: 70px;
}
.icon-box.style-2.large.icon-box-right .icon-box-text .icon-box-lines-top::after {
  left: auto;
  right: 70px;
}
.icon-box.style-2 .icon-box-text .icon-box-lines-bottom::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 70px;
  right: 100%;
  margin-right: -55px;
  height: 1px;
  background: #333;
}
.icon-box.style-2.icon-box-right .icon-box-text .icon-box-lines-bottom::before {
  left: 100%;
  right: 55px;
  margin-left: -55px;
  margin-right: auto;
}
.icon-box.style-2 .icon-box-text .icon-box-lines-bottom::before,
.icon-box.style-2.icon-box-right .icon-box-text .icon-box-lines-bottom::before {
  -webkit-transition-delay: .0s;
  -moz-transition-delay: .0s;
  -ms-transition-delay: .0s;
  -o-transition-delay: .0s;
  transition-delay: .0s;
}
.icon-box.style-2.large .icon-box-text .icon-box-lines-bottom::before {
  left: 90px;
  margin-right: -70px;
}
.icon-box.style-2.large.icon-box-right .icon-box-text .icon-box-lines-bottom::before {
  left: 100%;
  right: 70px;
  margin-left: -70px;
  margin-right: auto;
}
.icon-box.style-2 .icon-box-text .icon-box-lines-top::before,
.icon-box.style-2 .icon-box-text .icon-box-lines-top::after,
.icon-box.style-2:hover .icon-box-text .icon-box-lines-bottom::before {
  -webkit-transition: all .5s ease .07s;
  -moz-transition: all .5s ease .07s;
  -ms-transition: all .5s ease .07s;
  -o-transition: all .5s ease .07s;
  transition: all .5s ease .07s;
}
.icon-box.style-2:hover .icon-box-text .icon-box-lines-top::before,
.icon-box.style-2:hover .icon-box-text .icon-box-lines-top::after,
.icon-box.style-2:hover .icon-box-text .icon-box-lines-bottom::before {
  background: #ef4136;
}
.icon-box.style-2:hover .icon-box-text .icon-box-lines-top::before {
  width: 30px;
}
.icon-box.style-2:hover .icon-box-text .icon-box-lines-top::after {
  height: 300px;
}
.icon-box.style-2:hover .icon-box-text .icon-box-lines-top::before,
.icon-box.style-2:hover .icon-box-text .icon-box-lines-top::after {
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
}
.icon-box.style-2:hover .icon-box-text .icon-box-lines-bottom::before {
  left: 25px;
}
.icon-box.style-2.icon-box-right .icon-box-text .icon-box-lines-top::before,
.icon-box.style-2.icon-box-right .icon-box-text .icon-box-lines-top::after {
  -webkit-transition: all .5s ease .17s;
  -moz-transition: all .5s ease .17s;
  -ms-transition: all .5s ease .17s;
  -o-transition: all .5s ease .17s;
  transition: all .5s ease .17s;
}
.icon-box.style-2 .icon-box-text .icon-box-lines-bottom::before,
.icon-box.style-2.icon-box-right .icon-box-text .icon-box-lines-bottom::before,
.icon-box.style-2.icon-box-right:hover .icon-box-text .icon-box-lines-top::before,
.icon-box.style-2.icon-box-right:hover .icon-box-text .icon-box-lines-top::after {
  -webkit-transition: all .5s ease .0s;
  -moz-transition: all .5s ease .0s;
  -ms-transition: all .5s ease .0s;
  -o-transition: all .5s ease .0s;
  transition: all .5s ease .0s;
}
.icon-box.style-2.icon-box-right:hover .icon-box-text .icon-box-lines-bottom::before {
  -webkit-transition: all .5s ease .1s;
  -moz-transition: all .5s ease .1s;
  -ms-transition: all .5s ease .1s;
  -o-transition: all .5s ease .1s;
  transition: all .5s ease .1s;
}
.icon-box.style-2.icon-box-right:hover .icon-box-text .icon-box-lines-bottom::before {
  left: 100%;
  right: 25px;
}
.icon-box.style-2.large:hover .icon-box-text .icon-box-lines-bottom::before {
  left: 40px;
}
.icon-box.style-2.large.icon-box-right:hover .icon-box-text .icon-box-lines-bottom::before {
  left: 100%;
  right: 40px;
}
.icon-box.style-2 h3 {
  font-size: 21px;
  margin-bottom: 10px;
  line-height: 40px;
}
/*------------------------------------------------------------------
[12.10 Pricing Tables]
*/
.pricing-tables {
  padding: 20px;
}
.pricing-tables .plan.recommended .head {
  padding: 22px 16px;
}
.pricing-tables.attached .col-sm-4,
.pricing-tables.attached .col-md-4,
.pricing-tables.attached .col-sm-3,
.pricing-tables.attached .col-md-3 {
  padding-left: 0;
  padding-right: 0;
}
.pricing-tables.attached .plan.recommended {
  padding-bottom: 35px;
}
.plan {
  box-shadow: 0 0 0 1px #e5e7e9;
  min-height: 100px;
  margin: 20px 0;
  padding-bottom: 25px;
  text-align: center;
  position: relative;
}
.plan .head {
  padding: 12px 16px;
  color: #333;
}
.plan .head h1,
.plan .head h2,
.plan .head h3 {
  padding: 0;
  margin: 0;
}
.plan .price {
  box-shadow: inset 0px 1px 0px rgba(10, 10, 10, 0.07), inset 0px -1px 0px rgba(10, 10, 10, 0.07);
  margin: 0;
  padding: 12px 16px;
  width: auto;
  color: #fff;
  position: relative;
  z-index: 20;
}
.plan .price h3 {
  font-size: 82px;
  vertical-align: top;
  line-height: 1;
  font-family: 'Open Sans', serif;
}
.plan .price h3 span {
  font-size: 38px;
  vertical-align: top;
  position: relative;
  margin: 6px 0 0 -7px;
  display: inline-block;
}
.plan .price h4 {
  font-size: 14px;
  margin: 0;
}
.plan .price.color-white h4 {
  color: #fff;
}
.plan .button {
  margin: 0;
}
.plan ul {
  list-style-type: none;
  padding: 20px;
  margin-top: 2px;
}
.plan ul li {
  line-height: 22px;
  margin-bottom: 15px;
  font-size: 14px;
  font-weight: 400;
}
.plan ul li a {
  text-decoration: underline;
  color: #e6e9ed;
}
.plan ul li:last-child {
  border-bottom: none;
}
.plan ul strong {
  font-weight: 700;
}
.plan.recommended {
  margin-top: 0px;
  position: relative;
  z-index: 99;
}
.plan.recommended .button {
  margin-bottom: 10px;
}
/*------------------------------------------------------------------
[12.11 Count To]
*/
.count-block {
  text-align: center;
}
.count-block .fa {
  font-size: 48px;
  color: #ef4136;
}
.count-block .number {
  font-size: 48px;
  line-height: 1.1em;
  font-weight: 300;
}
.count-block.number-text {
  font-size: 48px;
}
.count-block .text {
  display: block;
}
/*------------------------------------------------------------------
[12.12 Profile Card]
*/
.profile-card {
  position: relative;
  overflow: hidden;
  text-align: center;
}
.profile-card .user-image {
  position: relative;
  display: table;
  padding: 7px;
  margin: 0 auto;
  margin-bottom: 20px;
}
.user-image img {
  display: block;
  margin: 0 auto;
  width: 120px !important;
  height: 120px !important;
}
.profile-card .user-image::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 70%;
  height: 70%;
  border-top: 1px solid #333;
  border-left: 1px solid #333;
}
.profile-card .user-image::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 30%;
  height: 30%;
  border-bottom: 1px solid #333;
  border-right: 1px solid #333;
}
.user-image-square {
  position: relative;
  width: 100%;
}
.user-image-square:after {
  content: "";
  display: block  !important;
  padding-bottom: 100%  !important;
  position: relative  !important;
  width: auto  !important;
  height: auto  !important;
}
.user-image-square > div {
  width: 90%;
  height: 90%;
  background-size: cover;
  position: absolute;
}
.profile-card .name,
.profile-card .user-image::before,
.profile-card .user-image::after {
  transition: all .5s ease;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
}
.profile-card:hover .user-image::before,
.profile-card:hover .user-image::after {
  width: 90%;
  height: 90%;
  border-color: #ef4136;
}
.profile-card .role {
  margin-bottom: 10px;
  font-size: 14px;
  font-style: italic;
}
.profile-card .name {
  margin: 0;
}
.profile-card:hover .name {
  color: #ef4136;
}
.profile-card .socials-icons ul {
  display: table;
  margin: 0 auto;
}
.profile-card .desc {
  margin-bottom: 0;
}
/* Bordered */
.profile-card .box-container {
  padding: 0;
}
.profile-card.bordered .box-container {
  padding: 45px 30px;
}
.profile-card.bordered .box-container::before,
.profile-card.bordered .box-container::after {
  content: '';
  position: absolute;
  z-index: -1;
  transition: all .5s ease;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
}
.profile-card.bordered .box-container::before {
  top: 0;
  bottom: 37px;
  left: 0;
  right: 37px;
  border-top: 1px solid #e5e7e9;
  border-left: 1px solid #e5e7e9;
}
.profile-card.bordered .box-container::after {
  top: 37px;
  bottom: 0;
  left: 37px;
  right: 0;
  border-bottom: 1px solid #e5e7e9;
  border-right: 1px solid #e5e7e9;
}
.profile-card.bordered:hover .box-container::before,
.profile-card.bordered:hover .box-container::after {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  border-color: #ef4136;
}
/*------------------------------------------------------------------
[12.13 Listing]
*/
.list-group-item {
  border-radius: 0 !important;
  border-color: #e5e7e9;
}
.badge {
  font-weight: 600;
  line-height: 18px;
  border-radius: 4px;
  background-color: #f5f7f9;
  border: 1px solid #e5e7e9;
  color: #333;
}
.list-group-item > .badge {
  margin-top: 1px;
}
.list-group.style-2 .list-group-item {
  padding-left: 0;
  padding-right: 0;
  background: transparent;
  border: 0;
}
.badge.style-2 {
  border: 0;
  background: transparent;
  font-size: 13px;
}
/* Listing Base Style */
.listing {
  padding-left: 17px;
}
.listing ul {
  margin: 5px 0 5px 17px;
}
.listing a {
  color: #333;
}
.listing a:hover {
  color: #ef4136;
}
/* Icon List */
.iconlist {
  padding-left: 30px;
}
.iconlist ul {
  list-style-type: none;
  margin: 5px 0 5px 25px;
}
.iconlist li {
  position: relative;
}
.iconlist > li i {
  position: absolute;
  left: -30px;
  text-align: center;
  top: 0;
  width: 14px;
  line-height: 28px;
}
/* Disc List */
.disclist,
.disclist ul {
  list-style-type: disc;
}
/* Square List */
.squarelist,
.squarelist ul {
  list-style-type: square;
}
/* Decimal List */
.decimallist,
.decimallist ul {
  list-style-type: decimal;
}
/* Roman List */
.romanlist,
.romanlist ul {
  list-style-type: upper-roman;
}
/* Greek List */
.greeklist,
.greeklist ul {
  list-style-type: lower-greek;
}
/* Lower alpha List */
.loweralphalist,
.loweralphalist ul {
  list-style-type: lower-alpha;
}
/* Upper alpha List */
.upperalphalist,
.upperalphalist ul {
  list-style-type: upper-alpha;
}
/*------------------------------------------------------------------
[12.14 Countdown]
*/
.countdown {
  color: #fff;
  overflow: hidden;
}
.countdown .counter-container {
  display: table;
  margin: 0 auto;
}
.countdown .counter-box {
  display: block;
  width: 160px;
  text-align: center;
  overflow: hidden;
  padding: 10px 25px;
  float: left;
  margin: 25px 0;
  position: relative;
}
.countdown .number {
  font-size: 80px;
  text-align: center;
  font-family: 'Monteserrat', sans-serif;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 10px;
}
.countdown span {
  display: block;
  font-size: 21px;
  text-align: center;
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  padding-top: 10px;
  position: relative;
  overflow: hidden;
}
.countdown span::before {
  position: absolute;
  content: '';
  display: block;
  width: 30px;
  height: 1px;
  background: #fff;
  margin-left: auto;
  margin-right: auto;
  left: 0;
  right: 0;
  top: 0px;
}
.countdown.text-dark span::before {
  background: #333;
}
/*------------------------------------------------------------------
[12.15 Icons]
*/
.icon-14 {
  font-size: 14px;
}
.icon-18 {
  font-size: 18px;
}
.icon-21 {
  font-size: 21px;
}
.icon-32 {
  font-size: 32px;
}
.icon-42 {
  font-size: 42px;
}
.icon-52 {
  font-size: 52px;
}
.icon-62 {
  font-size: 62px;
}
.icon-72 {
  font-size: 72px;
}
.icon-82 {
  font-size: 82px;
}
.icon-92 {
  font-size: 92px;
}
.icon-102 {
  font-size: 102px;
}
/* Social Icons */
.socials-icons {
  margin: 0;
  height: 40px;
}
.socials-icons ul {
  margin: 0;
  padding: 0;
  text-align: center;
  display: block;
}
.socials-icons.pull-center ul {
  margin: 0 auto;
  text-align: center;
  display: table;
}
.socials-icons li {
  margin: 0;
  display: block;
  float: left;
}
/* Icons */
.social-share-title {
  font-weight: 600;
  line-height: 40px;
  display: block;
}
.social-icon {
  display: block;
  background: #f5f7f9;
  float: left;
  margin: 0 5px 5px 0;
  width: 40px;
  height: 40px;
  font-size: 20px;
  line-height: 38px!important;
  color: #777;
  border: 1px solid #e5e7e9;
  overflow: hidden;
  text-align: center;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
}
.social-icon:last-child {
  margin-right: 0;
}
.social-icon i {
  color: #777;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
}
.social-icon:hover {
  background: #fff;
}
.social-icon:hover,
.social-icon:hover i {
  color: #333;
}
.social-icon.social-rounded {
  background: #f5f7f9;
  border: 1px solid #d8d9da;
  border-radius: 20px;
  color: #777;
}
.social-icon.social-rounded i {
  color: #777;
}
.social-icon.social-rounded:hover {
  background: #fefefe;
  border: 1px solid #e5e7e9;
}
.social-icon.social-rounded:hover,
.social-icon.social-rounded:hover i {
  color: #333;
}
.social-icon.social-clear {
  background: transparent;
  border: 0;
  color: #777;
  margin: 0;
}
.social-icon.social-clear:hover,
.social-icon.social-clear:hover i {
  color: #ef4136;
}
.social-white i {
  color: #fff;
}
/*------------------------------------------------------------------
[12.16 Feature Box]
*/
.feature-box {
  padding: 80px 40px;
  position: relative;
  z-index: 1;
  overflow: hidden;
  visibility: visible;
  min-height: 300px;
}
.feature-box .box-content {
  position: relative;
  z-index: 3;
  max-width: 70%;
}
.feature-box.overlay-fade {
  overflow: visible;
}
.overlay-fade .overlay-color {
  transition: opacity 0.3s ease;
  -webkit-transition: opacity 0.3s ease;
  -moz-transition: opacity 0.3s ease;
}
.overlay-fade:hover .fade-100 {
  opacity: 1;
}
.overlay-fade:hover .fade-100 {
  opacity: 1;
}
.overlay-fade:hover .fade-90 {
  opacity: 0.9;
}
.overlay-fade:hover .fade-80 {
  opacity: 0.8;
}
.overlay-fade:hover .fade-70 {
  opacity: 0.7;
}
.overlay-fade:hover .fade-60 {
  opacity: 0.6;
}
.overlay-fade:hover .fade-50 {
  opacity: 0.5;
}
.overlay-fade:hover .fade-40 {
  opacity: 0.4;
}
.overlay-fade:hover .fade-30 {
  opacity: 0.3;
}
.overlay-fade:hover .fade-20 {
  opacity: 0.2;
}
.overlay-fade:hover .fade-10 {
  opacity: 0.1;
}
.overlay-fade:hover .fade-0 {
  opacity: 0;
}
/*------------------------------------------------------------------
[12.17 Knowledge Box]
*/
.kb-category-list {
  position: relative;
  overflow: hidden;
}
.kb-category-list h2,
.kb-category-list h3,
.kb-category-list h4 {
  font-size: 18px;
  border-bottom: 1px solid #e5e7e9;
  padding-bottom: 10px;
  font-weight: 400;
}
.kb-category-list ul li {
  line-height: 24px;
  margin-bottom: 18px;
  padding-left: 3px;
}
.kb-category-list ul li i {
  margin-right: 14px;
}
.kb-category-list a,
.kb-category-list a i {
  color: #2e2e2e;
}
.kb-category-list h2 .label,
.kb-category-list h3 .label,
.kb-category-list h4 .label {
  float: right;
  position: relative;
  top: 9px;
  padding: 0 5px;
}
/*------------------------------------------------------------------
[12.18 Labels]
*/
.label {
  display: inline-block;
  padding: 0 10px;
  font: 600 11px/18px 'Open Sans', Verdana;
  color: #fff;
  text-align: center;
  border-radius: 0;
  vertical-align: middle;
  background: #ef4136;
}
/*------------------------------------------------------------------
[12.19 Modal]
*/
.modal {
  z-index: 9999;
}
.mfp-bg {
  z-index: 9800 !important;
  background-color: #030304 !important;
}
.mfp-wrap {
  z-index: 9900 !important;
}
.mfp-modal {
  position: relative;
  background: #fff;
  width: auto;
  max-width: 840px;
  margin: 20px auto;
}
.mfp-modal.mfp-modal-small {
  max-width: 430px;
}
.mfp-modal-title {
  margin: 0;
  padding: 15px 20px;
  background: #f5f7f9;
  border-bottom: 1px solid #e5e7e9;
}
.mfp-modal-content {
  padding: 20px;
  position: relative;
  overflow: hidden;
  z-index: 10;
}
.mfp-modal-footer {
  margin: 0;
  padding: 15px 20px;
  border-top: 1px solid #e5e7e9;
}
.mfp-modal .overlay {
  z-index: 0;
}
.mfp-modal .mfp-close,
.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  font-size: 24px;
}
.mfp-close i {
  position: relative;
  z-index: -1;
}
.mfp-modal .mfp-close:active {
  top: 0;
}
.mfp-close-btn-in .mfp-close-btn-white .mfp-close {
  color: #fff;
}
/* Overlay at start */
.mfp-fade.mfp-bg {
  opacity: 0;
  -webkit-transition: all 0.15s ease-out;
  -moz-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
}
.mfp-fade.mfp-bg.mfp-ready {
  opacity: 0.8;
}
.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}
.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  -webkit-transition: all 0.15s ease-out;
  -moz-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
}
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}
/* Bootstrap Modal */
.modal-header .close {
  margin-top: 0;
  width: 34px;
  height: 34px;
  position: relative;
  z-index: 1;
  outline: 0;
}
.modal-content {
  border: 0px solid transparent;
  border-radius: 0;
  -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0.5);
  box-shadow: 0 0 0 rgba(0, 0, 0, 0.5);
}
.mfp-close-btn-in .mfp-ajax-holder .mfp-close {
  background-color: #f5f7f9;
  opacity: 1;
  transition: color 0.3s ease;
  -webkit-transition: color 0.3s ease;
  -moz-transition: color 0.3s ease;
}
.mfp-close-btn-in .mfp-ajax-holder .mfp-close:hover {
  color: #ef4136;
}
/*------------------------------------------------------------------
[12.20 Clients]
*/
.clients-row .client {
  padding: 30px 0;
  position: relative;
  overflow: hidden;
}
.clients-row .client img {
  opacity: 0.5;
  transition: all .5s ease;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
}
.clients-row .client:hover img {
  opacity: 1;
}
.clients-row .client.border-bottom::before {
  content: '';
  position: absolute;
  left: 7%;
  right: 7%;
  bottom: 0;
  height: 1px;
  background: #ddd;
}
.clients-row .client.border-right::after {
  content: '';
  position: absolute;
  top: 7%;
  bottom: 7%;
  right: 0;
  width: 1px;
  background: #ddd;
}
/*------------------------------------------------------------------
[12.21 Text Rotate]
*/
.morphext > .animated {
  display: inline-block;
  visibility: visible;
}
/*------------------------------------------------------------------
[12.22 Testimonial Box]
*/
.testimonial-box {
  padding: 0;
  overflow: hidden;
  position: relative;
}
.testimonial-box.boxed {
  padding: 15px;
}
.testimonial-box .overlay {
  z-index: 0;
}
.testimonial-box .box-container {
  padding: 45px 30px;
  text-align: center;
  position: relative;
  z-index: 10;
}
.testimonial-box .box-container::before,
.testimonial-box .box-container::after {
  content: '';
  position: absolute;
  transition: all .5s ease;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
}
.testimonial-box .box-container::before {
  top: 0;
  bottom: 37px;
  left: 0;
  right: 37px;
  border-top: 1px solid #e5e7e9;
  border-left: 1px solid #e5e7e9;
}
.testimonial-box .box-container::after {
  top: 37px;
  bottom: 0;
  left: 37px;
  right: 0;
  border-bottom: 1px solid #e5e7e9;
  border-right: 1px solid #e5e7e9;
}
.testimonial-box:hover .box-container::before,
.testimonial-box:hover .box-container::after {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  border-color: #ef4136;
}
.testimonial-box .feedback .quote {
  font-size: 14px;
  font-style: italic;
  margin-bottom: 30px;
}
.testimonial-box .feedback .author {
  margin-top: 15px;
}
.testimonial-box .feedback .author img {
  max-width: 100%;
  width: auto;
  display: block;
  margin: 0 auto;
}
/*------------------------------------------------------------------
[13. FlexSlider]
*/
div.flexslider {
  background: transparent;
  position: relative;
  margin: 0;
  border: 0;
  border-radius: 0;
  -webkit-box-shadow: '' 0 0 0 rgba(0, 0, 0, 0.2);
  -moz-box-shadow: '' 0 0 0 rgba(0, 0, 0, 0.2);
  -o-box-shadow: '' 0 0 0 rgba(0, 0, 0, 0.2);
  box-shadow: '' 0 0 0 rgba(0, 0, 0, 0.2);
}
div.flexslider {
  margin: 0;
  background: transparent;
  position: relative;
  zoom: 1;
}
div.flexslider .slides {
  position: relative;
  overflow: hidden;
}
div.flexslider img {
  display: block;
  width: 100%;
  height: auto;
}
/* Control Nav */
.flexslider.text-slider .flex-control-nav {
  position: relative;
  bottom: 0;
  display: table;
}
.flexslider .flex-control-nav {
  bottom: -50px;
  z-index: 10;
}
.flexslider.controls-inside .flex-control-nav {
  bottom: 0;
}
.flexslider.controls-outside .flex-control-nav {
  position: relative;
  bottom: 0;
  margin-top: 30px;
  height: 14px;
}
.flexslider .flex-control-nav li {
  margin: 0 3px;
}
.flexslider .flex-control-paging li a {
  width: 8px;
  height: 8px;
  background-color: #333;
  margin: 3px 8px 3px 8px;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  -o-box-shadow: none;
  box-shadow: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-transition: none;
  -moz-transition: none;
  -ms-transition: none;
  -o-transition: none;
  transition: none;
}
.flexslider .flex-control-paging li a.flex-active {
  width: 14px;
  height: 14px;
  background-color: transparent;
  border: 3px solid #333;
  margin: 0px 5px 0px 5px;
}
.flexslider.controls-white .flex-control-paging li a {
  background-color: #fff;
}
.flexslider.controls-white .flex-control-paging li a.flex-active {
  background-color: transparent;
  border: 3px solid #fff;
}
/* Direction nav */
.flex-direction-nav .flex-disabled {
  visibility: hidden;
}
.flex-direction-nav a {
  text-decoration: none;
  display: block;
  width: 40px;
  height: 40px;
  margin: -20px 0 0;
  position: absolute;
  top: 50%;
  z-index: 10;
  overflow: hidden;
  opacity: 0;
  cursor: pointer;
  color: #fff;
  text-align: center;
  text-shadow: 0 0 0 rgba(255, 255, 255, 0);
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  transition: all .3s ease;
}
div.flexslider:hover .flex-direction-nav .flex-prev,
div.flexslider:hover .flex-direction-nav .flex-next {
  opacity: 1;
}
div.flexslider:hover .flex-direction-nav .flex-next:hover,
div.flexslider:hover .flex-direction-nav .flex-prev:hover {
  opacity: 0.9;
}
div.flexslider .flex-direction-nav a::before {
  position: relative;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 26px;
  line-height: 40px;
  width: 40px;
  text-align: center;
  content: "\f104";
  text-shadow: 0 0 0 rgba(255, 255, 255, 0);
  z-index: 1;
}
div.flexslider .flex-direction-nav a.flex-next::before {
  content: "\f105";
}
div.flexslider .flex-direction-nav a::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 40px;
  height: 40px;
  background: #fff;
}
div.flexslider.direction-dark .flex-direction-nav a::after {
  background: #333;
}
div.flexslider.direction-dark .flex-direction-nav a::before {
  color: #fff;
}
div.flexslider.direction-white .flex-direction-nav a::before {
  color: #333;
}
/* Thumbs Gallery */
.flex-control-nav.flex-control-thumbs {
  position: relative;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0;
  padding-top: 2px;
}
div.flexslider .flex-control-thumbs li {
  margin: 0;
  display: block;
  overflow: hidden;
  position: relative;
}
.flex-control-nav.flex-control-thumbs img {
  text-indent: -9999px;
  border: 0;
  border-radius: 0;
  margin: 0;
  display: block;
  overflow: hidden;
  position: relative;
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.flex-control-nav.flex-control-thumbs li img.flex-active,
.flex-control-nav.flex-control-thumbs li:hover img {
  opacity: 1;
  border: 0;
}
/* Text Slider */
.textslider h1,
.textslider h2,
.textslider h3 {
  text-transform: uppercase;
}
.textslider h1 {
  font-size: 82px;
}
.textslider h2 {
  font-size: 58px;
}
.textslider h3 {
  font-size: 40px;
}
/* Flex Carousel */
.flex-carousel .slides li {
  opacity: .5;
  transition: all .5s ease;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
}
.flex-carousel li:hover {
  opacity: 1;
}
.flex-carousel.flexslider .slides img {
  width: auto;
  margin: 0 auto;
}
/* Slider widget */
.widget_slider li {
  padding: 0;
}
.widget_slider .flex-direction-nav li {
  position: inherit;
  width: inherit;
  padding: inherit;
}
.widget_slider .flex-control-paging {
  display: none;
}
/*------------------------------------------------------------------
[14. Swiper Slider]
*/
.swiper_slider {
  height: 700px;
}
.swiper_slider.equal-col {
  height: auto;
}
.swiper_slider .section-container {
  z-index: 200;
  position: relative;
  display: table;
  width: 100%;
  height: 100%;
}
.swiper_slider .table-container {
  display: table-cell;
  vertical-align: middle;
}
.swiper_slider.fullscreen-element {
  padding: 0;
}
.swiper-container {
  width: 100%;
  height: 100%;
}
.swiper_slider .swiper-parallax-bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 130%;
  height: 100%;
  -webkit-background-size: cover;
  background-size: cover;
  background-position: center;
}
.swiper_slider .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  border-radius: 0;
  background: #fff;
  opacity: 1;
}
.swiper_slider .swiper-container-horizontal > .swiper-pagination .swiper-pagination-bullet {
  margin: 3px 8px 3px 8px;
}
.swiper_slider .swiper-container-horizontal > .swiper-pagination .swiper-pagination-bullet-active,
.swiper_slider .swiper-pagination-bullet-active {
  width: 14px;
  height: 14px;
  border: 3px solid #fff;
  background: transparent;
  margin: 0px 5px 0px 5px;
}
.swiper_slider .swiper-pagination.pagination-dark .swiper-pagination-bullet {
  background: #333;
}
.swiper_slider .swiper-pagination.pagination-dark .swiper-container-horizontal > .swiper-pagination .swiper-pagination-bullet-active,
.swiper_slider .swiper-pagination.pagination-dark .swiper-pagination-bullet-active {
  background: transparent;
  border: 3px solid #333;
}
.swiper_slider .swiper-slide {
  position: relative;
  margin: 0;
  overflow: hidden;
}
.swiper_slider.swiper_centered .swiper-slide {
  width: 50%;
}
.swiper_slider .swiper-slide .parallax-background {
  background-attachment: scroll;
}
.swiper_slider .swiper-slide.parallax-slide .overlay {
  z-index: 0;
}
.swiper_slider .swiper-slide.parallax-slide .section-container {
  z-index: 1;
}
.swiper_slider .swiper-button-next,
.swiper-gallery .swiper-button-next,
.swiper_slider .swiper-button-prev,
.swiper-gallery .swiper-button-prev {
  width: 50px;
  height: 50px;
  line-height: 50px;
  margin-top: -25px;
  color: #fff;
  font-size: 34px;
  text-align: center;
  background-color: transparent;
  background-image: none !important;
  border: none;
}
.swiper_slider .swiper-button-next.sb-transparent-dark,
.swiper-gallery .swiper-button-next.sb-transparent-dark,
.swiper_slider .swiper-button-prev.sb-transparent-dark,
.swiper-gallery .swiper-button-prev.sb-transparent-dark {
  color: #333;
}
.swiper_slider .swiper-button-next,
.swiper-gallery .swiper-button-next,
.swiper_slider .swiper-container-rtl .swiper-button-prev,
.swiper-gallery .swiper-container-rtl .swiper-button-prev {
  right: 0;
}
.swiper_slider .swiper-button-prev,
.swiper-gallery .swiper-button-prev,
.swiper_slider .swiper-container-rtl .swiper-button-next,
.swiper-gallery .swiper-container-rtl .swiper-button-next {
  left: 0;
}
.swiper_slider .swiper-button-prev,
.swiper-gallery .swiper-button-prev,
.swiper_slider .swiper-button-next,
.swiper-gallery .swiper-button-next {
  transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
}
.swiper_slider .swiper-button-prev.on-hover,
.swiper-gallery .swiper-button-prev.on-hover {
  left: -50px;
}
.swiper_slider:hover .swiper-button-prev.on-hover,
.swiper-gallery:hover .swiper-button-prev.on-hover {
  left: 15px;
}
.swiper_slider .swiper-button-next.on-hover,
.swiper-gallery .swiper-button-next.on-hover {
  right: -50px;
}
.swiper_slider:hover .swiper-button-next.on-hover,
.swiper-gallery:hover .swiper-button-next.on-hover {
  right: 15px;
}
.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
  visibility: hidden;
}
/* Swiper Slider - Gallery */
.swiper-gallery {
  height: 670px;
}
.swiper-gallery .swiper-slide {
  background-size: cover;
  background-position: center;
}
.gallery-top {
  height: 80%;
  width: 100%;
}
.gallery-thumbs {
  height: 20%;
  box-sizing: border-box;
  padding: 10px 0;
}
.gallery-thumbs .swiper-slide {
  width: 25%;
  height: 100%;
  opacity: 0.4;
}
.gallery-thumbs .swiper-slide-active {
  opacity: 1;
}
/*------------------------------------------------------------------
[15. owlCarousel]
*/
div.owl-carousel {
  width: auto;
}
.owl-item .shop-item {
  margin-bottom: 0;
}
.owl-item .portfolio-item {
  padding: 0;
}
.owl-carousel .owl-controls {
  text-align: center;
  -webkit-tap-highlight-color: transparent;
}
.owl-carousel .owl-controls .owl-buttons div {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 10;
  background: transparent;
  color: #333;
  width: 30px;
  height: 30px;
  margin: auto 0;
  opacity: 0;
  text-align: center;
  font-size: 28px;
  line-height: 30px;
  transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
}
.owl-carousel .owl-controls .owl-buttons .owl-prev {
  left: -45px;
}
.owl-carousel .owl-controls .owl-buttons .owl-next {
  right: -45px;
}
.owl-carousel:hover .owl-controls .owl-prev {
  left: -35px;
  opacity: 1;
}
.owl-carousel:hover .owl-controls .owl-next {
  right: -35px;
  opacity: 1;
}
.owl-carousel .owl-controls .owl-buttons div i {
  top: -2px;
  position: relative;
}
.owl-carousel.nav-inside .owl-controls .owl-buttons div {
  z-index: 100;
  background-color: #333;
  color: #fff;
  width: 50px;
  height: 70px;
  font-size: 28px;
  line-height: 70px;
}
.owl-carousel.nav-inside .owl-controls .owl-buttons div:hover {
  color: #ef4136;
}
.owl-carousel.nav-inside .owl-controls .owl-prev {
  left: -50px;
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
}
.owl-carousel.nav-inside .owl-controls .owl-next {
  right: -50px;
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}
.owl-carousel.nav-inside .owl-controls .owl-buttons div::before,
.owl-carousel.nav-inside .owl-controls .owl-buttons div::after {
  content: '';
  position: absolute;
  width: 70px;
  height: 21px;
  transition: all .5s ease;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
}
.owl-carousel.nav-inside .owl-controls .owl-prev::before {
  top: -3px;
  right: -3px;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
}
.owl-carousel.nav-inside .owl-controls .owl-prev::after {
  bottom: -3px;
  right: -3px;
  border-bottom: 2px solid #333;
  border-right: 2px solid #333;
}
.owl-carousel.nav-inside .owl-controls .owl-next::before {
  top: -3px;
  left: -3px;
  border-top: 2px solid #333;
  border-left: 2px solid #333;
}
.owl-carousel.nav-inside .owl-controls .owl-next::after {
  bottom: -3px;
  left: -3px;
  border-bottom: 2px solid #333;
  border-left: 2px solid #333;
}
.owl-carousel.nav-inside.owl-controls-light .owl-controls .owl-prev,
.owl-carousel.nav-inside.owl-controls-light .owl-controls .owl-next {
  background-color: #fff;
  color: #333;
}
.owl-carousel.nav-inside.owl-controls-light .owl-controls .owl-prev:hover,
.owl-carousel.nav-inside.owl-controls-light .owl-controls .owl-next:hover {
  color: #ef4136;
}
.owl-carousel.nav-inside.owl-controls-light .owl-controls .owl-prev::before {
  border-top-color: #fff;
  border-right-color: #fff;
}
.owl-carousel.nav-inside.owl-controls-light .owl-controls .owl-prev::after {
  border-bottom-color: #fff;
  border-right-color: #fff;
}
.owl-carousel.nav-inside.owl-controls-light .owl-controls .owl-next::before {
  border-top-color: #fff;
  border-left-color: #fff;
}
.owl-carousel.nav-inside.owl-controls-light .owl-controls .owl-next::after {
  border-bottom-color: #fff;
  border-left-color: #fff;
}
.owl-carousel.nav-inside .owl-controls .owl-buttons div:hover::before,
.owl-carousel.nav-inside .owl-controls .owl-buttons div:hover::after {
  height: 33px;
}
.owl-carousel.nav-inside:hover .owl-controls .owl-prev,
.owl-section:hover .owl-carousel.nav-inside .owl-controls .owl-prev {
  left: 0;
  opacity: 1;
}
.owl-carousel.nav-inside:hover .owl-controls .owl-next,
.owl-section:hover .owl-carousel.nav-inside .owl-controls .owl-next {
  right: 0;
  opacity: 1;
}
/* Pagination */
.owl-carousel .owl-controls .owl-page {
  display: inline-block;
  margin-top: 30px;
}
.owl-carousel .owl-controls .owl-page span {
  display: block;
  width: 8px;
  height: 8px;
  margin: 3px 8px 3px 8px;
  background-color: #333;
  filter: alpha(opacity=100);
  opacity: 1;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-transition: none;
  -o-transition: none;
  transition: none;
}
.owl-carousel .owl-controls .owl-page:hover span {
  opacity: 1;
}
.owl-carousel .owl-controls .owl-page.active span {
  width: 14px;
  height: 14px;
  margin: 0px 5px 0px 5px;
  background-color: transparent;
  opacity: 1;
  border: 3px solid #333;
}
.owl-pagination-dark.owl-carousel .owl-controls .owl-page span {
  background-color: #000;
}
.owl-pagination-dark.owl-carousel .owl-controls .owl-page.active span {
  background-color: transparent;
  border-color: #000;
}
.owl-pagination-light.owl-carousel .owl-controls .owl-page span {
  background-color: #fff;
}
.owl-pagination-light.owl-carousel .owl-controls .owl-page.active span {
  background-color: transparent;
  border-color: #fff;
}
/* Testimonials Carousel */
.testimonials .feedback {
  overflow: hidden;
}
.testimonials .feedback .image {
  border-radius: 50%;
  width: 120px;
  height: 120px;
  line-height: 120px;
  margin: auto;
  margin-top: 10px;
  margin-bottom: 30px;
  overflow: hidden;
}
.testimonials .feedback .image img {
  width: 100%;
  vertical-align: top;
  border-radius: 50%;
  border: 5px solid #fff;
}
.testimonials .feedback .quote {
  font-size: 18px;
  font-style: italic;
  font-weight: 300;
  margin-top: 40px;
  margin-bottom: 30px;
}
.testimonials .feedback .quote-21 {
  font-size: 21px !important;
  line-height: 34px;
}
.testimonials .feedback .author {
  margin-top: 15px;
}
.testimonials .feedback .author img {
  max-width: 100%;
  width: auto;
  display: block;
  margin: 0 auto;
}
/*------------------------------------------------------------------
[16. Overlays]
*/
.overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -10;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.page-overlay.active {
  top: 121px;
}
.overlay-image,
.overlay-color,
.overlay-video {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.overlay-image,
.overlay-video {
  z-index: -1;
}
.overlay-image.on-mobile {
  display: none;
}
body.mobile .overlay-image.on-mobile {
  display: block;
}
body.mobile .overlay-video {
  display: none;
}
/*------------------------------------------------------------------
[17. Forms]
*/
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #575757;
}
input:-moz-placeholder,
textarea:-moz-placeholder {
  color: #575757;
}
input.placeholder,
textarea.placeholder {
  color: #575757;
}
input[placeholder] {
  text-overflow: ellipsis;
}
::-moz-placeholder {
  text-overflow: ellipsis;
}
/* firefox 19+ */
input:-moz-placeholder {
  text-overflow: ellipsis;
}
.form {
  position: relative;
  overflow: hidden;
}
.success-message,
.error-message {
  padding-top: 10px;
  color: #fff;
  font-size: 14px;
  font-weight: 300;
  display: none;
}
/* WebKit browsers */
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #575757;
}
:-moz-placeholder {
  /* Mozilla Firefox 4 to 18 */
  color: #575757;
  opacity: 1;
}
::-moz-placeholder {
  /* Mozilla Firefox 19+ */
  color: #575757;
  opacity: 1;
}
:-ms-input-placeholder {
  /* Internet Explorer 10+ */
  color: #575757;
}
/*
textarea.form-control {
  height: auto !important;
}*/
.form-control {
  height: 40px;
  padding: 9px 16px;
  border: 1px solid #e5e7e9;
  color: inherit;
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  line-height: 24px;
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  border-radius: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: background-color 0.3s ease, border 0.3s ease, color 0.3s ease;
  -moz-transition: background-color 0.3s ease, border 0.3s ease, color 0.3s ease;
  -ms-transition: background-color 0.3s ease, border 0.3s ease, color 0.3s ease;
  -o-transition: background-color 0.3s ease, border 0.3s ease, color 0.3s ease;
  transition: background-color 0.3s ease, border 0.3s ease, color 0.3s ease;
}
.form-control.no-border {
  border-radius: 0 !important;
  border: none;
}
.form-control.border-bottom {
  border-radius: 0 !important;
  border-left: none;
  border-right: none;
  border-top: none;
}
.form-control:focus {
  border-color: #c9c8ca;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}
.form-control.border-bottom:focus {
  box-shadow: none;
  -webkit-box-shadow: none;
}
.form-control::-moz-placeholder {
  color: #575757;
}
.form-control:-ms-input-placeholder {
  color: #575757;
}
.form-control::-webkit-input-placeholder {
  color: #575757;
}
.form-group,
.form-control,
.input-group,
.normal-selectbox,
.large-selectbox {
  margin-bottom: 25px;
}
.form-group .input-group {
  margin-bottom: 0;
}
.form-group .form-control {
  margin-bottom: 0;
}
.helper-group a {
  color: #d9d8da;
  font-size: 12px;
  line-height: 1;
}
.helper-group a:hover {
  color: #575757;
}
label.input-desc {
  font-size: 14px;
  font-weight: 600;
  font-family: 'Open Sans', Verdana;
  text-transform: uppercase;
  margin-bottom: 7px;
}
.has-feedback label ~ .form-control-feedback {
  top: 33px;
}
.input-sm {
  font-size: 12px;
}
.input-sm,
.form-group-sm .form-control,
.form-group-sm .form-control-static {
  height: 34px;
  padding: 7px 12px;
}
select.input-sm,
select.form-group-sm .form-control {
  height: 34px;
  line-height: 34px;
}
select option {
  line-height: 30px;
}
.input-lg,
.form-group-lg .form-control,
.form-group-lg .form-control-static {
  height: 46px;
  padding: 10px 18px;
}
.input-lg {
  font-size: 16px;
  line-height: 1.5;
}
select.input-lg,
select.form-group-lg .form-control {
  height: 46px;
  line-height: 46px;
}
.form-control-feedback {
  width: 40px;
  height: 40px;
  line-height: 40px;
}
.input-lg + .form-control-feedback {
  width: 46px;
  height: 46px;
  line-height: 46px;
}
.input-sm + .form-control-feedback {
  width: 34px;
  height: 34px;
  line-height: 34px;
}
/* Input Groups */
.input-group .normal-selectbox {
  margin-bottom: 0;
}
.input-group-lg > .form-control,
.input-group-lg > .input-group-addon {
  height: 46px;
  padding: 10px 18px;
  font-size: 16px;
  line-height: 1.5;
  border-radius: 0;
}
select.input-group-lg > .form-control,
select.input-group-lg > .input-group-addon {
  height: 46px;
  line-height: 46px;
  font-size: 16px;
  line-height: 1.5;
}
.input-group-sm > .form-control,
.input-group-sm > .input-group-addon {
  height: 34px;
  padding: 7px 12px;
  border-radius: 0;
}
select.input-group-sm > .form-control,
select.input-group-sm > .input-group-addon {
  height: 34px;
  line-height: 34px;
}
/* Input Group Addons */
.input-group-addon {
  padding: 8px 16px;
  font-size: 14px;
  color: #575757;
  background-color: transparent;
  border: 1px solid #e5e7e9;
  font-weight: 400;
  border-radius: 0;
}
.input-group-addon.input-sm {
  padding: 7px 12px;
}
.input-group-addon.input-lg {
  padding: 9.5px 18px;
  font-size: 16px;
  border-radius: 0;
}
/* Textarea Input Group */
textarea.form-control {
  padding-top: 12px;
}
.textarea-container {
  position: relative;
  width: 100%;
  padding-top: 39px;
}
.textarea-container .input-group-addon {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 12px 16px;
  z-index: 100;
  border-radius: 0;
  text-align: left;
}
.textarea-container .input-group-addon:first-child {
  border-right: 1px solid #e5e7e9;
}
.textarea-container textarea.form-control {
  border-radius: 0;
}
/* Checkboxed and Radios */
input[type="radio"],
input[type="checkbox"] {
  margin-top: 7px;
}
.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
  margin-left: -22px;
}
.radio label,
.checkbox label,
.radio-inline,
.checkbox-inline {
  padding-left: 22px;
}
.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
  margin-left: 15px;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
  background-color: #f5f7f9;
}
.input-border-bottom.form-control {
  border-radius: 0 !important;
}
.input-border-bottom.form-control {
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
  transition: border 0.5s ease;
  -webkit-transition: border 0.5s ease;
  background-color: transparent;
}
.input-border-bottom.form-control:focus {
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}
.input-border-bottom.form-control {
  transition: padding 0.5s;
  -webkit-transition: padding 0.5s;
}
.input-border-bottom.form-control:focus {
  padding-left: 0;
}
select.input-border-bottom.form-control {
  text-indent: 10px;
  color: #575757;
}
/* Input Border Dark Style */
.form-control.border-dark,
.input-group.border-dark .input-group-addon,
.input-group.border-dark .form-control {
  border-color: #000;
  background-color: transparent;
  color: #575757;
}
.form-control.border-dark::-moz-placeholder,
.input-group.border-dark .form-control::-moz-placeholder {
  color: #575757;
}
.form-control.border-dark:-ms-input-placeholder,
.input-group.border-dark .form-control:-ms-input-placeholder {
  color: #575757;
}
.form-control.border-dark::-webkit-input-placeholder,
.input-group.border-dark .form-control::-webkit-input-placeholder {
  color: #575757;
}
.form-control.border-dark:focus {
  border-color: #000;
  -webkit-box-shadow: 0 0 0 #000;
  box-shadow: 0 0 0 #000;
}
/* Input Border White Style */
.form-control.border-white,
.input-group.border-white .input-group-addon,
.input-group.border-white .form-control {
  border-color: #fff;
  background-color: transparent;
  color: #fff;
}
.form-control.border-white::-moz-placeholder,
.input-group.border-white .form-control::-moz-placeholder {
  color: #fff;
}
.form-control.border-white:-ms-input-placeholder,
.input-group.border-white .form-control:-ms-input-placeholder {
  color: #fff;
}
.form-control.border-white::-webkit-input-placeholder,
.input-group.border-white .form-control::-webkit-input-placeholder {
  color: #fff;
}
.form-control.border-white:focus {
  border-color: #fff;
  -webkit-box-shadow: 0 0 0 #fff;
  box-shadow: 0 0 0 #fff;
}
/* Selectbox */
.normal-selectbox .select2-container {
  width: 100% !important;
  display: block;
}
.normal-selectbox .select2-container .select2-selection--single {
  height: 40px;
}
.large-selectbox .select2-container .select2-selection--single {
  height: 46px;
}
.normal-selectbox .select2-container--default .select2-selection--single,
.normal-selectbox .select2-container--default .select2-selection--multiple,
.select2-container .select2-dropdown {
  border-radius: 0;
  border-color: #e5e7e9;
}
.normal-selectbox .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #444;
  line-height: 24px;
}
.large-selectbox .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 30px;
}
.normal-selectbox .select2-container .select2-selection--single .select2-selection__rendered {
  height: 40px;
  padding: 8px 16px;
  padding-right: 30px;
  font-weight: 400;
  font-size: 14px;
}
.large-selectbox .select2-container .select2-selection--single .select2-selection__rendered {
  height: 46px;
}
.normal-selectbox .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 40px;
}
.large-selectbox .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 40px;
}
.select2-container .select2-results__option {
  padding: 6px 16px;
  font-weight: 400;
  font-size: 14px;
}
.select2-container.select2-container--default .select2-results__option[aria-selected=true] {
  background-color: transparent;
}
.select2-container.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #f5f7f9;
  color: #333;
}
.select2-container.select2-container--default .select2-selection--single:focus {
  outline: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.select2-container.select2-container--default.select2-container--focus .select2-selection--multiple {
  border: 1px solid #e0e0e0;
}
.select2-container .select2-selection--multiple {
  min-height: 32px;
}
.select2-container.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color: #f5f7f9;
  border: 1px solid #e5e7e9;
  margin-right: 5px;
  margin-top: 5px;
  padding: 0 5px;
}
.select2-container.select2-container--default .select2-selection--multiple .select2-selection__rendered {
  padding-bottom: 5px;
  display: block;
}
/*------------------------------------------------------------------
[18. Google Maps]
*/
.gmap {
  background-color: #fff;
  padding: 0;
  z-index: 0;
  width: 100%;
  height: 400px;
  position: relative;
  overflow: hidden;
}
.overlay .gmap {
  background-color: #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
}
/*------------------------------------------------------------------
[19. Divider]
*/
.divider {
  display: block;
  margin: 20px 0;
  width: 100%;
  position: relative;
  overflow: hidden;
  height: 2px;
}
.divider::before,
.divider::after {
  content: '';
  height: 1px;
  width: 37px;
  position: absolute;
  background-color: #e5e7e9;
  transition: all .5s ease;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
}
.divider.divider-left::after,
.divider.divider-right::after {
  transition-delay: .1s;
  -webkit-transition-delay: .1s;
  -moz-transition-delay: .1s;
}
.divider.divider-center::before {
  top: 0;
  right: 50%;
  margin-right: -7px;
}
.divider.divider-center::after {
  bottom: 0;
  left: 50%;
  margin-left: -7px;
}
.divider.divider-left::before {
  top: 0;
  left: 0;
}
.divider.divider-left::after {
  bottom: 0;
  left: 0;
  margin-left: -23px;
}
.divider.divider-right::before {
  top: 0;
  right: 0;
}
.divider.divider-right::after {
  bottom: 0;
  right: 0;
  margin-right: -23px;
}
/* Animate Divider */
.animate-divider:hover .divider::before,
.animate-divider:hover .divider::after {
  width: 54px;
}
.animate-divider:hover .divider.divider-center::before,
.animate-divider:hover .divider.divider-center::after {
  width: 30px;
}
/* Alternative */
.divider-alt {
  display: block;
  margin: 35px 0;
  width: 100%;
  position: relative;
  overflow: hidden;
  height: 1px;
  background-color: #e5e7e9;
}
/* Divider Color Styles */
.divider-alt.divider-light,
.divider.divider-light::before,
.divider.divider-light::after {
  background-color: #fff;
}
.divider-alt.divider-dark,
.divider.divider-dark::before,
.divider.divider-dark::after {
  background-color: #333;
}
/*------------------------------------------------------------------
[20. Back To Top]
*/
.backToTop {
  display: block;
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 38px;
  height: 38px;
  background: #000a1e;
  background: rgba(0, 10, 30, 0.7);
  cursor: pointer;
  z-index: 9000;
  font-size: 18px;
  line-height: 37px;
  text-align: center;
  color: #fff;
  border: 0;
  opacity: 0;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.backToTop.fadein {
  opacity: 1;
}
.backToTop::before,
.backToTop::after {
  content: '';
  position: absolute;
  width: 70%;
  height: 70%;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.backToTop::before {
  top: -2px;
  left: -2px;
  border-top: 2px solid #000a1e;
  border-top: 2px solid rgba(0, 10, 30, 0.7);
  border-left: 2px solid #000a1e;
  border-left: 2px solid rgba(0, 10, 30, 0.7);
}
.backToTop::after {
  bottom: -2px;
  right: -2px;
  border-bottom: 2px solid #000a1e;
  border-bottom: 2px solid rgba(0, 10, 30, 0.7);
  border-right: 2px solid #000a1e;
  border-right: 2px solid rgba(0, 10, 30, 0.7);
}
.backToTop:hover {
  background: rgba(0, 10, 30, 0.9);
}
.backToTop:hover::before,
.backToTop:hover::after {
  width: 90%;
  height: 90%;
}
.backToTop:hover::before {
  border-top-color: #000a1e;
  border-top-color: rgba(0, 10, 30, 0.9);
  border-right-color: #000a1e;
  border-right-color: rgba(0, 10, 30, 0.9);
}
.backToTop:hover::after {
  border-bottom-color: #000a1e;
  border-bottom-color: rgba(0, 10, 30, 0.9);
  border-left-color: #000a1e;
  border-left-color: rgba(0, 10, 30, 0.9);
}
/*------------------------------------------------------------------
[21. Preloaders]
*/
#preloader {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  z-index: 10001;
}
#loading-animation {
  position: absolute;
  width: 100px;
  height: 100px;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: url(images/loading-animation.gif) no-repeat center;
}
/*------------------------------------------------------------------
[22. Footer]
*/
.site-footer {
  margin: 0 auto;
  width: 100%;
}
.site-footer .container {
  position: relative;
  overflow: hidden;
}
.copyright {
  line-height: 40px;
  position: relative;
  overflow: hidden;
  padding: 10px 0;
  margin-top: 30px;
}
.site-footer .widget {
  margin-bottom: 50px;
}
.site-footer .widget li {
  margin-top: 5px;
}
.site-footer .widget li:first-of-type {
  margin-top: 0;
}
.site-footer.text-white .widget a,
.site-footer.text-white .widget i {
  color: #fff;
}
.site-footer.text-white .widget-title {
  color: #fff;
  border-bottom: 1px solid #cfcfcf;
}
.site-footer.text-white .widget-title::before,
.site-footer.text-white .widget-title::after {
  background: #fff;
}
.horizontal-nav ul {
  margin-bottom: 0;
}
.horizontal-nav li {
  display: inline-block;
  margin-right: 37px;
}
.horizontal-nav li:last-of-type {
  margin-right: 0;
}
.horizontal-nav li a {
  color: #fff;
}
.horizontal-nav.text-dark li a {
  color: #333;
}
/*------------------------------------------------------------------
[23. Sidebar & Widgets]
*/
.layout-sidebar-left {
  padding-left: 30px;
}
.layout-sidebar-right {
  padding-right: 30px;
}
.layout-sidebar-both {
  padding-left: 30px;
  padding-right: 30px;
}
.sidebar,
.widget-area {
  overflow: hidden;
}
.widget {
  margin-bottom: 50px;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  text-align: left;
}
.widget-title {
  position: relative;
  margin: 0;
  margin-bottom: 15px;
  margin-right: -2px;
  padding: 0;
  padding-bottom: 15px;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  border-bottom: 1px solid #e5e7e9;
}
.widget-title::before,
.widget-title::after {
  content: '';
  position: absolute;
  height: 1px;
  background: #333;
  left: 0;
}
.widget-title::before {
  width: 37px;
  bottom: -1px;
}
.widget-title::after {
  width: 14px;
  bottom: -2px;
}
.widget ul,
.widget ol {
  list-style: none;
}
.widget li {
  padding: 0;
  margin: 0;
  margin-top: 10px;
  width: 100%;
  position: relative;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.widget li:first-of-type {
  margin-top: 0;
}
.widget a {
  color: #777;
  position: relative;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.widget a:hover {
  color: #333;
}
.widget_recent_entries li a,
.widget_nav_menu ul li a,
.widget_categories li a,
.widget_recent_comments li a,
.widget_pages li a,
.widget_meta li a,
.widget_rss li a,
.widget_archive li a {
  display: block;
  font-weight: 400;
  width: 100%;
}
.recentcomments a {
  display: inline !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* Tagcloud widget */
.widget .tagcloud {
  overflow: hidden;
}
.widget .tagcloud a {
  border: 1px solid #e5e7e9;
  background: #f5f7f9;
  color: #777;
  float: left;
  margin: 0px 8px 8px 0px;
  width: auto;
  padding: 4px 8px;
  display: inline-block;
  font-size: 14px !important;
}
.widget .tagcloud a:hover {
  background: #fefefe;
  color: #333;
}
/* Social widget */
.widget_social_links {
  margin-bottom: 30px;
}
.wrap-social {
  text-align: center;
  position: relative;
  overflow: hidden;
}
.wrap-social ul {
  display: table;
  margin: 0 auto;
}
.wrap-social li {
  display: inline-block;
  padding: 0;
  margin: 5px !important;
  position: relative;
  overflow: hidden;
  width: 40px;
}
.wrap-social li a {
  margin: 0;
}
/* Widget - Filter Size */
.widget_filter_size {
  margin-bottom: 40px;
}
.filter-size-container {
  font-size: 0;
}
.filter-size-container .row {
  margin-left: -5px;
  margin-right: -5px;
}
.filter-size-box {
  display: block;
  float: left;
  width: 32px;
  height: 32px;
  border: 1px solid #e5e7e9;
  margin: 0 5px 10px;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  color: #555;
  background-color: #f5f7f9;
  font-size: 12px;
  line-height: 30px;
  text-align: center;
  text-transform: uppercase;
}
.filter-size-box:hover,
.filter-size-box:focus {
  background-color: #e5e7e9;
  border-color: #d9d8da;
  color: #303030;
}
.filter-size-box.active {
  background: #ef4136;
}
.filter-size-box.active,
.filter-size-box.active:hover,
.filter-size-box.active:focus {
  color: #fff;
  cursor: default;
}
/* Widget - Filter Color */
.widget_filter_color {
  margin-bottom: 40px;
}
.filter-color-container {
  font-size: 0;
}
.filter-color-container .row {
  margin-left: -5px;
  margin-right: -5px;
}
.filter-color-box {
  display: block;
  position: relative;
  float: left;
  width: 32px;
  height: 32px;
  margin: 0 5px 10px;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  border-radius: 16px;
}
.filter-color-box::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 24px;
  height: 24px;
  margin: auto;
  border: 2px solid #fff;
  border-radius: 12px;
  opacity: 0;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
}
.filter-color-box.active::before,
.filter-color-box:hover::before,
.filter-color-box:focus::before {
  opacity: 1;
}
/* Filter Brand */
.filter-brand-list a span {
  float: right;
}
/*------------------------------------------------------------------
[24. Isotope Transitions]
*/
.masonry-thumbs {
  margin-right: -1px;
}
.masonry-thumbs .isotope-item {
  padding-bottom: 1px;
  padding-right: 1px;
}
/**** Isotope Filtering ****/
.isotope-item {
  z-index: 2;
}
.isotope-hidden.isotope-item {
  pointer-events: none;
  z-index: 1;
}
/**** Isotope CSS3 transitions ****/
.isotope,
.isotope .isotope-item {
  -webkit-transition-duration: 0.8s;
  -moz-transition-duration: 0.8s;
  -ms-transition-duration: 0.8s;
  -o-transition-duration: 0.8s;
  transition-duration: 0.8s;
}
.isotope {
  -webkit-transition-property: height, width;
  -moz-transition-property: height, width;
  -ms-transition-property: height, width;
  -o-transition-property: height, width;
  transition-property: height, width;
}
.isotope .isotope-item {
  -webkit-transition-property: -webkit-transform, opacity;
  -moz-transition-property: -moz-transform, opacity;
  -ms-transition-property: -ms-transform, opacity;
  -o-transition-property: -o-transform, opacity;
  transition-property: transform, opacity;
}
/**** disabling Isotope CSS3 transitions ****/
.isotope.no-transition,
.isotope.no-transition .isotope-item,
.isotope .isotope-item.no-transition {
  -webkit-transition-duration: 0s;
  -moz-transition-duration: 0s;
  -ms-transition-duration: 0s;
  -o-transition-duration: 0s;
  transition-duration: 0s;
}
/*------------------------------------------------------------------
[25. Other]
*/
/* FAQ List */
.faqlist li {
  margin-bottom: 5px;
  font-size: 15px;
}
.faqlist li a {
  color: #474747;
}
.faqlist li a:hover {
  color: #00bcd4;
}
/* Mobile Image */
.mobile-image {
  display: none;
}
/* Table */
.table {
  border-color: #e5e7e9;
  text-align: left;
}
.table > thead > tr > th {
  background: #f5f7f9;
  color: #333;
  border-bottom: 0;
  font-size: 14px;
  text-transform: none;
  border-color: #e5e7e9;
}
.table > thead > tr > th,
.table > tbody > tr > td {
  font-size: 15px;
  font-weight: 400;
  padding: 15px 20px;
}
.table-striped > tbody > tr:nth-child(odd) > td,
.table-striped > tbody > tr:nth-child(odd) > th {
  background: #fff;
}
.table-striped > tbody > tr:nth-child(even) > td,
.table-striped > tbody > tr:nth-child(even) > th {
  background: #f5f7f9;
}
.table > tbody > tr > td,
.table > tbody > tr > th,
.table > tfoot > tr > td,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > thead > tr > th {
  padding: 15px 20px;
  border-top: 0;
}
.table.small-padding > tbody > tr > td,
.table.small-padding > tbody > tr > th,
.table.small-padding > tfoot > tr > td,
.table.small-padding > tfoot > tr > th,
.table.small-padding > thead > tr > td,
.table.small-padding > thead > tr > th {
  padding: 10px 15px;
}
.table-hover > tbody > tr:hover {
  background-color: #f5f7f9;
}
/* Mouse icon */
.mouse-icon {
  position: absolute;
  border: 2px solid #fff;
  border-radius: 16px;
  height: 50px;
  width: 30px;
  bottom: 70px;
  left: 50%;
  margin: 0 auto;
  margin-left: -15px;
  display: block;
  z-index: 100;
}
.mouse-icon .wheel {
  -webkit-animation-name: drop;
  -webkit-animation-duration: 1s;
  -webkit-animation-timing-function: linear;
  -webkit-animation-delay: 0s;
  -webkit-animation-iteration-count: infinite;
  -webkit-animation-play-state: running;
  animation-name: drop;
  animation-duration: 1s;
  animation-timing-function: linear;
  animation-delay: 0s;
  animation-iteration-count: infinite;
  animation-play-state: running;
}
.mouse-icon .wheel {
  position: relative;
  border-radius: 10px;
  background: #fff;
  width: 4px;
  height: 10px;
  top: 4px;
  margin-left: auto;
  margin-right: auto;
}
.mouse-icon.dark {
  border: 2px solid #000;
}
.mouse-icon.dark .wheel {
  background: #000;
}
@-webkit-keyframes drop {
  0% {
    top: 5px;
    opacity: 0;
  }
  30% {
    top: 10px;
    opacity: 1;
  }
  100% {
    top: 25px;
    opacity: 0;
  }
}
@keyframes drop {
  0% {
    top: 5px;
    opacity: 0;
  }
  30% {
    top: 10px;
    opacity: 1;
  }
  100% {
    top: 25px;
    opacity: 0;
  }
}
/* Play Button */
.play-button {
  width: 80px;
  height: 80px;
  line-height: 76px;
  font-size: 50px;
  color: #fff;
  border: 2px solid #fff;
  background: rgba(255, 255, 255, 0.21);
  box-shadow: 0 0 0 7px rgba(255, 255, 255, 0.21);
  text-align: center;
  margin: 0 auto;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -40px;
  margin-left: -40px;
  z-index: 4;
  border-radius: 50%;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  cursor: pointer;
}
.play-button i {
  color: #fff;
  position: relative;
  right: -3px;
}
.play-button:hover {
  transform: scale(1.1);
  -webkit-transform: scale(1.1);
}
.play-button.large {
  height: 120px;
  line-height: 116px;
  width: 120px;
  font-size: 82px;
  margin-top: -60px;
  margin-left: -60px;
}
.play-button.large i {
  right: -6px;
}
.play-button.inline {
  position: relative;
  top: 0;
  left: 0;
  margin-top: 0;
  margin-left: 0;
  display: inline-block;
  z-index: 0;
}
.play-button.dark {
  border-color: #333;
  color: #333;
  background: rgba(0, 0, 0, 0.13);
  box-shadow: 0 0 0 7px rgba(0, 20, 0, 0.13);
}
.play-button.dark i {
  color: #333;
}
@media (max-width: 992px) {
  .xs-text-left {
    text-align: left !important;
  }
  .xs-text-right {
    text-align: right !important;
  }
  .xs-text-center {
    text-align: center !important;
  }
  .xs-text-justify {
    text-align: justify !important;
  }
}
/* Show Grid */
.show-grid {
  border: 1px solid rgba(255, 255, 255, 0);
  padding: 10px;
  transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  cursor: default;
}
.show-grid:hover {
  border-color: #333;
}
/* Other */
.error-number {
  font-size: 130px;
  font-family: 'Open Sans', "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 140px;
}
/*------------------------------------------------------------------
[26. Helper Classes]
*/
/*------------------------------------------------------------------
[26.1 Different]
*/
/* Text Align */
.text-left {
  text-align: left !important;
}
.text-right {
  text-align: right !important;
}
.text-center {
  text-align: center !important;
}
.text-justify {
  text-align: justify !important;
}
/* Font Weights */
.font-thin {
  font-weight: 100 !important;
}
.font-extralight {
  font-weight: 200 !important;
}
.font-light {
  font-weight: 300 !important;
}
.font-normal {
  font-weight: 400 !important;
}
.font-medium {
  font-weight: 500 !important;
}
.font-semibold {
  font-weight: 600 !important;
}
.font-bold {
  font-weight: 700 !important;
}
.font-extrabold {
  font-weight: 800 !important;
}
.font-ultrabold {
  font-weight: 900 !important;
}
/* Font Sizes */
.font-large {
  font-size: 72px;
  line-height: 80px;
}
.font-xlarge {
  font-size: 82px;
  line-height: 90px;
}
.font-xxlarge {
  font-size: 92px;
  line-height: 100px;
}
/* Font Styles */
.font-italic {
  font-style: italic;
}
/* Font */
.font-opensans {
  font-family: 'Open Sans', sans-serif;
}
/* Image */
.img-rounded {
  border-radius: 100%;
}
.img-center {
  display: block;
  margin: 0 auto;
}
.img-shadow {
  box-shadow: 0 0 7px rgba(10, 20, 30, 0.2);
}
.img-md {
  max-height: 120px;
}
.img-small {
  max-height: 80px;
}
.img-xs {
  max-height: 50px;
}
/* Vertical */
.vertical-top {
  vertical-align: top !important;
}
.vertical-middle {
  vertical-align: middle !important;
}
.vertical-bottom {
  vertical-align: bottom !important;
}
/* Display */
.display-block {
  display: block;
}
.display-table {
  display: table;
}
/* Opacity */
.opacity-100 {
  opacity: 1;
}
.opacity-95 {
  opacity: 0.95;
}
.opacity-90 {
  opacity: 0.9;
}
.opacity-85 {
  opacity: 0.85;
}
.opacity-80 {
  opacity: 0.8;
}
.opacity-75 {
  opacity: 0.75;
}
.opacity-70 {
  opacity: 0.70;
}
.opacity-65 {
  opacity: 0.65;
}
.opacity-60 {
  opacity: 0.60;
}
.opacity-55 {
  opacity: 0.55;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-45 {
  opacity: 0.45;
}
.opacity-40 {
  opacity: 0.4;
}
.opacity-35 {
  opacity: 0.35;
}
.opacity-30 {
  opacity: 0.3;
}
.opacity-25 {
  opacity: 0.25;
}
.opacity-20 {
  opacity: 0.2;
}
.opacity-15 {
  opacity: 0.15;
}
.opacity-10 {
  opacity: 0.1;
}
.opacity-5 {
  opacity: 0.05;
}
.opacity-0 {
  opacity: 0;
}
/* Border */
.noborder {
  border: none;
}
.notopborder {
  border-top: none;
}
.nobottomborder {
  border-bottom: none;
}
.noleftborder {
  border-left: none;
}
.norightborder {
  border-right: none;
}
.bordertop {
  border-top: 1px solid #e5e7e9;
}
.borderbottom {
  border-bottom: 1px solid #e5e7e9;
}
.bordertop.border-white,
.borderbottom.border-white {
  border-color: #fff;
}
.bordertop.border-black,
.borderbottom.border-black {
  border-color: #000;
}
/* Floating */
.float-left {
  float: left !important;
}
.float-right {
  float: right !important;
}
.float-none {
  float: none !important;
}
.center {
  margin-left: auto;
  margin-right: auto;
  display: block;
}
/* Other */
.empty-space {
  width: 100%;
  height: 50px;
  overflow: hidden;
}
.photo-image {
  max-width: 350px;
  margin: 0 auto;
}
.height-auto {
  height: auto !important;
}
.separator {
  margin: 0 10px;
}
.overflow-hidden {
  overflow: hidden;
}
.clear {
  clear: both;
}
.position-relative {
  position: relative !important;
}
/*------------------------------------------------------------------
[26.2 Spacing]
*/
/* Margin */
.margincenter {
  margin-left: auto;
  margin-right: auto;
}
.nomargin {
  margin: 0 !important;
}
.margin-10 {
  margin: 10px;
}
.margin-15 {
  margin: 15px;
}
.margin-20 {
  margin: 20px;
}
.margin-25 {
  margin: 25px;
}
.margin-30 {
  margin: 30px;
}
/* Margin Left */
.noleftmargin {
  margin-left: 0 !important;
}
.marginleft-5 {
  margin-left: 5px;
}
.marginleft-10 {
  margin-left: 10px;
}
.marginleft-20 {
  margin-left: 20px;
}
.marginleft-30 {
  margin-left: 30px;
}
.marginleft-40 {
  margin-left: 40px;
}
.marginleft-50 {
  margin-left: 50px;
}
/* Margin Right */
.norightmargin {
  margin-right: 0 !important;
}
.marginright-5 {
  margin-right: 5px;
}
.marginright-10 {
  margin-right: 10px;
}
.marginright-20 {
  margin-right: 20px;
}
.marginright-30 {
  margin-right: 30px;
}
.marginright-40 {
  margin-right: 40px;
}
.marginright-50 {
  margin-right: 50px;
}
/* Margin Bottom */
.nobottommargin {
  margin-bottom: 0;
}
.marginbottom-1 {
  margin-bottom: 1px;
}
.marginbottom-5 {
  margin-bottom: 5px;
}
.marginbottom-10 {
  margin-bottom: 10px;
}
.marginbottom-15 {
  margin-bottom: 15px;
}
.marginbottom-20 {
  margin-bottom: 20px;
}
.marginbottom-25 {
  margin-bottom: 25px;
}
.marginbottom-30 {
  margin-bottom: 30px;
}
.marginbottom-35 {
  margin-bottom: 35px;
}
.marginbottom-40 {
  margin-bottom: 40px;
}
.marginbottom-45 {
  margin-bottom: 45px;
}
.marginbottom-50 {
  margin-bottom: 50px;
}
.marginbottom-55 {
  margin-bottom: 55px;
}
.marginbottom-60 {
  margin-bottom: 60px;
}
.marginbottom-65 {
  margin-bottom: 65px;
}
.marginbottom-70 {
  margin-bottom: 70px;
}
.marginbottom-80 {
  margin-bottom: 80px;
}
.marginbottom-90 {
  margin-bottom: 90px;
}
.marginbottom-100 {
  margin-bottom: 100px;
}
.marginbottom-110 {
  margin-bottom: 110px;
}
.marginbottom-120 {
  margin-bottom: 120px;
}
.marginbottom-130 {
  margin-bottom: 130px;
}
.marginbottom-140 {
  margin-bottom: 140px;
}
.marginbottom-150 {
  margin-bottom: 150px;
}
.marginbottom-160 {
  margin-bottom: 160px;
}
.marginbottom-170 {
  margin-bottom: 170px;
}
.marginbottom-180 {
  margin-bottom: 180px;
}
.marginbottom-190 {
  margin-bottom: 190px;
}
.marginbottom-200 {
  margin-bottom: 200px;
}
.marginbottom-210 {
  margin-bottom: 210px;
}
/* Margin Top */
.notopmargin {
  margin-top: 0 !important;
}
.margintop-1 {
  margin-top: 1px;
}
.margintop-5 {
  margin-top: 5px;
}
.margintop-10 {
  margin-top: 10px;
}
.margintop-15 {
  margin-top: 15px;
}
.margintop-20 {
  margin-top: 20px;
}
.margintop-25 {
  margin-top: 25px;
}
.margintop-30 {
  margin-top: 30px;
}
.margintop-35 {
  margin-top: 35px;
}
.margintop-40 {
  margin-top: 40px;
}
.margintop-45 {
  margin-top: 45px;
}
.margintop-50 {
  margin-top: 50px;
}
.margintop-55 {
  margin-top: 55px;
}
.margintop-60 {
  margin-top: 60px;
}
.margintop-65 {
  margin-top: 65px;
}
.margintop-70 {
  margin-top: 70px;
}
.margintop-80 {
  margin-top: 80px;
}
.margintop-90 {
  margin-top: 90px;
}
.margintop-100 {
  margin-top: 100px;
}
.margintop-110 {
  margin-top: 110px;
}
.margintop-120 {
  margin-top: 120px;
}
.margintop-130 {
  margin-top: 130px;
}
.margintop-140 {
  margin-top: 140px;
}
.margintop-150 {
  margin-top: 150px;
}
.margintop-160 {
  margin-top: 160px;
}
.margintop-170 {
  margin-top: 170px;
}
.margintop-180 {
  margin-top: 180px;
}
.margintop-190 {
  margin-top: 190px;
}
.margintop-200 {
  margin-top: 200px;
}
.margintop-210 {
  margin-top: 210px;
}
/* Padding */
.nopadding {
  padding: 0 !important;
}
.padding-10 {
  padding: 10px !important;
}
.padding-15 {
  padding: 15px !important;
}
.padding-20 {
  padding: 20px !important;
}
.padding-25 {
  padding: 25px !important;
}
.padding-30 {
  padding: 30px !important;
}
/* Padding Left */
.noleftpadding {
  padding-left: 0 !important;
}
.paddingleft-5 {
  padding-left: 5px;
}
.paddingleft-10 {
  padding-left: 10px;
}
.paddingleft-15 {
  padding-left: 15px;
}
.paddingleft-20 {
  padding-left: 20px;
}
.paddingleft-30 {
  padding-left: 30px;
}
/* Padding Right */
.norightpadding {
  padding-right: 0 !important;
}
.paddingright-5 {
  padding-right: 5px;
}
.paddingright-10 {
  padding-right: 10px;
}
.paddingright-15 {
  padding-right: 15px;
}
.paddingright-20 {
  padding-right: 20px;
}
.paddingright-30 {
  padding-right: 30px;
}
/* Padding Top */
.notoppadding {
  padding-top: 0 !important;
}
.paddingtop-5 {
  padding-top: 5px;
}
.paddingtop-10 {
  padding-top: 10px;
}
.paddingtop-15 {
  padding-top: 15px;
}
.paddingtop-20 {
  padding-top: 20px;
}
.paddingtop-25 {
  padding-top: 25px;
}
.paddingtop-30 {
  padding-top: 30px;
}
.paddingtop-35 {
  padding-top: 35px;
}
.paddingtop-40 {
  padding-top: 40px;
}
.paddingtop-45 {
  padding-top: 45px;
}
.paddingtop-50 {
  padding-top: 50px;
}
.paddingtop-55 {
  padding-top: 55px;
}
.paddingtop-60 {
  padding-top: 60px;
}
.paddingtop-65 {
  padding-top: 65px;
}
.paddingtop-70 {
  padding-top: 70px;
}
.paddingtop-75 {
  padding-top: 75px;
}
.paddingtop-80 {
  padding-top: 80px;
}
.paddingtop-90 {
  padding-top: 90px;
}
.paddingtop-100 {
  padding-top: 100px;
}
.paddingtop-110 {
  padding-top: 110px;
}
.paddingtop-120 {
  padding-top: 120px;
}
.paddingtop-130 {
  padding-top: 130px;
}
.paddingtop-140 {
  padding-top: 140px;
}
.paddingtop-150 {
  padding-top: 150px;
}
.paddingtop-160 {
  padding-top: 160px;
}
.paddingtop-170 {
  padding-top: 170px;
}
.paddingtop-180 {
  padding-top: 180px;
}
.paddingtop-190 {
  padding-top: 190px;
}
.paddingtop-200 {
  padding-top: 200px;
}
.paddingtop-210 {
  padding-top: 210px;
}
.paddingtop-220 {
  padding-top: 220px;
}
.paddingtop-230 {
  padding-top: 230px;
}
.paddingtop-240 {
  padding-top: 240px;
}
.paddingtop-250 {
  padding-top: 250px;
}
.paddingtop-260 {
  padding-top: 260px;
}
.paddingtop-270 {
  padding-top: 270px;
}
.paddingtop-280 {
  padding-top: 280px;
}
.paddingtop-290 {
  padding-top: 290px;
}
.paddingtop-300 {
  padding-top: 300px;
}
.paddingtop-340 {
  padding-top: 340px;
}
.paddingtop-370 {
  padding-top: 370px;
}
.paddingtop-390 {
  padding-top: 390px;
}
/* Padding Bottom */
.nobottompadding {
  padding-bottom: 0 !important;
}
.paddingbottom-5 {
  padding-bottom: 5px;
}
.paddingbottom-10 {
  padding-bottom: 10px;
}
.paddingbottom-15 {
  padding-bottom: 15px;
}
.paddingbottom-20 {
  padding-bottom: 20px;
}
.paddingbottom-25 {
  padding-bottom: 25px;
}
.paddingbottom-30 {
  padding-bottom: 30px;
}
.paddingbottom-35 {
  padding-bottom: 35px;
}
.paddingbottom-40 {
  padding-bottom: 40px;
}
.paddingbottom-45 {
  padding-bottom: 45px;
}
.paddingbottom-50 {
  padding-bottom: 50px;
}
.paddingbottom-55 {
  padding-bottom: 55px;
}
.paddingbottom-60 {
  padding-bottom: 60px;
}
.paddingbottom-65 {
  padding-bottom: 65px;
}
.paddingbottom-70 {
  padding-bottom: 70px;
}
.paddingbottom-75 {
  padding-bottom: 75px;
}
.paddingbottom-80 {
  padding-bottom: 80px;
}
.paddingbottom-90 {
  padding-bottom: 90px;
}
.paddingbottom-100 {
  padding-bottom: 100px;
}
.paddingbottom-110 {
  padding-bottom: 110px;
}
.paddingbottom-120 {
  padding-bottom: 120px;
}
.paddingbottom-130 {
  padding-bottom: 130px;
}
.paddingbottom-140 {
  padding-bottom: 140px;
}
.paddingbottom-150 {
  padding-bottom: 150px;
}
.paddingbottom-160 {
  padding-bottom: 160px;
}
.paddingbottom-170 {
  padding-bottom: 170px;
}
.paddingbottom-180 {
  padding-bottom: 180px;
}
.paddingbottom-190 {
  padding-bottom: 190px;
}
.paddingbottom-200 {
  padding-bottom: 200px;
}
.paddingbottom-210 {
  padding-bottom: 210px;
}
.paddingbottom-220 {
  padding-bottom: 220px;
}
.paddingbottom-230 {
  padding-bottom: 230px;
}
.paddingbottom-240 {
  padding-bottom: 240px;
}
.paddingbottom-250 {
  padding-bottom: 250px;
}
.paddingbottom-260 {
  padding-bottom: 260px;
}
.paddingbottom-270 {
  padding-bottom: 270px;
}
.paddingbottom-280 {
  padding-bottom: 280px;
}
.paddingbottom-290 {
  padding-bottom: 290px;
}
.paddingbottom-300 {
  padding-bottom: 300px;
}
.paddingbottom-370 {
  padding-bottom: 370px;
}
/* Mobile Spacing - Extra Small - Phones Less than 768px */
@media (max-width: 768px) {
  .xs-margincenter {
    margin-left: auto;
    margin-right: auto;
  }
  .xs-nomargin {
    margin: 0 !important;
  }
  .xs-m-10 {
    margin: 10px;
  }
  .xs-m-15 {
    margin: 15px;
  }
  .xs-m-20 {
    margin: 20px;
  }
  .xs-m-25 {
    margin: 25px;
  }
  .xs-m-30 {
    margin: 30px;
  }
  /* Margin Left */
  .xs-noleftmargin {
    margin-left: 0 !important;
  }
  .xs-mr-5 {
    margin-left: 5px;
  }
  .xs-mr-10 {
    margin-left: 10px;
  }
  .xs-mr-20 {
    margin-left: 20px;
  }
  .xs-mr-30 {
    margin-left: 30px;
  }
  .xs-mr-40 {
    margin-left: 40px;
  }
  .xs-mr-50 {
    margin-left: 50px;
  }
  /* Margin Right */
  .xs-norightmargin {
    margin-right: 0 !important;
  }
  .xs-mr-5 {
    margin-right: 5px;
  }
  .xs-mr-10 {
    margin-right: 10px;
  }
  .xs-mr-20 {
    margin-right: 20px;
  }
  .xs-mr-30 {
    margin-right: 30px;
  }
  .xs-mr-40 {
    margin-right: 40px;
  }
  .xs-mr-50 {
    margin-right: 50px;
  }
  /* Margin Bottom */
  .xs-nobottommargin {
    margin-bottom: 0 !important;
  }
  .xs-mb-1 {
    margin-bottom: 1px;
  }
  .xs-mb-5 {
    margin-bottom: 5px;
  }
  .xs-mb-10 {
    margin-bottom: 10px;
  }
  .xs-mb-15 {
    margin-bottom: 15px;
  }
  .xs-mb-20 {
    margin-bottom: 20px;
  }
  .xs-mb-25 {
    margin-bottom: 25px;
  }
  .xs-mb-30 {
    margin-bottom: 30px;
  }
  .xs-mb-35 {
    margin-bottom: 35px;
  }
  .xs-mb-40 {
    margin-bottom: 40px;
  }
  .xs-mb-45 {
    margin-bottom: 45px;
  }
  .xs-mb-50 {
    margin-bottom: 50px;
  }
  .xs-mb-55 {
    margin-bottom: 55px;
  }
  .xs-mb-60 {
    margin-bottom: 60px;
  }
  .xs-mb-65 {
    margin-bottom: 65px;
  }
  .xs-mb-70 {
    margin-bottom: 70px;
  }
  .xs-mb-80 {
    margin-bottom: 80px;
  }
  .xs-mb-90 {
    margin-bottom: 90px;
  }
  .xs-mb-100 {
    margin-bottom: 100px;
  }
  .xs-mb-110 {
    margin-bottom: 110px;
  }
  .xs-mb-120 {
    margin-bottom: 120px;
  }
  .xs-mb-130 {
    margin-bottom: 130px;
  }
  .xs-mb-140 {
    margin-bottom: 140px;
  }
  .xs-mb-150 {
    margin-bottom: 150px;
  }
  .xs-mb-160 {
    margin-bottom: 160px;
  }
  .xs-mb-170 {
    margin-bottom: 170px;
  }
  .xs-mb-180 {
    margin-bottom: 180px;
  }
  .xs-mb-190 {
    margin-bottom: 190px;
  }
  .xs-mb-200 {
    margin-bottom: 200px;
  }
  .xs-mb-210 {
    margin-bottom: 210px;
  }
  /* Margin Top */
  .xs-notopmargin {
    margin-top: 0 !important;
  }
  .xs-mt-1 {
    margin-top: 1px;
  }
  .xs-mt-5 {
    margin-top: 5px;
  }
  .xs-mt-10 {
    margin-top: 10px;
  }
  .xs-mt-15 {
    margin-top: 15px;
  }
  .xs-mt-20 {
    margin-top: 20px;
  }
  .xs-mt-25 {
    margin-top: 25px;
  }
  .xs-mt-30 {
    margin-top: 30px;
  }
  .xs-mt-35 {
    margin-top: 35px;
  }
  .xs-mt-40 {
    margin-top: 40px;
  }
  .xs-mt-45 {
    margin-top: 45px;
  }
  .xs-mt-50 {
    margin-top: 50px;
  }
  .xs-mt-55 {
    margin-top: 55px;
  }
  .xs-mt-60 {
    margin-top: 60px;
  }
  .xs-mt-65 {
    margin-top: 65px;
  }
  .xs-mt-70 {
    margin-top: 70px;
  }
  .xs-mt-80 {
    margin-top: 80px;
  }
  .xs-mt-90 {
    margin-top: 90px;
  }
  .xs-mt-100 {
    margin-top: 100px;
  }
  .xs-mt-110 {
    margin-top: 110px;
  }
  .xs-mt-120 {
    margin-top: 120px;
  }
  .xs-mt-130 {
    margin-top: 130px;
  }
  .xs-mt-140 {
    margin-top: 140px;
  }
  .xs-mt-150 {
    margin-top: 150px;
  }
  .xs-mt-160 {
    margin-top: 160px;
  }
  .xs-mt-170 {
    margin-top: 170px;
  }
  .xs-mt-180 {
    margin-top: 180px;
  }
  .xs-mt-190 {
    margin-top: 190px;
  }
  .xs-mt-200 {
    margin-top: 200px;
  }
  .xs-mt-210 {
    margin-top: 210px;
  }
  /* Padding */
  .xs-nopadding {
    padding: 0 !important;
  }
  .xs-p-10 {
    padding: 10px;
  }
  .xs-p-15 {
    padding: 15px;
  }
  .xs-p-20 {
    padding: 20px;
  }
  .xs-p-25 {
    padding: 25px;
  }
  .xs-p-30 {
    padding: 30px;
  }
  /* Padding Left */
  .xs-noleftpadding {
    padding-left: 0 !important;
  }
  .xs-pl-5 {
    padding-left: 5px;
  }
  .xs-pl-10 {
    padding-left: 10px;
  }
  .xs-pl-20 {
    padding-left: 20px;
  }
  .xs-pl-30 {
    padding-left: 30px;
  }
  /* Padding Right */
  .xs-norightpadding {
    padding-right: 0 !important;
  }
  .xs-pr-5 {
    padding-right: 5px;
  }
  .xs-pr-10 {
    padding-right: 10px;
  }
  .xs-pr-20 {
    padding-right: 20px;
  }
  .xs-pr-30 {
    padding-right: 30px;
  }
  /* Padding Top */
  .xs-notoppadding {
    padding-top: 0 !important;
  }
  .xs-pt-5 {
    padding-top: 5px;
  }
  .xs-pt-10 {
    padding-top: 10px;
  }
  .xs-pt-15 {
    padding-top: 15px;
  }
  .xs-pt-20 {
    padding-top: 20px;
  }
  .xs-pt-25 {
    padding-top: 25px;
  }
  .xs-pt-30 {
    padding-top: 30px;
  }
  .xs-pt-35 {
    padding-top: 35px;
  }
  .xs-pt-40 {
    padding-top: 40px;
  }
  .xs-pt-45 {
    padding-top: 45px;
  }
  .xs-pt-50 {
    padding-top: 50px;
  }
  .xs-pt-55 {
    padding-top: 55px;
  }
  .xs-pt-60 {
    padding-top: 60px;
  }
  .xs-pt-65 {
    padding-top: 65px;
  }
  .xs-pt-70 {
    padding-top: 70px;
  }
  .xs-pt-75 {
    padding-top: 75px;
  }
  .xs-pt-80 {
    padding-top: 80px;
  }
  .xs-pt-90 {
    padding-top: 90px;
  }
  .xs-pt-100 {
    padding-top: 100px;
  }
  .xs-pt-110 {
    padding-top: 110px;
  }
  .xs-pt-120 {
    padding-top: 120px;
  }
  .xs-pt-130 {
    padding-top: 130px;
  }
  .xs-pt-140 {
    padding-top: 140px;
  }
  .xs-pt-150 {
    padding-top: 150px;
  }
  .xs-pt-160 {
    padding-top: 160px;
  }
  .xs-pt-170 {
    padding-top: 170px;
  }
  .xs-pt-180 {
    padding-top: 180px;
  }
  .xs-pt-190 {
    padding-top: 190px;
  }
  .xs-pt-200 {
    padding-top: 200px;
  }
  .xs-pt-210 {
    padding-top: 210px;
  }
  .xs-pt-220 {
    padding-top: 220px;
  }
  .xs-pt-230 {
    padding-top: 230px;
  }
  .xs-pt-240 {
    padding-top: 240px;
  }
  .xs-pt-250 {
    padding-top: 250px;
  }
  .xs-pt-260 {
    padding-top: 260px;
  }
  .xs-pt-270 {
    padding-top: 270px;
  }
  .xs-pt-280 {
    padding-top: 280px;
  }
  .xs-pt-290 {
    padding-top: 290px;
  }
  .xs-pt-300 {
    padding-top: 300px;
  }
  .xs-pt-370 {
    padding-top: 370px;
  }
  /* Padding Bottom */
  .xs-nobottompadding {
    padding-bottom: 0 !important;
  }
  .xs-pb-5 {
    padding-bottom: 5px;
  }
  .xs-pb-10 {
    padding-bottom: 10px;
  }
  .xs-pb-15 {
    padding-bottom: 15px;
  }
  .xs-pb-20 {
    padding-bottom: 20px;
  }
  .xs-pb-25 {
    padding-bottom: 25px;
  }
  .xs-pb-30 {
    padding-bottom: 30px;
  }
  .xs-pb-35 {
    padding-bottom: 35px;
  }
  .xs-pb-40 {
    padding-bottom: 40px;
  }
  .xs-pb-45 {
    padding-bottom: 45px;
  }
  .xs-pb-50 {
    padding-bottom: 50px;
  }
  .xs-pb-55 {
    padding-bottom: 55px;
  }
  .xs-pb-60 {
    padding-bottom: 60px;
  }
  .xs-pb-65 {
    padding-bottom: 65px;
  }
  .xs-pb-70 {
    padding-bottom: 70px;
  }
  .xs-pb-75 {
    padding-bottom: 75px;
  }
  .xs-pb-80 {
    padding-bottom: 80px;
  }
  .xs-pb-90 {
    padding-bottom: 90px;
  }
  .xs-pb-100 {
    padding-bottom: 100px;
  }
  .xs-pb-110 {
    padding-bottom: 110px;
  }
  .xs-pb-120 {
    padding-bottom: 120px;
  }
  .xs-pb-130 {
    padding-bottom: 130px;
  }
  .xs-pb-140 {
    padding-bottom: 140px;
  }
  .xs-pb-150 {
    padding-bottom: 150px;
  }
  .xs-pb-160 {
    padding-bottom: 160px;
  }
  .xs-pb-170 {
    padding-bottom: 170px;
  }
  .xs-pb-180 {
    padding-bottom: 180px;
  }
  .xs-pb-190 {
    padding-bottom: 190px;
  }
  .xs-pb-200 {
    padding-bottom: 200px;
  }
  .xs-pb-210 {
    padding-bottom: 210px;
  }
  .xs-pb-220 {
    padding-bottom: 220px;
  }
  .xs-pb-230 {
    padding-bottom: 230px;
  }
  .xs-pb-240 {
    padding-bottom: 240px;
  }
  .xs-pb-250 {
    padding-bottom: 250px;
  }
  .xs-pb-260 {
    padding-bottom: 260px;
  }
  .xs-pb-270 {
    padding-bottom: 270px;
  }
  .xs-pb-280 {
    padding-bottom: 280px;
  }
  .xs-pb-290 {
    padding-bottom: 290px;
  }
  .xs-pb-300 {
    padding-bottom: 300px;
  }
  .xs-pb-370 {
    padding-bottom: 370px;
  }
}
/* Mobile Spacing - Small Devices - Tablets 768px and up to 991px */
@media (max-width: 991px) {
  .sm-margincenter {
    margin-left: auto;
    margin-right: auto;
  }
  .sm-nomargin {
    margin: 0 !important;
  }
  .sm-m-10 {
    margin: 10px;
  }
  .sm-m-15 {
    margin: 15px;
  }
  .sm-m-20 {
    margin: 20px;
  }
  .sm-m-25 {
    margin: 25px;
  }
  .sm-m-30 {
    margin: 30px;
  }
  /* Margin Left */
  .sm-noleftmargin {
    margin-left: 0 !important;
  }
  .sm-mr-5 {
    margin-left: 5px;
  }
  .sm-mr-10 {
    margin-left: 10px;
  }
  .sm-mr-20 {
    margin-left: 20px;
  }
  .sm-mr-30 {
    margin-left: 30px;
  }
  .sm-mr-40 {
    margin-left: 40px;
  }
  .sm-mr-50 {
    margin-left: 50px;
  }
  /* Margin Right */
  .sm-norightmargin {
    margin-right: 0 !important;
  }
  .sm-mr-5 {
    margin-right: 5px;
  }
  .sm-mr-10 {
    margin-right: 10px;
  }
  .sm-mr-20 {
    margin-right: 20px;
  }
  .sm-mr-30 {
    margin-right: 30px;
  }
  .sm-mr-40 {
    margin-right: 40px;
  }
  .sm-mr-50 {
    margin-right: 50px;
  }
  /* Margin Bottom */
  .sm-nobottommargin {
    margin-bottom: 0 !important;
  }
  .sm-mb-1 {
    margin-bottom: 1px;
  }
  .sm-mb-5 {
    margin-bottom: 5px;
  }
  .sm-mb-10 {
    margin-bottom: 10px;
  }
  .sm-mb-15 {
    margin-bottom: 15px;
  }
  .sm-mb-20 {
    margin-bottom: 20px;
  }
  .sm-mb-25 {
    margin-bottom: 25px;
  }
  .sm-mb-30 {
    margin-bottom: 30px;
  }
  .sm-mb-35 {
    margin-bottom: 35px;
  }
  .sm-mb-40 {
    margin-bottom: 40px;
  }
  .sm-mb-45 {
    margin-bottom: 45px;
  }
  .sm-mb-50 {
    margin-bottom: 50px;
  }
  .sm-mb-55 {
    margin-bottom: 55px;
  }
  .sm-mb-60 {
    margin-bottom: 60px;
  }
  .sm-mb-65 {
    margin-bottom: 65px;
  }
  .sm-mb-70 {
    margin-bottom: 70px;
  }
  .sm-mb-80 {
    margin-bottom: 80px;
  }
  .sm-mb-90 {
    margin-bottom: 90px;
  }
  .sm-mb-100 {
    margin-bottom: 100px;
  }
  .sm-mb-110 {
    margin-bottom: 110px;
  }
  .sm-mb-120 {
    margin-bottom: 120px;
  }
  .sm-mb-130 {
    margin-bottom: 130px;
  }
  .sm-mb-140 {
    margin-bottom: 140px;
  }
  .sm-mb-150 {
    margin-bottom: 150px;
  }
  .sm-mb-160 {
    margin-bottom: 160px;
  }
  .sm-mb-170 {
    margin-bottom: 170px;
  }
  .sm-mb-180 {
    margin-bottom: 180px;
  }
  .sm-mb-190 {
    margin-bottom: 190px;
  }
  .sm-mb-200 {
    margin-bottom: 200px;
  }
  .sm-mb-210 {
    margin-bottom: 210px;
  }
  /* Margin Top */
  .sm-notopmargin {
    margin-top: 0 !important;
  }
  .sm-mt-1 {
    margin-top: 1px;
  }
  .sm-mt-5 {
    margin-top: 5px;
  }
  .sm-mt-10 {
    margin-top: 10px;
  }
  .sm-mt-15 {
    margin-top: 15px;
  }
  .sm-mt-20 {
    margin-top: 20px;
  }
  .sm-mt-25 {
    margin-top: 25px;
  }
  .sm-mt-30 {
    margin-top: 30px;
  }
  .sm-mt-35 {
    margin-top: 35px;
  }
  .sm-mt-40 {
    margin-top: 40px;
  }
  .sm-mt-45 {
    margin-top: 45px;
  }
  .sm-mt-50 {
    margin-top: 50px;
  }
  .sm-mt-55 {
    margin-top: 55px;
  }
  .sm-mt-60 {
    margin-top: 60px;
  }
  .sm-mt-65 {
    margin-top: 65px;
  }
  .sm-mt-70 {
    margin-top: 70px;
  }
  .sm-mt-80 {
    margin-top: 80px;
  }
  .sm-mt-90 {
    margin-top: 90px;
  }
  .sm-mt-100 {
    margin-top: 100px;
  }
  .sm-mt-110 {
    margin-top: 110px;
  }
  .sm-mt-120 {
    margin-top: 120px;
  }
  .sm-mt-130 {
    margin-top: 130px;
  }
  .sm-mt-140 {
    margin-top: 140px;
  }
  .sm-mt-150 {
    margin-top: 150px;
  }
  .sm-mt-160 {
    margin-top: 160px;
  }
  .sm-mt-170 {
    margin-top: 170px;
  }
  .sm-mt-180 {
    margin-top: 180px;
  }
  .sm-mt-190 {
    margin-top: 190px;
  }
  .sm-mt-200 {
    margin-top: 200px;
  }
  .sm-mt-210 {
    margin-top: 210px;
  }
  /* Padding */
  .sm-nopadding {
    padding: 0 !important;
  }
  .sm-p-10 {
    padding: 10px;
  }
  .sm-p-15 {
    padding: 15px;
  }
  .sm-p-20 {
    padding: 20px;
  }
  .sm-p-25 {
    padding: 25px;
  }
  .sm-p-30 {
    padding: 30px;
  }
  /* Padding Left */
  .sm-noleftpadding {
    padding-left: 0 !important;
  }
  .sm-pl-5 {
    padding-left: 5px;
  }
  .sm-pl-10 {
    padding-left: 10px;
  }
  .sm-pl-20 {
    padding-left: 20px;
  }
  .sm-pl-30 {
    padding-left: 30px;
  }
  /* Padding Right */
  .sm-norightpadding {
    padding-right: 0 !important;
  }
  .sm-pr-5 {
    padding-right: 5px;
  }
  .sm-pr-10 {
    padding-right: 10px;
  }
  .sm-pr-20 {
    padding-right: 20px;
  }
  .sm-pr-30 {
    padding-right: 30px;
  }
  /* Padding Top */
  .sm-notoppadding {
    padding-top: 0 !important;
  }
  .sm-pt-5 {
    padding-top: 5px;
  }
  .sm-pt-10 {
    padding-top: 10px;
  }
  .sm-pt-15 {
    padding-top: 15px;
  }
  .sm-pt-20 {
    padding-top: 20px;
  }
  .sm-pt-25 {
    padding-top: 25px;
  }
  .sm-pt-30 {
    padding-top: 30px;
  }
  .sm-pt-35 {
    padding-top: 35px;
  }
  .sm-pt-40 {
    padding-top: 40px;
  }
  .sm-pt-45 {
    padding-top: 45px;
  }
  .sm-pt-50 {
    padding-top: 50px;
  }
  .sm-pt-55 {
    padding-top: 55px;
  }
  .sm-pt-60 {
    padding-top: 60px;
  }
  .sm-pt-65 {
    padding-top: 65px;
  }
  .sm-pt-70 {
    padding-top: 70px;
  }
  .sm-pt-75 {
    padding-top: 75px;
  }
  .sm-pt-80 {
    padding-top: 80px;
  }
  .sm-pt-90 {
    padding-top: 90px;
  }
  .sm-pt-100 {
    padding-top: 100px;
  }
  .sm-pt-110 {
    padding-top: 110px;
  }
  .sm-pt-120 {
    padding-top: 120px;
  }
  .sm-pt-130 {
    padding-top: 130px;
  }
  .sm-pt-140 {
    padding-top: 140px;
  }
  .sm-pt-150 {
    padding-top: 150px;
  }
  .sm-pt-160 {
    padding-top: 160px;
  }
  .sm-pt-170 {
    padding-top: 170px;
  }
  .sm-pt-180 {
    padding-top: 180px;
  }
  .sm-pt-190 {
    padding-top: 190px;
  }
  .sm-pt-200 {
    padding-top: 200px;
  }
  .sm-pt-210 {
    padding-top: 210px;
  }
  .sm-pt-220 {
    padding-top: 220px;
  }
  .sm-pt-230 {
    padding-top: 230px;
  }
  .sm-pt-240 {
    padding-top: 240px;
  }
  .sm-pt-250 {
    padding-top: 250px;
  }
  .sm-pt-260 {
    padding-top: 260px;
  }
  .sm-pt-270 {
    padding-top: 270px;
  }
  .sm-pt-280 {
    padding-top: 280px;
  }
  .sm-pt-290 {
    padding-top: 290px;
  }
  .sm-pt-300 {
    padding-top: 300px;
  }
  .sm-pt-370 {
    padding-top: 370px;
  }
  /* Padding Bottom */
  .sm-nobottompadding {
    padding-bottom: 0 !important;
  }
  .sm-pb-5 {
    padding-bottom: 5px;
  }
  .sm-pb-10 {
    padding-bottom: 10px;
  }
  .sm-pb-15 {
    padding-bottom: 15px;
  }
  .sm-pb-20 {
    padding-bottom: 20px;
  }
  .sm-pb-25 {
    padding-bottom: 25px;
  }
  .sm-pb-30 {
    padding-bottom: 30px;
  }
  .sm-pb-35 {
    padding-bottom: 35px;
  }
  .sm-pb-40 {
    padding-bottom: 40px;
  }
  .sm-pb-45 {
    padding-bottom: 45px;
  }
  .sm-pb-50 {
    padding-bottom: 50px;
  }
  .sm-pb-55 {
    padding-bottom: 55px;
  }
  .sm-pb-60 {
    padding-bottom: 60px;
  }
  .sm-pb-65 {
    padding-bottom: 65px;
  }
  .sm-pb-70 {
    padding-bottom: 70px;
  }
  .sm-pb-75 {
    padding-bottom: 75px;
  }
  .sm-pb-80 {
    padding-bottom: 80px;
  }
  .sm-pb-90 {
    padding-bottom: 90px;
  }
  .sm-pb-100 {
    padding-bottom: 100px;
  }
  .sm-pb-110 {
    padding-bottom: 110px;
  }
  .sm-pb-120 {
    padding-bottom: 120px;
  }
  .sm-pb-130 {
    padding-bottom: 130px;
  }
  .sm-pb-140 {
    padding-bottom: 140px;
  }
  .sm-pb-150 {
    padding-bottom: 150px;
  }
  .sm-pb-160 {
    padding-bottom: 160px;
  }
  .sm-pb-170 {
    padding-bottom: 170px;
  }
  .sm-pb-180 {
    padding-bottom: 180px;
  }
  .sm-pb-190 {
    padding-bottom: 190px;
  }
  .sm-pb-200 {
    padding-bottom: 200px;
  }
  .sm-pb-210 {
    padding-bottom: 210px;
  }
  .sm-pb-220 {
    padding-bottom: 220px;
  }
  .sm-pb-230 {
    padding-bottom: 230px;
  }
  .sm-pb-240 {
    padding-bottom: 240px;
  }
  .sm-pb-250 {
    padding-bottom: 250px;
  }
  .sm-pb-260 {
    padding-bottom: 260px;
  }
  .sm-pb-270 {
    padding-bottom: 270px;
  }
  .sm-pb-280 {
    padding-bottom: 280px;
  }
  .sm-pb-290 {
    padding-bottom: 290px;
  }
  .sm-pb-300 {
    padding-bottom: 300px;
  }
  .sm-pb-370 {
    padding-bottom: 370px;
  }
}
/*------------------------------------------------------------------
[27. Mobile]
*/
body.mobile {
  -webkit-text-size-adjust: none;
}
body.mobile .animated {
  display: block;
  visibility: visible;
}
body.mobile .parallax-background {
  background-position: 50% 0 !important;
  background-attachment: scroll;
}
body.mobile .main-header .top-bar {
  display: none;
}
body.mobile .pt-small {
  padding: 130px 0;
}
body.mobile .mouse-icon {
  display: none;
}
body.mobile .mobile-hidden {
  display: none;
  visibility: hidden;
}
body.mobile .fullscreen-element {
  min-height: 100% !important;
}
body.mobile .fullscreen-element,
body.mobile .fullscreen-element .section-container,
body.mobile .fullscreen-element .section-container,
body.mobile .fullscreen-element .table-container {
  display: block;
  height: auto;
}
body.mobile .main-header,
body.mobile .main-header.header-sticky {
  padding-top: 0;
  position: relative;
}
body.mobile .main-header.header-alt .header-wrapper {
  margin: 0;
}
body.mobile .main-header.transparent {
  padding-top: 0;
  background-color: #fff;
}
body.mobile .main-header.transparent,
body.mobile .main-header.semi-light {
  box-shadow: 0 0 0 1px #e5e7e9;
}
body.mobile .main-header.transparent .logo-light {
  display: none;
  visibility: hidden;
}
body.mobile .main-header.transparent .logo-dark {
  display: block;
  visibility: visible;
}
body.mobile .main-header.semi-dark {
  background-color: #000a14;
}
body.mobile .main-header .top-bar,
body.mobile .main-header .header-widget.widget-menu {
  display: none;
}
body.mobile .header-logo {
  padding: 0 25px;
}
body.mobile .main-header.style-1 .header-logo,
body.mobile .main-header.style-1.transparent-dark .header-logo {
  box-shadow: 1px 0 0 #e5e7e9;
  background: transparent;
}
body.mobile .main-header.style-1.dark .header-logo,
body.mobile .main-header.style-1.semi-dark .header-logo {
  box-shadow: 1px 0 0 #39383a;
}
body.mobile .main-header.style-2 .header-above .header-logo {
  width: 100%;
}
body.mobile .main-header.style-2 .header-above .header-above-left,
body.mobile .main-header.style-2 .header-above .header-above-right {
  display: none;
}
body.mobile .main-header .container {
  width: auto;
}
body.mobile .nav-wrapper {
  margin: 0;
}
body.mobile .nav-wrapper .container,
body.mobile .nav-wrapper .container-fluid {
  padding: 0;
}
body.mobile .nav-toggle {
  display: block;
}
body.mobile .block-menu {
  display: none;
  overflow: hidden;
  float: none;
  width: 100%;
  margin: 0;
  border-top: 1px solid #e5e7e9;
}
body.mobile .header-nav.nav-narrow .header-widget:last-child .trigger-widget {
  margin-right: 15px;
}
body.mobile .header-nav ul.menu {
  position: relative;
}
body.mobile .header-nav .bt-dropdown,
body.mobile .header-nav ul.menu > li {
  position: relative;
  float: none;
  margin: 0;
  padding: 0 15px;
  overflow: hidden;
  width: 100%;
}
body.mobile .header-nav ul.menu a {
  position: relative;
}
body.mobile .bt-dropdown-menu {
  position: relative;
  top: 0;
  left: 0;
  display: none;
  float: none;
  border: none;
}
body.mobile .open > .bt-dropdown-menu {
  display: block;
  opacity: 1;
  transform: translate3d(0, 0px, 0);
  -webkit-transform: translate3d(0, 0px, 0);
  -moz-transform: translate3d(0, 0px, 0);
  visibility: visible;
}
body.mobile .dropdown-submenu .bt-dropdown-menu,
body.mobile .dropdown-submenu .bt-dropdown-menu.menu-pos-invert {
  top: 0;
  left: 0;
  margin: 0 15px;
}
body.mobile .header-nav .menu > li > a,
body.mobile .header-nav .menu > li > a i {
  color: #333;
}
body.mobile .header-nav .menu > .bt-dropdown.open > a,
body.mobile .header-nav .menu > .bt-dropdown.open > a i {
  color: #ef4136;
}
body.mobile .header-nav .menu > li > a {
  line-height: 44px;
}
body.mobile .header-nav .menu > li > a i {
  position: absolute;
  top: 14px;
  right: 0;
}
body.mobile .bt-dropdown-menu > li > a,
body.mobile .header-widget.widget-menu ul li a {
  padding: 0 15px;
  line-height: 44px;
}
body.mobile .header-nav .bt-dropdown-menu,
body.mobile .header-nav .bt-dropdown-menu > li > a,
body.mobile .header-nav .bt-dropdown-menu > li > a:focus,
body.mobile .header-nav .bt-dropdown-menu > li > a:hover,
body.mobile .header-nav .dropdown-submenu.open > a,
body.mobile .header-nav .dropdown-submenu.open > a:focus,
body.mobile .header-nav .dropdown-submenu.open > a:hover,
body.mobile .header-nav .header-widget.widget-menu ul li a:focus,
body.mobile .header-nav .header-widget.widget-menu ul li a:hover {
  background-color: transparent !important;
}
body.mobile .header-nav .dropdown-submenu > a::after {
  content: '\f107';
  top: 11px;
}
body.mobile .header-nav .mega-menu-content {
  background: transparent !important;
  border: none !important;
  padding: 15px 0;
  margin: 0 15px;
}
body.mobile .main-header.style-1.transparent .header-nav .mega-menu-content,
body.mobile .main-header.style-2 .header-nav .mega-menu-content,
body.mobile .main-header.style-2.header-narrow .header-nav .mega-menu-content {
  margin: 0 15px;
}
body.mobile .header-nav .list-unstyled {
  margin-top: 20px;
}
body.mobile .header-nav .list-unstyled:first-child {
  margin-top: 0;
}
body.mobile .main-header.dark .nav-toggle,
body.mobile .main-header.semi-dark .nav-toggle,
body.mobile .header-nav.light-light .block-menu,
body.mobile .header-nav.light-dark .block-menu {
  border-color: #39383a;
}
body.mobile .main-header.dark .nav-toggle i,
body.mobile .main-header.semi-dark .nav-toggle i {
  color: #fff;
}
body.mobile .header-nav.light .menu > li > a,
body.mobile .header-nav.light .menu > li > a > i,
body.mobile .header-nav.light .top-links li > a,
body.mobile .header-nav.light .top-links li > a i,
body.mobile .header-nav.light .top-social li > a,
body.mobile .header-nav.light .top-social li > a i,
body.mobile .header-nav.light .top-links li > a:hover,
body.mobile .header-nav.light .top-links li > a:hover i,
body.mobile .header-nav.light .top-social li > a:hover,
body.mobile .header-nav.light .top-social li > a:hover i,
body.mobile .header-nav.light .trigger-widget,
body.mobile .header-nav.light .trigger-widget:focus,
body.mobile .header-nav.light .trigger-widget:hover,
body.mobile .header-nav.light .trigger-widget i {
  color: #333;
}
/*------------------------------------------------------------------
[28. Responsive]
*/
@media screen and (max-width: 991px) {
  .mobile-hidden {
    display: none;
    visibility: hidden;
  }
  .sm-hidden {
    display: none;
    visibility: hidden;
  }
  /* Layout */
  .layout-sidebar-left {
    padding-left: 15px;
  }
  .layout-sidebar-right {
    padding-right: 15px;
  }
  .layout-sidebar-both {
    padding-left: 15px;
    padding-right: 15px;
  }
  /* Main Header */
  .main-header,
  .main-header.header-sticky {
    padding-top: 0;
    position: relative;
  }
  .main-header.header-alt .header-wrapper {
    margin: 0;
  }
  .main-header.transparent {
    padding-top: 0;
    background-color: #fff;
  }
  .main-header.transparent,
  .main-header.semi-light,
  .main-header.header-alt.light .header-wrapper {
    box-shadow: 0 0 0 1px #e5e7e9;
  }
  .main-header.transparent .logo-light {
    display: none;
    visibility: hidden;
  }
  .main-header.transparent .logo-dark {
    display: block;
    visibility: visible;
  }
  .main-header.semi-dark {
    background-color: #000a14;
  }
  .main-header .top-bar,
  .main-header .header-widget.widget-menu {
    display: none;
  }
  .header-logo {
    padding: 0 25px;
  }
  .main-header.style-1 .header-logo,
  .main-header.style-1.transparent-dark .header-logo {
    box-shadow: 1px 0 0 #e5e7e9;
    background: transparent;
  }
  .main-header.style-1.dark .header-logo,
  .main-header.style-1.semi-dark .header-logo {
    box-shadow: 1px 0 0 #39383a;
  }
  .main-header.style-2 .header-above .header-logo {
    width: 100%;
  }
  .main-header.style-2 .header-above .header-above-left,
  .main-header.style-2 .header-above .header-above-right {
    display: none;
  }
  .main-header.style-2.transparent .header-above {
    border-color: #e5e7e9;
  }
  .main-header .container {
    width: auto;
  }
  /* Main Nav */
  .nav-wrapper {
    margin: 0;
  }
  .nav-wrapper .container,
  .nav-wrapper .container-fluid {
    padding: 0;
  }
  .nav-toggle {
    display: block;
  }
  .block-menu {
    display: none;
    overflow: hidden;
    float: none;
    width: 100%;
    margin: 0;
    border-top: 1px solid #e5e7e9;
  }
  .header-nav.nav-narrow .header-widget:last-child .trigger-widget {
    margin-right: 15px;
  }
  .header-nav ul.menu {
    position: relative;
  }
  .header-nav .bt-dropdown,
  .header-nav ul.menu > li {
    position: relative;
    float: none;
    margin: 0;
    padding: 0 15px;
    overflow: hidden;
    width: 100%;
  }
  .header-nav ul.menu a {
    position: relative;
  }
  .bt-dropdown-menu {
    position: relative;
    top: 0;
    left: 0;
    display: none;
    float: none;
    border: none;
  }
  .dropdown-submenu .bt-dropdown-menu,
  .dropdown-submenu .bt-dropdown-menu.menu-pos-invert {
    top: 0;
    left: 0;
    margin: 0 15px;
  }
  .header-nav .menu > li > a,
  .header-nav .menu > li > a i {
    color: #333;
  }
  .header-nav .menu > .bt-dropdown.open > a,
  .header-nav .menu > .bt-dropdown.open > a i {
    color: #ef4136;
  }
  .header-nav .menu > li > a {
    line-height: 44px;
  }
  .header-nav .menu > li > a i {
    position: absolute;
    top: 14px;
    right: 0;
  }
  .bt-dropdown-menu > li > a,
  .header-widget.widget-menu ul li a {
    padding: 0 15px;
    line-height: 44px;
  }
  .header-nav .bt-dropdown-menu,
  .header-nav .bt-dropdown-menu > li > a,
  .header-nav .bt-dropdown-menu > li > a:focus,
  .header-nav .bt-dropdown-menu > li > a:hover,
  .header-nav .dropdown-submenu.open > a,
  .header-nav .dropdown-submenu.open > a:focus,
  .header-nav .dropdown-submenu.open > a:hover,
  .header-nav .header-widget.widget-menu ul li a:focus,
  .header-nav .header-widget.widget-menu ul li a:hover {
    background-color: transparent !important;
  }
  .header-nav .dropdown-submenu > a::after {
    content: '\f107';
    top: 11px;
  }
  .header-nav .mega-menu-content {
    background: transparent !important;
    border: none !important;
    padding: 15px 0;
    margin: 0 15px;
  }
  .main-header.style-1.transparent .header-nav .mega-menu-content,
  .main-header.style-2 .header-nav .mega-menu-content,
  .main-header.style-2.header-narrow .header-nav .mega-menu-content {
    margin: 0 15px;
  }
  .header-nav .list-unstyled {
    margin-top: 20px;
  }
  .header-nav .list-unstyled:first-child {
    margin-top: 0;
  }
  .main-header.dark .nav-toggle,
  .main-header.semi-dark .nav-toggle,
  .header-nav.light-light .block-menu,
  .header-nav.light-dark .block-menu {
    border-color: #39383a;
  }
  .main-header.dark .nav-toggle i,
  .main-header.semi-dark .nav-toggle i {
    color: #fff;
  }
  .header-nav.light .menu > li > a,
  .header-nav.light .menu > li > a > i,
  .header-nav.light .top-links li > a,
  .header-nav.light .top-links li > a i,
  .header-nav.light .top-social li > a,
  .header-nav.light .top-social li > a i,
  .header-nav.light .top-links li > a:hover,
  .header-nav.light .top-links li > a:hover i,
  .header-nav.light .top-social li > a:hover,
  .header-nav.light .top-social li > a:hover i,
  .header-nav.light .trigger-widget,
  .header-nav.light .trigger-widget:focus,
  .header-nav.light .trigger-widget:hover,
  .header-nav.light .trigger-widget i {
    color: #333;
  }
  /* Layout */
  .intro-section,
  .hero-shop {
    height: auto;
  }
  .fullscreen-element {
    min-height: 100% !important;
  }
  .fullscreen-element,
  .fullscreen-element .section-container,
  .fullscreen-element .section-container,
  .fullscreen-element .table-container {
    display: block;
    height: auto;
  }
  /* Typography */
  .sm-text-left {
    text-align: left !important;
  }
  .sm-text-right {
    text-align: right !important;
  }
  .sm-text-center {
    text-align: center !important;
  }
  .sm-text-justify {
    text-align: justify !important;
  }
  /* Breadcrumbs */
  .breadcrumb {
    position: relative;
    text-align: center;
    margin-top: 30px !important;
  }
  .breadcrumb,
  .breadcrumb.breadcrumb-left,
  .breadcrumb.breadcrumb-right {
    margin: 0;
    padding: 0;
    height: auto;
  }
  .breadcrumb.breadcrumb-left {
    text-align: right;
  }
  .breadcrumb.breadcrumb-right {
    text-align: left;
  }
  /* Swiper Slider */
  .swiper_slider .swiper-slide {
    min-height: 570px;
    height: 500px;
  }
  .swiper_slider.fullscreen-element .swiper-slide {
    min-height: 630px;
    height: 500px;
  }
  .swiper_slider .swiper-slide.parallax-slide {
    background-position: 50% 0px !important;
  }
  .swiper_slider .section-container {
    display: table;
    width: 100%;
    height: 100%;
  }
  .swiper_slider .table-container {
    display: table-cell;
    vertical-align: middle;
  }
  .swiper-gallery {
    height: 470px;
  }
  .swiper_slider.swiper_centered .swiper-slide {
    width: 100%;
  }
  /* Divider */
  .divider.divider-left::before {
    left: auto;
    right: 50%;
    margin-right: -7px;
  }
  .divider.divider-left::after {
    left: 50%;
    margin-left: -7px;
  }
  .divider.divider-right::before {
    right: 50%;
    margin-right: -7px;
  }
  .divider.divider-right::after {
    right: auto;
    margin-right: auto;
    left: 50%;
    margin-left: -7px;
  }
  /* Other */
  .intro-section {
    padding: 210px 0;
  }
  .page-title {
    padding: 180px 0;
  }
  .pt-small {
    padding: 100px 0;
  }
  .mouse-icon {
    display: none;
  }
  .mobile-image {
    display: block;
  }
  .countdown .counter-box {
    display: inline-block;
    float: none;
    width: 170px;
    padding: 15px 15px;
  }
  .clients-row .client.border-bottom::before,
  .clients-row .client.border-right::after {
    display: none;
  }
  .container-overlay,
  .container-overlay .col-background {
    position: relative;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 0;
    background-image: none !important;
    z-index: 0;
  }
  /* Tabs */
  .nav-tabs > li > a,
  .ico.nav-tabs > li > a {
    padding: 20px 30px;
  }
  .alt.nav-tabs > li > a,
  .text.nav-tabs > li > a,
  .text.small.nav-tabs > li > a {
    padding: 10px 30px;
  }
  /* Feature Box */
  .feature-box .box-content {
    max-width: 100%;
  }
  .single-product,
  .single-product .product-rating {
    text-align: left;
  }
  .single-product .button {
    text-align: center;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .xs-hidden {
    display: none;
    visibility: hidden;
  }
  /* Layout */
  section,
  .section,
  .text-left,
  .text-right {
    text-align: center !important;
  }
  /* Typography */
  .xs-text-left {
    text-align: left !important;
  }
  .xs-text-right {
    text-align: right !important;
  }
  .xs-text-center {
    text-align: center !important;
  }
  .xs-text-justify {
    text-align: justify !important;
  }
  .font-large {
    font-size: 44px;
    line-height: 52px;
  }
  .font-xlarge {
    font-size: 52px;
    line-height: 60px;
  }
  /* Footer */
  .site-footer .socials-icons {
    float: none !important;
    margin: 0 auto;
    display: table;
  }
  .copyright {
    padding: 30px 0;
  }
  /* Shop */
  .products-list .product-image {
    float: none;
    width: 100%;
    height: auto;
    margin-right: 0;
    margin-bottom: 20px;
  }
  .products-list .product-desc {
    text-align: left;
  }
  /* Other */
  blockquote.pull-left,
  blockquote.pull-right {
    max-width: 100%;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  /*
  .pull-left,
  .pull-right {
    float: none !important;
    margin: 0 auto;
    display: table;
  }

  .button.pull-left,
  .button.pull-right {
    float: none !important;
    margin: 0 !important;
    margin-bottom: 10px !important;
    display: block;
    width: 100%;
  }*/
  .page-header.fullscreen,
  .section.fullscreen {
    height: auto;
  }
  /* Icon Boxes */
  .icon-box,
  .icon-box.style-2,
  .icon-box.style-2.icon-box-right {
    text-align: center;
  }
  .icon-box.style-2 .icon-box-icon,
  .icon-box.style-2.large .icon-box-icon {
    position: relative;
    margin-bottom: 15px;
    padding: 0;
    width: auto;
  }
  .icon-box.style-2 .icon-box-text,
  .icon-box.style-2.large .icon-box-text,
  .icon-box.style-2.icon-box-right .icon-box-text,
  .icon-box.style-2.large.icon-box-right .icon-box-text {
    margin: 0;
    padding: 0;
  }
  .icon-box.style-2 .icon-box-text .icon-box-lines-top,
  .icon-box.style-2 .icon-box-text .icon-box-lines-bottom {
    display: none;
  }
  .subscription-form input,
  .subscription-form button {
    float: none;
  }
  .subscription-form button {
    margin-top: 20px;
  }
  /* Text Slider */
  .textslider h1 {
    font-size: 62px;
  }
  .textslider h2 {
    font-size: 48px;
  }
  .textslider h3 {
    font-size: 30px;
  }
  .portfolio-item {
    width: 100%;
  }
  /* Blog */
  article {
    /*text-align: center;*/
  }
  .entry-meta span {
    text-align: center;
  }
  .entry-meta::before {
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
  }
  .entry-meta span {
    display: block;
    float: none;
    margin: 0 auto;
    padding-left: 0px;
  }
  .post .read-more {
    float: none;
    margin-left: auto;
    margin-right: auto;
    display: inline-block;
  }
  /* Cpmments */
  .comment-list .children {
    padding-left: 0;
  }
  .comment-author,
  .comment-awaiting-moderation,
  .comment-metadata {
    padding-left: 0;
  }
  .comment-author .avatar {
    position: relative;
    display: block;
    margin: 0 auto;
    margin-bottom: 10px;
  }
  .comment-list .children article footer,
  .comment-list .children article .comment-content,
  .comment-list .children article .reply {
    padding-left: 0;
  }
  .comments-area {
    text-align: center;
  }
  .comment-meta,
  .comment-content {
    margin-left: 0;
  }
  .comment-meta .reply,
  .comment-metadata {
    float: none;
  }
  .comment-meta .reply {
    padding-left: 0;
  }
  /* Widgets */
  .widget {
    text-align: center;
  }
  .widget-title::before,
  .widget-title::after {
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
  }
  /* Tabs */
  .nav-tabs > li {
    width: 50%;
    display: block;
    float: left;
  }
  .alt.nav-tabs,
  .alt.nav-tabs > li {
    border: 0;
    padding: 5px;
  }
  .alt.nav-tabs > li > a {
    background: #f5f7f9;
  }
  .breadcrumb.breadcrumb-right,
  .breadcrumb.breadcrumb-left {
    top: 0;
    bottom: 0;
    margin-bottom: 0;
    margin-top: 20px;
    text-align: center;
    position: relative;
  }
}
@media only screen and (max-width: 580px) {
  .nav-tabs > li {
    width: 100%;
    float: none;
  }
}
@media only screen and (max-width: 470px) {
  /* Typography */
  .font-large {
    font-size: 28px;
    line-height: 36px;
  }
  .font-xlarge {
    font-size: 32px;
    line-height: 40px;
  }
  .font-thin {
    font-weight: 300 !important;
  }
  /* Nav */
  .top-cart {
    display: none;
  }
  .header-functions,
  .header-widget {
    position: static;
  }
  .header-widget .widget-content {
    left: 0;
    min-width: 100%;
    margin-right: 0;
    border-left: 0;
    border-right: 0;
  }
}
/* custom*/
.section-bg-lightgrey {
  background-color: #eee;
}
.main-header.semi-dark.header-sticky .header-nav.light .menu > li {
  color: #fff;
}
.login-logo {
  max-width: 150px;
}
.login .lock-container .panel .forgot-password-right {
  color: #777777 !important;
  text-align: right;
  font-size: 10px;
  text-decoration: underline;
}
@media (min-width: 480px) {
  .login .lock-container {
    bottom: auto;
    top: 50%;
  }
}
.panel-login {
  background-color: rgba(240, 240, 240, 0.95);
  border-radius: 2px;
}
.row-home-content .item-preview {
  height: 180px !important;
}
.icon-user-flag {
  position: absolute;
  margin-left: -16px;
  margin-top: 20px;
}
.icon-user-flag img {
  max-height: 15px;
  max-width: 15px;
}
.icon-user-flag-search-item {
  position: absolute;
  bottom: 5px;
  right: 5px;
}
.icon-user-flag-search-item img {
  max-height: 25px;
  max-width: 25px;
}
.media-body-item-comment .icon-user-flag {
  margin-left: -15px;
  margin-top: 17px;
}
.media-body-item-comment .icon-user-flag img {
  max-height: 10px;
  max-width: 10px;
}
.comment-profile-img {
  width: 100%;
  height: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.timeline .feed-photo-uploaded {
  max-width: 100%;
  height: autok;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 10px;
  display: block !important;
  max-height: 400px;
}
.timeline .item-comment-details {
  margin-left: 10px;
}
.timeline .feed-footer-clear {
  clear: both;
  height: 0px;
  width: 0px;
  display: block;
}
.timeline .comments {
  margin-top: 5px;
}
.timeline .comments .media .rider-thumbnails {
  width: 35px;
  height: 35px;
  overflow: hidden;
}
.timeline .comments .media .rider-thumbnails img {
  width: 100%;
}
.cover.profile .wrapper {
  height: 250px;
}
.cover.profile .wrapper .image {
  padding-right: 10px !important;
}
.cover.profile .cover-info .name a {
  color: #ef4136;
}
.cover.profile .cover-info .name .page-header-name {
  color: white;
  font-size: 2em;
  font-weight: bold;
  text-decoration: none;
}
.push-comment {
  float: right;
  margin-right: 5px;
}
.like-button,
.comment-button {
  color: #ef4136;
  font-weight: 500;
  font-size: 12px;
  margin-left: 10px;
}
.comment-button {
  margin-left: 0;
}
.primary-color {
  color: #ef4136 !important;
}
.comment-edit > a {
  color: #cccccc;
}
.fluidContainer {
  position: relative;
}
.fluidContainer img {
  position: relative;
  width: 100%;
  height: auto;
  cursor: pointer;
}
.fluidContainer > div {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50px;
  margin-left: -30px;
  height: 50px;
  margin-top: -15px;
  border-radius: 50%;
  border: 4px solid rgba(255, 255, 255, 0.5);
  -webkit-background-clip: padding-box;
  /* for Safari */
  background-clip: padding-box;
  /* for IE9+, Firefox 4+, Opera, Chrome */
}
.fluidContainer > div i {
  font-size: 30px;
  margin-left: 12px;
  margin-top: 7px;
  color: white;
  opacity: 0.5;
}
.youtube-video {
  min-height: 315px;
}
.flow-btn-style {
  opacity: 0.0000001;
  position: absolute;
  width: 30px;
  height: 30px;
  overflow: hidden;
  margin-top: -30px;
  margin-left: 34px;
  cursor: pointer;
}
.panel-default .panel-heading.panel-heading-gray i {
  color: #333333;
}
.notification-feed {
  padding-top: 10px;
  padding-bottom: 10px;
}
.notification-feed ul {
  margin: 0;
  padding: 0;
}
.notification-feed ul .news-item {
  display: inline-block;
  font-size: 12px !important;
  color: #333333;
  font-weight: 200;
  padding: 0px 0;
  margin: 1px 0 !important;
  border-top: 1px solid #eee;
  padding-bottom: 3px;
  padding-top: 3px;
}
.notification-feed ul .news-item .media-object {
  margin: 0 3px 0 10px;
}
.notification-feed ul .news-item .media-body {
  padding: 0 3px;
  height: auto !important;
  overflow: hidden;
}
.notification-feed ul .news-item .media-body a {
  padding: 0;
  display: inline-block;
  line-height: 11px;
  color: #333333;
  font-weight: 500;
}
.notification-feed ul .news-item .media-body a.link-target {
  color: #333333;
  font-weight: 500;
}
.notification-feed ul .news-item .media-body .time {
  font-size: 11px;
  font-weight: 400;
  display: block;
}
.notification-feed ul .news-item:first-child {
  border-top: 0 none;
}
.btn.btn-cancel i {
  color: #ef4136 !important;
}
.btn.btn-check i {
  color: #8bbf61 !important;
  margin-left: 3px;
}
.media-body-overflowed {
  overflow: visible;
}
.drop-down-mini-100 {
  min-width: 50px !important;
}
.dropdown-menu li {
  padding: 0 !important;
}
.timeline-block .panel-heading .media-body a.item-date {
  font-size: 10px;
  display: block;
  text-indent: 5px;
  line-height: 12px;
}
.input-enter-comment {
  resize: none;
  padding-left: 2px;
  max-height: 130px;
}
.input-group-addon-max-height a {
  cursor: pointer;
}
.panel.panel-default ul.comments li.comment-form a {
  font-size: 11px;
}
span.item-author {
  padding-left: 10px;
  line-height: 40px;
  font-weight: 400;
  letter-spacing: 1px;
  text-transform: uppercase;
  height: 40px;
  overflow: hidden;
  display: block;
}
span.item-author a {
  font-size: 15px;
  font-weight: 400;
  color: #333333;
}
span.item-author .fa-arrow-right {
  vertical-align: 2px;
  padding-left: 5px;
  font-size: 10px;
}
ul.comments .comment-value {
  display: block;
  font-size: 12px;
  color: #333333;
}
ul.comments .comment-value a {
  word-break: break-all;
  word-wrap: break-word;
  color: #ef4136;
}
ul.comments .comment-date {
  font-size: 10px;
}
ul.comments a.comment-author {
  font-size: 12px;
  color: #555;
  font-weight: bold !important;
}
ul.comments a.comment-author span {
  font-size: 11px;
  color: #666;
  font-weight: normal;
}
.panel.panel-default .item-like-comment-status {
  padding-left: 5px;
  font-size: 11px;
}
.panel.panel-default .item-like-comment-status a {
  color: #333333 !important;
}
.media-body-item-comment {
  line-height: 14px;
}
.media-body-item-comment .profile-picture {
  margin-top: 0px;
  height: 30px !important;
  width: 30px !important;
  margin-right: 5px;
  border-radius: 3px;
}
.force-icon-50 .btn-no-profile {
  height: 50px !important;
  width: 50px !important;
  padding-top: 15px;
}
.generic-item-option a i {
  margin-top: 7px;
  margin-right: 5px;
  font-size: 20px;
  color: #999999;
}
.media-feed {
  overflow: visible;
  height: 44px;
}
.dropdown-content-option {
  font-size: 12px;
}
.dropdown-content-option i {
  font-size: 10px !important;
}
.edit-item-text {
  width: 100%;
  min-height: 50px;
}
.panel-body .item-preview,
.media-body .item-preview,
article .item-preview {
  position: relative;
  overflow: hidden;
  background-color: black;
  width: 100%;
  height: 220px;
  display: inline-block;
}
.panel-body .item-preview > div,
.media-body .item-preview > div,
article .item-preview > div {
  display: table;
  width: 100%;
  height: 100%;
}
.panel-body .item-preview > div a,
.media-body .item-preview > div a,
article .item-preview > div a {
  line-height: 14px;
  word-break: break-all;
  word-wrap: break-word;
  position: relative;
  display: table-cell !important;
  width: 100%;
  color: white !important;
  font-weight: 600 !important;
  z-index: 10;
  vertical-align: bottom;
  padding: 0px !important;
}
.panel-body .item-preview > div a span.title,
.media-body .item-preview > div a span.title,
article .item-preview > div a span.title {
  background-color: rgba(0, 0, 0, 0.5);
  display: block;
  padding: 3px;
}
.panel-body .item-preview > div a > span.price,
.media-body .item-preview > div a > span.price,
article .item-preview > div a > span.price {
  position: absolute;
  right: 0;
  top: 0;
  padding: 5px;
  font-size: 1.4em;
  background-color: rgba(0, 0, 0, 0.5);
}
.panel-body .item-preview > div a > span.price .old-price,
.media-body .item-preview > div a > span.price .old-price,
article .item-preview > div a > span.price .old-price {
  font-size: 0.8em !important;
  text-decoration: line-through;
}
.panel-body .item-preview > div a span.partner,
.media-body .item-preview > div a span.partner,
article .item-preview > div a span.partner {
  position: absolute;
  right: 0;
  top: 0;
  padding: 3px;
  font-size: 0.8em;
  background-color: rgba(0, 0, 0, 0.5);
}
.panel-body .item-preview > div img,
.media-body .item-preview > div img,
article .item-preview > div img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: auto;
  opacity: 0.5;
}
article > ng-url-tag > div {
  border-radius: 3px;
  overflow: hidden;
}
.panel-body-url-tag {
  padding-bottom: 2px;
  margin-bottom: 10px;
  background: white;
}
.url-tag-comment div {
  text-align: center;
}
.url-tag-comment a {
  color: #333333;
  text-decoration: none;
}
.url-tag-comment a:hover {
  color: #ef4136;
}
.item-preview {
  height: 250px;
}
.item-preview .bg-img {
  position: absolute;
  background-position: center;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background-size: cover;
}
.item-preview .bg-image-default {
  background-image: url('/images/helmet_icon_thumb.jpg');
}
.item-preview-advert-message span.title {
  font-size: 1.4em;
}
.item-preview-advert-message span.price {
  font-size: 1.6em !important;
}
.news-item .item-preview {
  height: 100px;
}
.panel-body-url-tag .item-preview {
  height: 250px !important;
}
.modal-body-like-list img.profile-picture {
  height: 25px;
  width: 25px;
  margin-left: 0;
}
.modal-body-like-list a.rider-like {
  line-height: 25px;
  height: 25px;
  max-width: 100%;
  overflow: hidden;
  display: inline-block;
  text-indent: 5px;
  color: #333333;
}
.modal-body-like-list a:hover {
  color: #ef4136;
}
.btn-close-modal {
  margin-right: 5px;
  margin-top: -10px;
}
.item-feed-desc .col-search-result-item {
  margin-bottom: 20px;
}
.item-feed-desc .col-search-result-item > div {
  padding: 0;
  border: 0 none;
}
.item-feed-desc .item-explain {
  padding-top: 10px;
}
.panel-body-create-message .message-section {
  width: 100%;
}
.panel-body-create-message .message-section textarea {
  width: 100%;
  resize: none;
  margin-bottom: 0;
}
.panel-body-create-message .message-section.image-message textarea {
  width: 70%;
  float: left;
}
.panel-body-create-message .message-section.image-message #img-wall-comment {
  width: 28%;
  margin-left: 2%;
  float: left;
}
.panel-body-create-message .message-section.image-message #img-wall-comment img {
  max-height: 250px;
  float: right;
}
.panel-body-create-message .message-section.image-message #img-wall-comment .remove-img-btn {
  float: right;
  z-index: 2;
  cursor: pointer;
}
.panel-body-create-message .message-section.image-message #img-wall-comment .remove-img-btn > div {
  background-color: rgba(30, 30, 30, 0.6);
  height: 25px;
  width: 25px;
  border: 1px solid white;
  border-radius: 50%;
  position: absolute;
  margin-top: 5px;
  margin-left: -29px;
}
.panel-body-create-message .message-section.image-message #img-wall-comment .remove-img-btn > div i {
  color: white;
  margin-left: 6px;
  margin-top: 4px;
}
.item-comment-image {
  width: 28%;
  margin-left: 2%;
  display: table;
}
.item-comment-image img {
  max-height: 250px;
  float: right;
}
.item-comment-image .remove-img-btn {
  float: right;
  z-index: 2;
  cursor: pointer;
}
.item-comment-image .remove-img-btn > div {
  background-color: rgba(30, 30, 30, 0.6);
  height: 25px;
  width: 25px;
  border: 1px solid white;
  border-radius: 50%;
  position: absolute;
  margin-top: 5px;
  margin-left: -29px;
}
.item-comment-image .remove-img-btn > div i {
  color: white;
  margin-left: 6px;
  margin-top: 4px;
}
.item-preview-partner {
  height: 300px !important;
}
.item-preview-partner .bg-img {
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  background-color: white;
}
.media-body-item-comment .item-preview-partner {
  height: 180px !important;
}
.media-body-item-comment .comment-edit {
  visibility: hidden;
}
.media-body-item-comment:hover .comment-edit {
  visibility: visible;
}
.comment-form textarea {
  line-height: 15px;
}
.comment-form .input-group-addon {
  padding: 5px 10px;
}
.comment-form .input-group {
  margin-top: 5px;
  margin-bottom: 5px;
}
.list-group-mention {
  max-height: 220px;
  overflow-y: auto;
}
.list-group-mention li {
  cursor: pointer;
  height: 35px;
  overflow: hidden;
  width: 200px;
  padding: 2px;
}
.list-group-mention li img {
  height: 25px;
  width: 25px;
  border-radius: 3px;
  margin-top: 2px;
}
.list-group-mention li span {
  color: #333;
  line-height: 22px;
  height: 22px;
  overflow-y: hidden;
}
.list-group-mention li.active span {
  color: white;
}
.user-text {
  white-space: pre-line;
  word-break: break-word;
}
.feed-tab-content .tab-content {
  padding: 0;
}
.bootstrap-switch-primary-color {
  background-color: #ef4136;
  color: white;
}
.bootstrap-switch.bootstrap-switch-focused {
  border-color: #cccccc;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 4px rgba(239, 64, 54, 0.6);
}
.item-preview-rate {
  text-decoration: none !important;
  color: #333333 !important;
}
.item-preview-rate i {
  color: #f86900;
}
.item-preview-rate .rate_text:hover {
  text-decoration: underline;
}
.feed-item-padding-content {
  padding-left: 5px;
  padding-right: 5px;
}
ng-item-author > span > i {
  margin-right: 5px;
}
article .sub-article article {
  clear: both;
}
article .sub-article article .article-container {
  border-top: 0 !important;
}
article .sub-article article .article-container .article-content {
  padding: 12px 0;
  box-shadow: none;
}
article .sub-article article .article-container:hover .article-content::before {
  height: 0 !important;
}
article .sub-article article .article-container:hover .article-content::after {
  width: 0 !important;
}
.pinned-item ng-md-icon {
  color: #ef4136;
  top: 43px;
  right: -1px;
  position: absolute;
  z-index: 10;
}
.user-mention-tag {
  color: #ef4136 !important;
}
.entry-post-status,
.entry-post-status a,
.entry-post-status a > * {
  color: #555;
}
.entry-post-status a {
  padding-left: 5px;
}
.popover-row-rider h5,
.popover-row-rider h5 a,
.popover-row-rider h6 {
  color: white;
  text-transform: uppercase;
}
.popover-row-rider h5 {
  margin-bottom: 5px;
}
.mobile .entry-footer .entry-date {
  width: 100%;
  margin: 0;
  text-align: right;
}
.mobile .feed-tab-content {
  padding-left: 0;
  padding-right: 0;
}
.mobile .container {
  padding-left: 5px;
  padding-right: 5px;
}
.mobile .entry-post-status > span {
  display: inline-block;
}
.modal-photo {
  display: flex !important;
  justify-content: center;
}
.modal-photo .modal-dialog {
  max-width: 95%;
  width: auto;
  max-height: 98%;
  height: 98%;
  margin: 0 auto;
  display: flex;
  bottom: 0;
  overflow: hidden;
  margin-top: 2%;
  background: transparent;
}
.modal-photo .modal-dialog .modal-content {
  height: 100%;
  display: inline-flex;
  vertical-align: middle;
  background: transparent;
}
.modal-photo .modal-dialog .modal-content .modal-body {
  padding: 0;
  background: white;
}
.modal-photo .modal-dialog .modal-content .modal-body .photo-container {
  height: 100%;
  display: flex;
}
.modal-photo .modal-dialog .modal-content .modal-body .photo-container .photo-content {
  height: 100%;
  display: flex;
  flex-direction: column;
  background-color: black;
}
.modal-photo .modal-dialog .modal-content .modal-body .photo-container .photo-content img {
  max-height: 100%;
  margin: auto;
  display: flex;
}
.modal-photo .modal-dialog .modal-content .modal-body .photo-container .photo-comment {
  padding: 10px 5px;
  max-height: 100%;
  overflow-y: auto;
  flex-direction: column;
  width: 400px;
  min-width: 400px;
}
.modal-photo .modal-dialog .modal-content .modal-body .photo-container .photo-comment > div {
  padding: 10px;
}
.modal-photo .modal-dialog .modal-content .modal-body .photo-container .photo-comment .author {
  padding: 5px;
  padding-top: 0;
}
.modal-photo .modal-dialog .modal-content .modal-body .photo-container .photo-comment .author img {
  margin: 0;
}
.modal-photo .modal-dialog .modal-content .modal-body .photo-container .photo-comment .message {
  line-height: 18px;
}
.modal-photo .modal-dialog .modal-content .modal-body .photo-container .photo-comment .status {
  line-height: 18px;
  padding-left: 2px;
}
.modal-photo .modal-dialog .modal-content .modal-body .photo-container .photo-comment .status .entry-container {
  float: left;
}
.modal-photo .modal-dialog .modal-content .modal-body .photo-container .photo-comment footer {
  float: left;
  padding-bottom: 20px;
}
.mobile .photo-comment {
  display: none;
}
button.button-close-modal {
  padding: 0 5px !important;
  height: 20px !important;
  line-height: 18px !important;
  position: absolute;
  right: 0;
  top: 0;
}
.entry-footer .entry-container,
.article-container,
article {
  overflow: visible;
}
.header-widget.top-account .widget-content {
  background: #fff;
  background-color: rgba(255, 255, 255, 0.98);
  border: 1px solid #e1e8ed;
  border: 0 solid rgba(0, 0, 0, 0.25);
  border-radius: 4px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
  background-clip: padding-box;
  min-width: 200px;
  padding: 0;
  padding-top: 5px;
}
.header-widget.top-account .widget-content > h5 {
  font-size: 1.1em;
  padding-left: 15px;
  padding-right: 15px;
}
.header-widget.top-account .widget-content > a {
  font-size: 1em;
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 15px;
  padding-right: 15px;
  width: 100%;
  display: inline-block;
}
.header-widget.top-account .widget-content a:hover {
  background-color: #ef4136;
  opacity: 0.8;
  color: white;
}
.widget-content-border-bottom {
  box-shadow: 0 1px 0 #ffffff;
}
.widget-content-separator {
  width: 100%;
  height: 1px;
  background-color: #666666;
  opacity: 0.2;
}
/*------------------------------------------------------------------
[8. Header]
*/
.main-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  -webkit-backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  opacity: 1;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
}
.main-header .header-wrapper {
  position: relative;
  width: auto;
  max-width: 100%;
  margin: 0;
  padding: 0;
}
.main-header.scrolled {
  opacity: 0;
  position: absolute;
}
.main-header.header-sticky {
  position: fixed;
  opacity: 1;
}
.main-header.header-blocked {
  position: relative;
  opacity: 1;
}
.main-header.header-alt .header-wrapper {
  margin-top: 15px;
  margin-left: 15px;
  margin-right: 15px;
}
.main-header.header-alt.header-sticky .header-wrapper {
  margin: 0;
}
.main-header.header-narrow .header-wrapper {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
.main-header.header-narrow.scrolled .header-wrapper {
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}
body.boxed-layout .main-header {
  max-width: 1370px;
  margin: 0 auto;
}
/* Header Transparent */
.main-header.transparent {
  padding-top: 10px;
  background-color: transparent;
}
.main-header.transparent-bg-opacity {
  background-color: rgba(0, 0, 0, 0.3);
}
.main-header.scrolled {
  padding-top: 0;
}
/* Header Light */
.main-header.light .header-wrapper {
  background-color: #ffffff;
  box-shadow: 0 0 0 1px #ffffff;
}
.main-header.light.header-sticky .header-wrapper {
  box-shadow: 0 1px 0 #ffffff;
}
.main-header.header-alt.light .header-wrapper {
  box-shadow: 0 0 0 0 #ffffff;
}
.main-header.header-alt.light.header-sticky .header-wrapper {
  box-shadow: 0 0 0 1px #ffffff;
}
/* Header Dark */
.main-header.dark .header-wrapper {
  background-color: #000;
}
/* Header Transparent */
.main-header.transparent {
  padding-top: 10px;
}
.main-header.transparent.header-sticky {
  padding: 0;
}
.main-header.transparent.header-sticky .header-wrapper {
  background-color: rgba(0, 0, 0, 0.3);
  box-shadow: 0 1px 0 #666666;
}
/* Header Semi Transparent Light */
.main-header.semi-light .header-wrapper {
  background-color: rgba(200, 200, 200, 0.8);
}
.main-header.semi-light.header-sticky .header-wrapper {
  background-color: rgba(255, 255, 255, 0.93);
  box-shadow: 0 1px 0 #ffffff;
}
/* Header Semi Transparent Dark */
.main-header.semi-dark .header-wrapper {
  background-color: rgba(10, 0, 0, 0.9);
}
.main-header.semi-dark.header-sticky .header-wrapper {
  background-color: rgba(0, 0, 0, 0.9);
}
/* Header Logo */
.header-logo {
  float: left;
  padding: 0 15px;
}
.header-logo a {
  font-size: 18px;
  display: table;
  margin: 0 auto;
}
.header-logo img {
  max-width: 100%;
  height: auto;
  max-height: 50px;
  display: block;
}
/* Header Above */
.header-above .header-above-left,
.header-above .header-above-right {
  width: 35%;
  min-height: 1px;
}
.header-above .header-above-left,
.header-above .header-above-right,
.header-above .header-logo {
  float: left;
  line-height: 50px;
}
.header-above .header-logo {
  width: 30%;
  text-align: center;
}
.header-above .header-above-left {
  text-align: left;
}
.header-above .header-above-right {
  text-align: right;
}
.header-above .socials-icons {
  height: auto;
}
.header-above .socials-icons .social-icon {
  height: auto;
  width: auto;
  margin-top: 16px;
  margin-bottom: 16px;
  margin-right: 20px;
}
/* Header Functions Widgets */
.header-functions {
  position: relative;
  float: right;
}
.header-widget {
  position: relative;
  float: left;
}
.header-widget .widget-content {
  display: block;
  position: absolute;
  top: 100%;
  right: 0;
  left: auto;
  background: #ffffff;
  opacity: 0;
  min-width: 290px;
  padding: 15px;
  margin: 0;
  margin-right: 15px;
  font-size: 14px;
  background-color: #ffffff;
  border: 1px solid #ffffff;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transform: translate3d(0, 10px, 0);
  -webkit-transform: translate3d(0, 10px, 0);
  -moz-transform: translate3d(0, 10px, 0);
  visibility: hidden;
  overflow: hidden;
  z-index: 2;
}
.header-nav.nav-narrow .header-widget:last-child .widget-content {
  margin-right: 0;
}
.header-widget.widget-menu .widget-content {
  min-width: 230px;
}
.header-widget.open .widget-content {
  opacity: 1;
  transform: translate3d(0, 0px, 0);
  -webkit-transform: translate3d(0, 0px, 0);
  -moz-transform: translate3d(0, 0px, 0);
  visibility: visible;
}
.trigger-widget {
  position: relative;
  display: block;
  font: 13px 'Open Sans', sans-serif;
  font-weight: 400;
  letter-spacing: 1px;
  color: #ffffff;
  float: left;
  line-height: 50px;
  height: 50px;
  text-decoration: none;
  margin: 0 10px;
  padding-bottom: 1px;
  text-transform: uppercase;
}
.main-header.light .trigger-widget {
  color: #333;
}
.header-nav.nav-narrow .header-widget:last-child .trigger-widget {
  margin-right: 0;
}
.trigger-widget i {
  font-size: 21px;
}
.trigger-widget:focus,
.trigger-widget:hover {
  color: #ffffff;
}
#top-cart-trigger {
  padding-right: 10px;
}
#top-cart-trigger span,
#top-message-trigger span {
  display: block;
  width: 17px;
  height: 17px;
  font-size: 10px;
  line-height: 17px;
  padding: 0;
  text-align: center;
  position: absolute;
  color: #ffffff;
  background: #ef4136;
  top: 18px;
  right: 0;
  border-radius: 50%;
}
#top-message-trigger span {
  right: -6px;
}
#top-cart-trigger:hover span,
#top-cart-trigger:focus span {
  color: #ffffff;
}
.header-widget.widget-menu ul {
  margin: 0;
}
/* Top Cart */
.top-cart .mega-menu-content {
  padding: 15px 15px;
}
.top-cart .trigger-button .number {
  height: 15px;
  font-size: 11px;
  line-height: 15px;
  padding: 0;
  text-align: center;
  position: relative;
  color: #ffffff;
  top: -10px;
}
.top-cart-item {
  padding-bottom: 5px;
  margin-bottom: 0px;
  border-bottom: 1px solid #ffffff;
  overflow: hidden;
}
.top-cart .item-image {
  float: left;
  margin-right: 15px;
  width: 48px!important;
  height: 48px!important;
  border: 2px solid #ffffff;
  -webkit-transition: border-color 0.2s linear;
  -o-transition: border-color 0.2s linear;
  transition: border-color 0.2s linear;
}
.top-cart .item-image a,
.top-cart .item-image img {
  display: block;
  width: 44px!important;
  height: 44px!important;
}
.top-cart-item a {
  display: block;
  position: relative;
  font-size: 14px;
  line-height: 20px;
  color: #333;
}
.top-cart .item-desc {
  position: relative;
  overflow: hidden;
}
.top-cart .item-desc a {
  text-align: left;
  font-size: 13px;
  width: auto;
  height: auto;
  font-weight: 600;
}
.top-cart .item-desc span.item-price {
  display: block;
  line-height: 20px;
  font-size: 12px!important;
  color: #999;
  text-align: left;
}
.top-cart .item-desc span.item-quantity {
  display: block;
  position: absolute;
  font-size: 12px!important;
  right: 0;
  top: 20px;
  line-height: 20px;
  color: #444;
}
.top-checkout-price {
  font-size: 17px;
  font-family: 'Open Sans', sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 28px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #333;
  float: left;
}
.top-cart-action {
  overflow: hidden;
}
.top-cart-action .button {
  float: right;
}
/*------------------------------------------------------------------
[8.1 Top Bar]
*/
.top-bar {
  position: relative;
  height: 37px;
  margin: 0;
  line-height: 36px;
  font-size: 13px;
  border-bottom: 1px solid #ffffff;
}
.mobile .top-bar,
.header-sticky .top-bar {
  display: none;
}
/* Top Bar - Light */
.top-bar.light {
  border-color: #ffffff;
  border-color: rgba(255, 255, 255, 0.37);
  color: #ffffff;
  margin: 0;
}
.top-bar.light a {
  color: #ffffff;
}
.top-bar.light a:hover,
.top-bar.light a:focus {
  color: #ffffff;
  opacity: .8;
}
.top-bar.light .container-fluid {
  padding: 0;
}
.main-header.dark .top-bar.light {
  margin: 0;
  border-color: #39383a;
}
.main-header.dark .top-bar.light .container-fluid {
  padding: 0 30px;
}
.header-alt .top-bar.light {
  margin: 0;
}
/* Top Bar - Dark */
.top-bar.dark {
  border-color: #333;
  border-color: rgba(55, 55, 55, 0.73);
  color: #333;
  margin: 0 30px;
}
.top-bar.dark .container-fluid {
  padding: 0;
}
.main-header.light .top-bar.dark {
  margin: 0;
  border-color: #ffffff;
}
.main-header.light .top-bar.dark .container-fluid {
  padding: 0 30px;
}
.header-alt .top-bar.dark {
  margin: 0;
}
/* Top Links */
.top-links {
  position: relative;
  float: left;
}
.top-links ul {
  margin: 0;
  list-style: none;
}
.top-links ul li {
  float: left;
  position: relative;
  height: 36px;
}
.top-links li > a {
  display: block;
  margin: 0 12px;
  font-family: 'Raleway', Arial, sans-serif;
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  height: 36px;
  color: #333;
  letter-spacing: 1px;
}
.top-links li:first-child > a {
  margin-left: 0;
}
.top-links li:last-child > a {
  margin-right: 0;
}
.top-links li > a i {
  font-size: 14px;
  color: #333;
}
.top-links li > a:hover,
.top-links li > a:hover i {
  color: #555;
}
/* Top Social */
.top-social {
  position: relative;
  float: right;
}
.top-social ul {
  margin: 0;
  list-style: none;
}
.top-social ul li {
  float: left;
  position: relative;
  height: 36px;
}
.top-social li > a {
  display: block;
  padding: 0 12px;
  font-family: 'Raleway', Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  text-transform: uppercase;
  height: 36px;
  color: #333;
  letter-spacing: 1px;
}
.top-social li > a i {
  font-size: 14px;
  color: #333;
}
.top-social li > a:hover,
.top-social li > a:hover i {
  color: #333;
}
/* Top Content */
.top-content {
  position: relative;
  float: left;
}
/*------------------------------------------------------------------
[8.2 Header Styles]
*/
.header-nav {
  position: relative;
}
.nav-block {
  display: block;
}
.nav-block.left {
  float: left;
}
.nav-block.right {
  float: right;
}
/* Block Header */
.nav-toggle {
  display: none;
  float: left;
  border: 0;
  margin: 0;
  padding: 0;
  background: transparent;
  border-right: 1px solid #ffffff;
  color: #333;
  font-size: 31px;
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
}
.nav-toggle i {
  display: block;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.nav-toggle.open i {
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -o-transform: rotate(90deg);
}
/* Block Menu */
.header-nav ul.menu {
  position: static;
  margin: 0;
  padding: 0;
  list-style: none;
}
.header-nav .bt-dropdown,
.header-nav ul.menu > li {
  position: static;
  float: left;
  margin: 0 15px;
}
.header-nav .menu > li > a,
.bt-dropdown-menu > li > a,
.header-widget.widget-menu ul li a {
  display: block;
  font-size: 13px;
  font-family: 'Open Sans', sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.header-nav .menu > li > a {
  line-height: 50px;
}
.main-header .fa.fa-angle-down {
  font-size: 13px;
}
.bt-dropdown-menu {
  visibility: hidden;
  display: block;
  position: absolute;
  top: 100%;
  left: auto;
  z-index: 1000;
  opacity: 0;
  float: left;
  text-align: left;
  list-style: none;
  min-width: 230px;
  margin: 0;
  padding: 0;
  font-size: 14px;
  background-color: #ffffff;
  border: 1px solid #ffffff;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transform: translate3d(0, 10px, 0);
  -webkit-transform: translate3d(0, 10px, 0);
  -moz-transform: translate3d(0, 10px, 0);
}
.dropdown-submenu .bt-dropdown-menu.menu-pos-invert {
  left: -100%;
  margin-left: -2px;
}
.bt-dropdown-menu > li > a,
.header-widget.widget-menu ul li a {
  padding: 10px 17px;
  line-height: 21px;
  color: #777;
}
.open > .bt-dropdown-menu {
  display: block;
  opacity: 1;
  transform: translate3d(0, 0px, 0);
  -webkit-transform: translate3d(0, 0px, 0);
  -moz-transform: translate3d(0, 0px, 0);
  visibility: visible;
}
.header-nav ul.menu li.dropdown-submenu {
  position: relative;
}
.header-nav .dropdown-submenu > a::after {
  content: "\f105";
  font: normal normal normal 14px/21px FontAwesome;
  display: inline-block;
  border: 0;
  margin: 0;
  position: absolute;
  right: 15px;
}
.dropdown-submenu .bt-dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -1px;
}
.header-nav .bt-dropdown-menu > li > a:focus,
.header-nav .bt-dropdown-menu > li > a:hover,
.header-nav .dropdown-submenu.open > a,
.header-nav .dropdown-submenu.open > a:focus,
.header-nav .dropdown-submenu.open > a:hover,
.header-widget.widget-menu ul li a:focus,
.header-widget.widget-menu ul li a:hover {
  color: #ef4136;
  background-color: #f5f7f9;
}
/* Mega Menu */
.header-nav .bt-dropdown.mega-menu .bt-dropdown-menu {
  left: 0;
  right: 0;
  background-color: transparent;
  border: 0;
}
.mega-menu-content {
  padding: 30px 30px;
  margin: 0;
  background-color: #ffffff;
  border: 1px solid #ffffff;
}
.mega-menu-content li a {
  padding: 10px 0;
  font-size: 13px;
  font-family: 'Open Sans', sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 21px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #777;
}
.mega-menu-content li a:hover {
  color: #ef4136;
}
.mega-menu-content .list-header {
  font-size: 13px;
  font-family: 'Open Sans', sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 21px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #333;
  margin-top: 15px;
  margin-bottom: 10px;
}
.mega-menu-content .list-header:first-child {
  margin-top: 0;
}
/*	Header Style General */
.main-header.header-alt.header-sticky .header-nav .mega-menu-content {
  border-left-width: 1px;
  border-right-width: 1px;
}
.main-header.transparent .logo-light,
.main-header.transparent.header-sticky .header-logo .logo-dark {
  display: block;
  visibility: visible;
}
.main-header.transparent .logo-dark,
.main-header.transparent.header-sticky .header-logo .logo-light {
  visibility: hidden;
  display: none;
}
/* Header Style 1 */
.main-header.style-1 .header-nav .mega-menu-content,
.main-header.style-1.header-sticky .header-nav .mega-menu-content {
  border-left-width: 0;
  border-right-width: 0;
}
.main-header.style-1.transparent .header-nav .mega-menu-content,
.main-header.style-1.transparent.header-sticky .header-nav .mega-menu-content {
  border-left-width: 1px;
  border-right-width: 1px;
}
.main-header.style-1.transparent {
  padding-top: 0;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.37);
}
.main-header.style-1.transparent-dark {
  padding-top: 0;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.07);
}
.main-header.style-1.transparent .top-bar {
  padding: 0 30px;
}
.main-header.style-1 .header-logo {
  padding-right: 30px;
  height: 50px;
  box-shadow: 1px 0 0 rgba(255, 255, 255, 0.37), -15px 0 0 rgba(255, 255, 255, 0.07);
}
.main-header.style-1.transparent-dark .header-logo {
  box-shadow: 1px 0 0 rgba(0, 0, 0, 0.07), -15px 0 0 rgba(0, 0, 0, 0.03);
  /*background: rgba(0,0,0,0.02);*/
}
.main-header.style-1.light .header-logo,
.main-header.style-1.header-sticky .header-logo,
.main-header.style-1.transparent.header-sticky .header-logo {
  box-shadow: 1px 0 0 #ffffff;
  background: transparent;
}
.main-header.style-1.dark .header-logo {
  box-shadow: 1px 0 0 #39383a;
}
/* Header Style 2 */
.main-header.style-2 .header-above {
  border-bottom: 1px solid #ffffff;
}
.main-header.style-2.dark .header-above,
.main-header.style-2.semi-dark .header-above {
  border-color: #39383a;
}
.main-header.style-2.transparent .header-above {
  border-color: transparent;
}
.main-header.style-2.transparent.scrolled .header-above {
  border-color: #ffffff;
}
.main-header.style-2 .header-widget:last-child .trigger-widget,
.main-header.style-2 .header-widget:last-child .widget-content {
  margin-right: 0;
}
.main-header.style-2 .header-nav .bt-dropdown:first-child,
.main-header.style-2 .header-nav ul.menu > li:first-child {
  margin-left: 0;
}
.main-header.style-2 .header-nav .mega-menu-content {
  max-width: 1170px;
  margin-left: auto;
  margin-right: auto;
}
.main-header.style-2.header-narrow .header-nav .mega-menu-content {
  max-width: 1200px;
  margin-left: 0;
  margin-right: 0;
}
.main-header.style-2 .header-nav .mega-menu-content,
.main-header.style-2.header-sticky .header-nav .mega-menu-content {
  border-left-width: 1px;
  border-right-width: 1px;
}
/* Nav - Color Style - Light */
.header-nav.light .logo-light {
  display: block;
  visibility: visible;
}
.header-nav.light .logo-dark {
  visibility: hidden;
  display: none;
}
.header-sticky .header-nav.light .logo-light {
  visibility: hidden;
  display: none;
}
.header-sticky .header-nav.light .logo-dark {
  display: block;
  visibility: visible;
}
.header-nav.light .menu > li > a,
.header-nav.light .menu > li > a > i,
.header-nav.light .top-links li > a,
.header-nav.light .top-links li > a i,
.header-nav.light .top-social li > a,
.header-nav.light .top-social li > a i,
.header-nav.light .top-links li > a:hover,
.header-nav.light .top-links li > a:hover i,
.header-nav.light .top-social li > a:hover,
.header-nav.light .top-social li > a:hover i,
.header-nav.light .trigger-widget,
.header-nav.light .trigger-widget:focus,
.header-nav.light .trigger-widget:hover,
.header-nav.light .trigger-widget i {
  color: #ffffff;
}
.header-sticky .header-nav.light .menu > li > a,
.header-sticky .header-nav.light .menu > li > a > i,
.header-sticky .header-nav.light .top-links li > a,
.header-sticky .header-nav.light .top-links li > a i,
.header-sticky .header-nav.light .top-social li > a,
.header-sticky .header-nav.light .top-social li > a i,
.header-sticky .header-nav.light .top-links li > a:hover,
.header-sticky .header-nav.light .top-links li > a:hover i,
.header-sticky .header-nav.light .top-social li > a:hover,
.header-sticky .header-nav.light .top-social li > a:hover i,
.header-sticky .header-nav.light .trigger-widget,
.header-sticky .header-nav.light .trigger-widget:focus,
.header-sticky .header-nav.light .trigger-widget:hover,
.header-sticky .header-nav.light .trigger-widget i {
  color: #ffffff;
}
.header-sticky.dark .header-nav.light .menu > li > a,
.header-sticky.dark .header-nav.light .menu > li > a > i,
.header-sticky.dark .header-nav.light .top-links li > a,
.header-sticky.dark .header-nav.light .top-links li > a i,
.header-sticky.dark .header-nav.light .top-social li > a,
.header-sticky.dark .header-nav.light .top-social li > a i,
.header-sticky.dark .header-nav.light .top-links li > a:hover,
.header-sticky.dark .header-nav.light .top-links li > a:hover i,
.header-sticky.dark .header-nav.light .top-social li > a:hover,
.header-sticky.dark .header-nav.light .top-social li > a:hover i,
.header-sticky.dark .header-nav.light .trigger-widget,
.header-sticky.dark .header-nav.light .trigger-widget:focus,
.header-sticky.dark .header-nav.light .trigger-widget:hover,
.header-sticky.dark .header-nav.light .trigger-widget i {
  color: #ffffff;
}
/* Nav - Color Style - Dark */
.header-nav.dark .menu > li > a,
.header-nav.dark .menu > li > a > i,
.header-nav.dark .top-links li > a,
.header-nav.dark .top-links li > a i,
.header-nav.dark .top-social li > a,
.header-nav.dark .top-social li > a i,
.header-nav.dark .top-links li > a:hover,
.header-nav.dark .top-links li > a:hover i,
.header-nav.dark .top-social li > a:hover,
.header-nav.dark .top-social li > a:hover i,
.header-nav.dark .trigger-widget,
.header-nav.dark .trigger-widget:focus,
.header-nav.dark .trigger-widget:hover,
.header-nav.dark .trigger-widget i {
  color: #333;
}
/* Nav - Color Style - Light-Dark */
.header-nav.light-dark .mega-menu-content {
  background-color: #222;
  border-color: #222;
}
.header-nav.light-dark.nav-narrow.nav-sticky .mega-menu-content {
  border-left-width: 1px;
  border-right-width: 1px;
}
.header-nav.light-dark .bt-dropdown-menu,
.header-nav.light-dark .header-widget .widget-content {
  background-color: #222;
  border-color: #222;
}
.header-nav.light-dark .top-cart-item {
  border-color: #777777;
}
.header-nav.light-dark .menu > li > a,
.header-nav.light-dark .menu > li > a > i,
.header-nav.light-dark .top-links li > a,
.header-nav.light-dark .top-links li > a i,
.header-nav.light-dark .top-social li > a,
.header-nav.light-dark .top-social li > a i,
.header-nav.light-dark .top-links li > a:hover,
.header-nav.light-dark .top-links li > a:hover i,
.header-nav.light-dark .top-social li > a:hover,
.header-nav.light-dark .top-social li > a:hover i,
.header-nav.light-dark .trigger-widget,
.header-nav.light-dark .trigger-widget:focus,
.header-nav.light-dark .trigger-widget:hover,
.header-nav.light-dark .trigger-widget i,
.header-nav.light-dark .nav-toggle {
  color: #ffffff;
}
.header-nav.light-dark .mega-menu-content .list-header {
  color: #ffffff;
}
.header-nav.light-dark .bt-dropdown-menu > li > a,
.header-nav.light-dark .header-widget.widget-menu ul li a,
.header-nav.light-dark .mega-menu-content li a,
.header-nav.light-dark .top-cart-item a,
.header-nav.light-dark .top-cart .item-desc span.item-quantity,
.header-nav.light-dark .top-checkout-price {
  color: #b9b8ba;
}
.header-nav.light-dark .bt-dropdown-menu > li > a:focus,
.header-nav.light-dark .bt-dropdown-menu > li > a:hover,
.header-nav.light-dark .dropdown-submenu.open > a,
.header-nav.light-dark .dropdown-submenu.open > a:focus,
.header-nav.light-dark .dropdown-submenu.open > a:hover,
.header-nav.light-dark .header-widget.widget-menu ul li a:focus,
.header-nav.light-dark .header-widget.widget-menu ul li a:hover {
  color: #ef4136;
  background-color: #333;
}
.header-nav.light-dark .mega-menu-content li a:hover {
  color: #ef4136;
}
/* Nav - Color Style - Light-Light */
.main-header.header-alt.header-sticky .header-nav.light-light .mega-menu-content {
  border-left-width: 1px;
  border-right-width: 1px;
}
.header-nav.light-light .logo-light {
  display: block;
  visibility: visible;
}
.header-nav.light-light .logo-dark {
  visibility: hidden;
  display: none;
}
.header-sticky .header-nav.light-light .logo-light {
  visibility: hidden;
  display: none;
}
.header-sticky .header-nav.light-light .logo-dark {
  display: block;
  visibility: visible;
}
.header-nav.light-light .menu > li > a,
.header-nav.light-light .menu > li > a > i,
.header-nav.light-light .top-links li > a,
.header-nav.light-light .top-links li > a i,
.header-nav.light-light .top-social li > a,
.header-nav.light-light .top-social li > a i,
.header-nav.light-light .top-links li > a:hover,
.header-nav.light-light .top-links li > a:hover i,
.header-nav.light-light .top-social li > a:hover,
.header-nav.light-light .top-social li > a:hover i,
.header-nav.light-light .trigger-widget,
.header-nav.light-light .trigger-widget:focus,
.header-nav.light-light .trigger-widget:hover,
.header-nav.light-light .trigger-widget i,
.header-nav.light-light .nav-toggle {
  color: #ffffff;
}
.header-sticky .header-nav.light-light .menu > li > a,
.header-sticky .header-nav.light-light .menu > li > a > i,
.header-sticky .header-nav.light-light .top-links li > a,
.header-sticky .header-nav.light-light .top-links li > a i,
.header-sticky .header-nav.light-light .top-social li > a,
.header-sticky .header-nav.light-light .top-social li > a i,
.header-sticky .header-nav.light-light .top-links li > a:hover,
.header-sticky .header-nav.light-light .top-links li > a:hover i,
.header-sticky .header-nav.light-light .top-social li > a:hover,
.header-sticky .header-nav.light-light .top-social li > a:hover i,
.header-sticky .header-nav.light-light .trigger-widget,
.header-sticky .header-nav.light-light .trigger-widget:focus,
.header-sticky .header-nav.light-light .trigger-widget:hover,
.header-sticky .header-nav.light-light .trigger-widget i {
  color: #ffffff;
}
.cover.profile .cover-info .avatar {
  bottom: 30px;
}
.cover {
  overflow: visible;
}
.dropdown-menu {
  min-width: 300px;
}
.notif-count {
  font-size: 10px;
}
.btn-see-more-notif {
  color: #ef4136 !important;
  padding-right: 10px;
  font-size: 10px;
}
.notif-divider {
  margin: 0 !important;
  width: 100%;
}
.media-notification {
  max-height: 45px;
  overflow: hidden;
  margin-top: 2px;
  cursor: pointer;
}
.media-notification .media-body p {
  border-top: 1px solid #eee;
  font-size: 12px;
  max-height: 31px;
  line-height: 13px;
  overflow: hidden;
  padding-top: 3px;
}
.media-notification .media-body span {
  line-height: 10px;
  font-size: 10px;
  position: absolute;
  margin-top: 2px;
}
.media-notification .media-left img {
  width: 45px;
  margin-top: 2px;
  margin-left: 2px;
}
.media-notification p:hover {
  text-decoration: underline !important;
}
.dropdown-menu:nth-child(2) {
  border: 0;
}
.dropdown-menu .media-notification-first {
  margin-top: 0;
}
.media-body-notification a.time span {
  color: #333333;
}
.media-body-notification .button-like {
  cursor: pointer;
  padding-top: 5px;
  display: none;
  position: absolute;
  right: 40px;
}
.media-body-notification:hover .button-like {
  display: block;
  background-color: white;
}
.media-body-notification .creator {
  font-size: 0.95em;
  font-weight: 400;
}
.media-body-notification .time {
  font-size: 0.95em;
}
.item-notification .profile-card {
  margin-right: 15px !important;
}
.item-notification .profile-card .user-image img {
  width: 50px !important;
  height: 50px !important;
}
.item-notification p {
  line-height: 18px;
  margin-top: 3px !important;
}
.inbox {
  height: 1000px;
  margin: 10px 0;
  overflow: hidden;
  border-bottom: 1px solid #e4e4e4;
}
.inbox .conversation-menu {
  background-color: #fafafa;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 300px;
}
.inbox .conversation-menu > div {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.inbox .conversation-menu > div .select-list-type {
  min-height: 60px;
  max-height: 60px;
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid #e4e4e4;
}
.inbox .conversation-menu > div .select-list-type button {
  margin-top: 12px;
  margin-left: 5px;
}
.inbox .conversation-menu > div .select-list-type .menu-title {
  line-height: 60px;
  font-size: 1.3em;
}
.inbox .conversation-menu > div .conversation-list {
  padding-top: 5px;
  padding-left: 5px;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  position: relative;
  overflow-y: auto;
  outline: 0;
}
.inbox .conversation-menu > div .conversation-list .scoller {
  width: 100%;
}
.inbox .conversation-menu > div .conversation-list .scoller ul {
  width: 100%;
  padding: 0;
}
.inbox .conversation-menu > div .conversation-list .scoller ul li {
  cursor: pointer;
  list-style: none;
  min-height: 80px;
  max-height: 400px;
}
.inbox .conversation-menu > div .conversation-list .scoller ul li .menu-conv-name {
  margin-top: 3px;
}
.inbox .conversation-menu > div .conversation-list .scoller ul li .conv-members-length {
  font-size: 0.9em;
}
.inbox .conversation-menu > div .conversation-list .scoller ul li .conv-leave i {
  font-size: 1.5em;
  visibility: hidden;
  margin-right: 10px;
}
.inbox .conversation-menu > div .conversation-list .scoller ul li .conv-leave i:hover {
  color: #ef4136;
}
.inbox .conversation-menu > div .conversation-list .scoller ul li img {
  max-height: 70px;
  border-radius: 3px;
  margin-top: 5px;
  margin-left: 5px;
}
.inbox .conversation-menu > div .conversation-list .scoller ul li:hover .conv-leave {
  visibility: visible;
}
.inbox .conversation-menu > div .conversation-list .scoller ul li.selected {
  background-color: #fac7c4;
}
.inbox .conversation-menu > div .conversation-list .scoller ul li.load-more-conversation {
  height: 40px;
  padding: 5%;
}
.inbox .conversation-menu > div .conversation-list .scoller ul li.load-more-conversation a {
  display: inline-block;
  height: 100%;
  text-decoration: underline;
  width: 100%;
  text-align: center;
  color: #ef4136;
  line-height: 40px;
}
.inbox .conversation-details {
  background-color: white;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 300px;
}
.inbox .conversation-details > div {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.inbox .conversation-details > div .conversation-header {
  min-height: 60px;
  max-height: 60px;
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid #e4e4e4;
}
.inbox .conversation-details > div .conversation-header a.button-back-menu {
  margin-left: 0px;
  margin-right: 20px;
  margin-top: 10px;
  cursor: pointer;
  color: #333333;
}
.inbox .conversation-details > div .conversation-header .btn-option-conv {
  margin-top: 17px;
}
.inbox .conversation-details > div .conversation-header .btn-option-conv i {
  color: #333;
}
.inbox .conversation-details > div .conversation-header .btn-option-conv .dropdown-menu {
  min-width: 150px;
}
.inbox .conversation-details > div .conversation-header .btn-option-conv .dropdown-menu li {
  text-align: right;
}
.inbox .conversation-details > div .conversation-header .conv-title {
  line-height: 60px;
  max-width: 80%;
}
.inbox .conversation-details > div .conversation-header .conv-title img {
  margin-right: 15px;
  margin-top: 3px;
  height: 50px;
  width: 50px;
  border-radius: 50%;
}
.inbox .conversation-details > div .conversation-header .conv-title .text {
  font-size: 1.4em;
  overflow-y: hidden;
  height: 60px;
}
.inbox .conversation-details > div .conversation-content {
  padding-top: 5px;
  display: flex;
  flex-direction: column;
  flex: 1 500 auto;
  position: relative;
  overflow-y: auto;
  outline: 0;
}
.inbox .conversation-details > div .conversation-content .scroller {
  width: 100%;
}
.inbox .conversation-details > div .conversation-content .scroller .load-more-div {
  text-align: center;
  padding: 10px 0;
  width: 100%;
  float: left;
}
.inbox .conversation-details > div .conversation-content .scroller .load-more-div a {
  text-decoration: underline;
  font-size: 12px;
  color: #ef4136;
}
.inbox .conversation-details > div .conversation-content .scroller .current-rider-message,
.inbox .conversation-details > div .conversation-content .scroller .rider-message {
  width: 99%;
  margin-bottom: 10px;
  float: left;
}
.inbox .conversation-details > div .conversation-content .scroller .current-rider-message .img-conversation-message,
.inbox .conversation-details > div .conversation-content .scroller .rider-message .img-conversation-message {
  max-height: 34px;
  max-width: 34px;
  border-radius: 50%;
  float: right !important;
  margin-right: 5px;
  display: none;
}
.inbox .conversation-details > div .conversation-content .scroller .current-rider-message .message,
.inbox .conversation-details > div .conversation-content .scroller .rider-message .message {
  border-radius: 3px;
  text-align: left;
  max-width: 100%;
  box-sizing: border-box;
  width: 80%;
  float: right;
  padding: 8px;
  background-color: #fcdddb;
  color: #66696a;
}
.inbox .conversation-details > div .conversation-content .scroller .current-rider-message .message img,
.inbox .conversation-details > div .conversation-content .scroller .rider-message .message img {
  max-height: 250px;
  margin: auto;
  cursor: pointer;
}
.inbox .conversation-details > div .conversation-content .scroller .current-rider-message .message > div,
.inbox .conversation-details > div .conversation-content .scroller .rider-message .message > div {
  line-height: 18px;
  white-space: pre-line;
  word-wrap: break-word;
}
.inbox .conversation-details > div .conversation-content .scroller .current-rider-message .message .message-tools,
.inbox .conversation-details > div .conversation-content .scroller .rider-message .message .message-tools {
  white-space: nowrap;
}
.inbox .conversation-details > div .conversation-content .scroller .current-rider-message .message .message-tools .remove-message,
.inbox .conversation-details > div .conversation-content .scroller .rider-message .message .message-tools .remove-message {
  cursor: pointer;
  visibility: hidden;
}
.inbox .conversation-details > div .conversation-content .scroller .current-rider-message .message .message-tools .time,
.inbox .conversation-details > div .conversation-content .scroller .rider-message .message .message-tools .time {
  font-size: 11px;
  color: #444;
  display: inline-block;
}
.inbox .conversation-details > div .conversation-content .scroller .current-rider-message .message:hover .remove-message,
.inbox .conversation-details > div .conversation-content .scroller .rider-message .message:hover .remove-message {
  visibility: visible !important;
}
.inbox .conversation-details > div .conversation-content .scroller .rider-message .img-conversation-message {
  float: left !important;
  margin-left: 5px;
  display: block;
}
.inbox .conversation-details > div .conversation-content .scroller .rider-message .message {
  margin-right: 0px;
  margin-left: 10px;
  float: left;
  background-color: #f1f3f5;
  color: #333333;
}
.inbox .write-section {
  width: 100%;
  padding: 0 15px;
  margin-bottom: 5px;
  display: flex;
  flex-direction: column;
}
.inbox .write-section .scroller {
  display: flex;
  flex-direction: column;
  border: 1px solid #fac7c4;
  border-radius: 3px;
}
.inbox .write-section .scroller form {
  display: flex;
  flex-direction: column;
  padding: 15px;
}
.inbox .write-section .scroller form textarea {
  border: 0 none;
  min-height: 35px;
  width: 100%;
  max-height: 300px;
  height: auto;
  resize: none;
  line-height: 18px;
}
.inbox .write-section .scroller form .compose-bar {
  height: 30px;
}
.inbox .write-section .scroller form .compose-bar button {
  margin-left: 5px;
}
.inbox .write-section .scroller form .compose-bar .checkbox {
  margin-top: 6px;
  margin-left: 10px;
}
.inbox .write-section .scroller form .compose-bar i.fa-picture-o {
  font-size: 1.4em;
  margin-top: 7px;
  cursor: pointer;
}
.inbox .write-section .scroller form .compose-bar i.fa-picture-o:hover {
  color: #ef4136;
}
.inbox .write-section .scroller form.form-image textarea {
  display: inline-flex;
  width: 73%;
  vertical-align: top;
}
.inbox .write-section .scroller form.form-image .message-preview-img {
  width: 25%;
  margin-left: 1%;
  display: inline-flex;
}
.inbox .write-section .scroller form.form-image .message-preview-img img {
  max-height: 100px;
  margin: auto;
}
.inbox .write-section .scroller form.form-image .message-preview-img .remove-btn {
  position: absolute;
  color: #333;
}
.inbox .write-section .scroller form.form-image .message-preview-img .remove-btn:hover {
  color: #ef4136;
}
.modal-create-conversation {
  margin-top: 40px;
}
.modal-create-conversation .modal-content {
  padding: 15px;
}
.modal-create-conversation .modal-content textarea {
  line-height: 16px;
  resize: none;
  font-size: 13px;
}
.loading-page {
  min-height: 200px;
  margin-top: 0px;
  margin-bottom: 10px;
  width: 100%;
  padding-top: 100px;
  padding-bottom: 40px;
  display: flex;
}
.loading-page .loader {
  top: inherit;
}
.loading-page > div {
  align-self: center;
}
.loading-white {
  background-color: white;
  border-radius: 10;
}
/* LOADER 2 */
.loader {
  width: 250px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: helvetica, arial, sans-serif;
  text-transform: uppercase;
  font-weight: 900;
  color: #ef4136;
  letter-spacing: 0.2em;
}
.loader::before,
.loader::after {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  background: #ef4136;
  position: absolute;
  animation: load 0.7s infinite alternate ease-in-out;
}
.loader::before {
  top: 0;
}
.loader::after {
  bottom: 0;
}
@keyframes load {
  0% {
    left: 0;
    height: 30px;
    width: 15px;
  }
  50% {
    height: 8px;
    width: 40px;
  }
  100% {
    left: 235px;
    height: 30px;
    width: 15px;
  }
}
/**
<div id="cssload-wrapper">
	<div class="cssload-loader">
		<div class="cssload-line"></div>
		<div class="cssload-line"></div>
		<div class="cssload-line"></div>
		<div class="cssload-line"></div>
		<div class="cssload-line"></div>
		<div class="cssload-line"></div>
		<div class="cssload-subline"></div>
		<div class="cssload-subline"></div>
		<div class="cssload-subline"></div>
		<div class="cssload-subline"></div>
		<div class="cssload-subline"></div>
		<div class="cssload-loader-circle-1"><div class="cssload-loader-circle-2"></div></div>
		<div class="cssload-needle"></div>
		<div class="cssload-loading">NM</div>
	</div>
</div>

*/
#cssload-wrapper {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 15;
  overflow: hidden;
}
.cssload-loader {
  width: 146px;
  height: 146px;
  border: 1px #000000 solid;
  position: absolute;
  left: 50%;
  top: 50%;
  margin: -73px 0 0 -73px;
  border-radius: 50%;
  -o-border-radius: 50%;
  -ms-border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
}
.cssload-loader .cssload-loading {
  font-size: 10px;
  position: absolute;
  width: 100%;
  text-align: center;
  line-height: 14px;
  font-family: 'Century Gothic', sans-serif;
  font-style: italic;
  left: 0;
  top: 50%;
  margin-top: 19px;
  color: #000000;
  font-weight: bold;
  text-transform: uppercase;
  -o-text-transform: uppercase;
  -ms-text-transform: uppercase;
  -webkit-text-transform: uppercase;
  -moz-text-transform: uppercase;
}
.cssload-loader-circle-1 {
  width: 135px;
  height: 135px;
  left: 5px;
  top: 5px;
  border: 1px #000000 solid;
  position: absolute;
  border-right-color: transparent;
  border-radius: 50%;
  -o-border-radius: 50%;
  -ms-border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  animation: spin 3.45s linear infinite;
  -o-animation: spin 3.45s linear infinite;
  -ms-animation: spin 3.45s linear infinite;
  -webkit-animation: spin 3.45s linear infinite;
  -moz-animation: spin 3.45s linear infinite;
}
.cssload-loader-circle-2 {
  width: 123px;
  height: 123px;
  left: 5px;
  top: 5px;
  border: 1px transparent solid;
  position: absolute;
  border-right-color: #e81512;
  border-radius: 50%;
  -o-border-radius: 50%;
  -ms-border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  animation: spin 5.75s linear infinite;
  -o-animation: spin 5.75s linear infinite;
  -ms-animation: spin 5.75s linear infinite;
  -webkit-animation: spin 5.75s linear infinite;
  -moz-animation: spin 5.75s linear infinite;
}
.cssload-loader .cssload-line {
  width: 10px;
  height: 2px;
  background: #000000;
  position: absolute;
}
.cssload-loader .cssload-line:nth-child(1) {
  left: 16px;
  top: 50%;
  margin-top: -1px;
}
.cssload-loader .cssload-line:nth-child(2) {
  transform: rotate(45deg);
  -o-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  left: 32px;
  top: 32px;
}
.cssload-loader .cssload-line:nth-child(3) {
  top: 16px;
  left: 50%;
  width: 2px;
  height: 10px;
}
.cssload-loader .cssload-line:nth-child(4) {
  transform: rotate(135deg);
  -o-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  -moz-transform: rotate(135deg);
  right: 32px;
  top: 32px;
}
.cssload-loader .cssload-line:nth-child(5) {
  right: 16px;
  top: 50%;
  margin-top: -1px;
}
.cssload-loader .cssload-line:nth-child(6) {
  transform: rotate(45deg);
  -o-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  right: 32px;
  bottom: 32px;
  background: #e81512;
}
.cssload-loader .cssload-subline {
  position: absolute;
  width: 3px;
  height: 2px;
  background: #000000;
}
.cssload-loader .cssload-subline:nth-child(7) {
  transform: rotate(22.5deg);
  -o-transform: rotate(22.5deg);
  -ms-transform: rotate(22.5deg);
  -webkit-transform: rotate(22.5deg);
  -moz-transform: rotate(22.5deg);
  left: 20px;
  top: 49px;
}
.cssload-loader .cssload-subline:nth-child(8) {
  transform: rotate(67.5deg);
  -o-transform: rotate(67.5deg);
  -ms-transform: rotate(67.5deg);
  -webkit-transform: rotate(67.5deg);
  -moz-transform: rotate(67.5deg);
  left: 49px;
  top: 20px;
}
.cssload-loader .cssload-subline:nth-child(9) {
  transform: rotate(112.5deg);
  -o-transform: rotate(112.5deg);
  -ms-transform: rotate(112.5deg);
  -webkit-transform: rotate(112.5deg);
  -moz-transform: rotate(112.5deg);
  right: 49px;
  top: 20px;
}
.cssload-loader .cssload-subline:nth-child(10) {
  transform: rotate(157.5deg);
  -o-transform: rotate(157.5deg);
  -ms-transform: rotate(157.5deg);
  -webkit-transform: rotate(157.5deg);
  -moz-transform: rotate(157.5deg);
  right: 20px;
  top: 49px;
}
.cssload-loader .cssload-subline:nth-child(11) {
  transform: rotate(22.5deg);
  -o-transform: rotate(22.5deg);
  -ms-transform: rotate(22.5deg);
  -webkit-transform: rotate(22.5deg);
  -moz-transform: rotate(22.5deg);
  right: 19px;
  bottom: 48px;
  background: #e81512;
}
.cssload-loader .cssload-needle {
  width: 14px;
  height: 14px;
  border: 1px #000000 solid;
  position: absolute;
  left: 50%;
  top: 50%;
  margin: -8px 0 0 -8px;
  z-index: 1;
  border-radius: 50%;
  -o-border-radius: 50%;
  -ms-border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  animation: pegIt 3.45s infinite ease-in-out;
  -o-animation: pegIt 3.45s infinite ease-in-out;
  -ms-animation: pegIt 3.45s infinite ease-in-out;
  -webkit-animation: pegIt 3.45s infinite ease-in-out;
  -moz-animation: pegIt 3.45s infinite ease-in-out;
}
.cssload-loader .cssload-needle:before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3.5px 49px 3.5px 0;
  border-color: transparent #e81512 transparent transparent;
  position: absolute;
  right: 50%;
  top: 50%;
  margin: -3.5px 0 0 0;
  border-radius: 0 50% 50% 0;
  -o-border-radius: 0 50% 50% 0;
  -ms-border-radius: 0 50% 50% 0;
  -webkit-border-radius: 0 50% 50% 0;
  -moz-border-radius: 0 50% 50% 0;
}
@keyframes pegIt {
  0% {
    transform: rotate(0deg);
  }
  16% {
    transform: rotate(75deg);
  }
  25% {
    transform: rotate(55deg);
  }
  30% {
    transform: rotate(90deg);
  }
  36% {
    transform: rotate(170deg);
  }
  42% {
    transform: rotate(150deg);
  }
  50% {
    transform: rotate(227deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@-o-keyframes pegIt {
  0% {
    -o-transform: rotate(0deg);
  }
  16% {
    -o-transform: rotate(75deg);
  }
  25% {
    -o-transform: rotate(55deg);
  }
  30% {
    -o-transform: rotate(90deg);
  }
  36% {
    -o-transform: rotate(170deg);
  }
  42% {
    transform: rotate(150deg);
  }
  50% {
    -o-transform: rotate(227deg);
  }
  100% {
    -o-transform: rotate(0deg);
  }
}
@-ms-keyframes pegIt {
  0% {
    -ms-transform: rotate(0deg);
  }
  16% {
    -ms-transform: rotate(75deg);
  }
  25% {
    -ms-transform: rotate(55deg);
  }
  30% {
    -ms-transform: rotate(90deg);
  }
  36% {
    -ms-transform: rotate(170deg);
  }
  42% {
    transform: rotate(150deg);
  }
  50% {
    -ms-transform: rotate(227deg);
  }
  100% {
    -ms-transform: rotate(0deg);
  }
}
@-webkit-keyframes pegIt {
  0% {
    -webkit-transform: rotate(0deg);
  }
  16% {
    -webkit-transform: rotate(75deg);
  }
  25% {
    -webkit-transform: rotate(55deg);
  }
  30% {
    -webkit-transform: rotate(90deg);
  }
  36% {
    -webkit-transform: rotate(170deg);
  }
  42% {
    transform: rotate(150deg);
  }
  50% {
    -webkit-transform: rotate(227deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
  }
}
@-moz-keyframes pegIt {
  0% {
    -moz-transform: rotate(0deg);
  }
  16% {
    -moz-transform: rotate(75deg);
  }
  25% {
    -moz-transform: rotate(55deg);
  }
  30% {
    -moz-transform: rotate(90deg);
  }
  36% {
    -moz-transform: rotate(170deg);
  }
  42% {
    transform: rotate(150deg);
  }
  50% {
    -moz-transform: rotate(227deg);
  }
  100% {
    -moz-transform: rotate(0deg);
  }
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@-o-keyframes spin {
  0% {
    -o-transform: rotate(0deg);
  }
  100% {
    -o-transform: rotate(360deg);
  }
}
@-ms-keyframes spin {
  0% {
    -ms-transform: rotate(0deg);
  }
  100% {
    -ms-transform: rotate(360deg);
  }
}
@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
  }
}
@-moz-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
  }
  100% {
    -moz-transform: rotate(360deg);
  }
}
.media-friend-profil img {
  width: 120px;
  height: 120px;
  margin-bottom: 0 !important;
  border-radius: 3px !important;
}
.media-friend-profil .username {
  font-size: 15px;
}
.block-add-friend .panel {
  min-height: 310px;
  text-align: center;
}
.block-add-friend .panel button {
  margin: auto;
  margin-top: 50px;
}
.block-add-friend .panel .common-friends {
  text-align: left;
  margin-top: 50px;
}
@media (max-width: 767px) {
  .list-friend-item {
    height: auto;
  }
}
.navbar-primary li a {
  color: white;
}
.navbar-primary li:hover a {
  color: #333333;
}
.navbar-primary li.active a {
  color: #333333;
}
.panel-body-reduce-padding {
  padding: 2px !important;
}
.media-body-friend-box .btn {
  margin-right: 5px;
  margin-top: 5px;
}
.menu-event li button {
  margin-top: 5px;
}
.section-event-header .event-desc {
  line-height: 20px;
}
.post-event-details {
  line-height: 20px;
}
.post-event-details.is_member {
  border-left: 1px solid #ef4136;
}
.post-event-details.is_member h5,
.post-event-details.is_member h5 a {
  color: #ef4136;
}
.event-filter-start-date .datetimepicker {
  width: 100%;
}
.datetimepicker .table td,
.datetimepicker .table th {
  padding: 5px;
}
/*
ul.icon-list {
  list-style: none;
  padding: 0;
  margin-top: 10px;
  margin-bottom: 0;
  display: block;
  width: 100%;
}
ul.icon-list span {
  display: none;
}
ul.icon-list li {
  display: inline-block;
  padding: 3px 0;
  margin-right: 5px;
}
ul.icon-list li i {
  color: #cccccc;
  font-size: 16px;
  vertical-align: middle;
}
ul.icon-list li a {
  color: #5e5e5e;
}
ul.icon-list.icon-list-block {
  margin-top: 0;
}
ul.icon-list.icon-list-block li {
  display: block;
  padding: 8px 10px;
  margin: 0;
}
ul.icon-list.icon-list-block li i {
  margin-right: 5px;
}
ul.icon-list.icon-list-block li:not(:last-of-type) {
  border-bottom: 1px solid #e2e9e6;
}
.timeline-block-event-content{
  margin-top:7px;
  @media (max-width: 480px) {
    margin-top:-35px;
  }
  .item-date{
    font-size:10px;
    display: block;
  }
}
.timeline-block-event-cancel{
  .media-body-event-title{
    span a{
      text-decoration: line-through;
    }
  }
}
.profile-card{
  margin-top:100px;
}
.btn-no-profile{
  border-color:white;
  margin-top:2px;
  margin-left:2px;
  width:30px !important;
  height:30px !important;
  i{
    font-size:18px;
    color:white;
  }
}
.form-create-event{
  .control-label{
    text-align:left;
  }
}
.event-map-set{
  .angular-google-map-container{
    width:100%;
    height:300px;
  }
  .marker-set-info{
    font-size:11px;
  }
}
.media-body .event-create-title{
  line-height: 35px;
  font-size: 16px;
}
.col-event-submit{
  margin-top:20px;
}
.view-all-comments{
  background:white;
  button{
    border:0 none;
  }
}
.col-event-map{
  .angular-google-map, .angular-google-map-container{
    height:100%;
  }
}
.event-day-list{
  background-color:white;
  border-radius: 3px;
  .col-search-result-item{
    padding:0;
    >div{
      padding:2px;
      border:0;
    }
  }
}
.event-small-icon{
  padding-top:10px;
  >div{
    float:left;
    margin-right:10px;
  }
}
.event-small-hour{
  font-size:1.5em;
  color:@text-color;
  font-weight:600;
  margin-top:10px;
}
.event-day{
  > .event-day-list{
    border-top:1px solid @gray-lighter;
  }
  &:nth-child(1){
    border-top:0 none;
  }
}
.event-day-name{
  text-transform:uppercase;
}
.event-small-description-title h4{
  margin-bottom:2px;
  a{
    color:@text-color;
    font-weight:500;
    text-transform: capitalize;
  }
}
.event-small-cancel{
  .event-small-description-title h4{
    text-decoration: line-through;
  }
}
.event-small-icon-author{
  margin-bottom:10px;
}
.event-filter-start-date{
  background-color:white;
  border-radius:3px;
  >.datetimepicker{
    margin:auto;
    width:100%;
    max-width:320px;
  }
}
.event-is-member{
  border-left:3px solid @primary-color;
  box-sizing: border-box;
}
.event-map .angular-google-map{
  width:100%;
  height:300px;
  .angular-google-map-container{
    width:100%;
    height:100%;
  }
}
*/
.section-album-list,
.section-album {
  padding-top: 30px !important;
}
.section-album-list .image-container,
.section-album .image-container {
  position: relative;
  overflow: hidden;
  padding-bottom: 100%;
}
.section-album-list .image-container img,
.section-album .image-container img {
  position: absolute;
  max-width: none;
  width: auto;
  min-height: 100%;
  min-width: 100%;
}
.rider-background-image {
  background-image: url('/images/bg/motard_cuir_home.jpg');
  background-size: 100% auto;
  opacity: 0.95;
  background-color: #111;
}
.section.section-user {
  padding-bottom: 0;
}
.section.section-user .section-container {
  height: 200px;
}
.section.section-user .section-container .container {
  height: 100%;
}
.section.section-user .section-container .container .title-bottom {
  position: absolute;
  bottom: 0;
}
.section.section-user .section-container .container .heading-uppercase {
  margin-bottom: 0px;
  padding-left: 100px;
  line-height: 30px;
  letter-spacing: 3px;
}
.section.section-user .section-container .container p {
  color: white;
  padding-left: 100px;
  line-height: 20px;
}
section.section-user-menu {
  padding: 0;
  overflow: visible;
}
section.section-user-menu .user-avatar {
  height: 110px;
  width: 110px;
  background-position: center center;
  background-size: cover;
  background-image: url('/images/helmet_icon_thumb.jpg');
  position: absolute;
  top: -74px;
  z-index: 100;
  border: 1px solid #eee;
  border-radius: 50%;
}
section.section-user-menu nav {
  margin-left: 51px;
  box-shadow: 0 1px 0 #eee;
  height: 39px;
  padding-left: 48px;
}
section.section-user-menu nav .block-widgets button {
  height: 40px;
}
section.section-user-menu nav .block-menu-user {
  background-color: white;
  box-shadow: 0 1px 0 #eee;
}
section.section-user-menu nav .block-menu-user .menu li a {
  line-height: 40px;
  color: #666666;
}
section.section-user-menu nav .block-menu-user li.active a {
  color: #ef4136;
}
body.mobile section.section-user-menu nav {
  min-height: 39px;
  height: auto;
}
.widget-section-btn-option {
  position: absolute;
  top: 60px;
  right: 10px;
  width: 40px;
}
.widget-section-btn-option ng-md-icon {
  z-index: 100;
  height: 32px;
  width: 32px;
}
.widget-section-btn-option ng-md-icon.on-hover {
  display: none;
}
.section:hover .widget-section-btn-option ng-md-icon.on-hover {
  display: inherit;
}
.cover.profile .wrapper .image {
  padding-right: 0 !important;
}
.cover.profile .btn-edit-club {
  visibility: hidden;
  position: absolute;
  right: 5px;
  top: 5px;
  opacity: 0.7;
}
.cover.profile .btn-edit-club-profile-photo {
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
}
.cover.profile .btn-edit-club-profile-photo input[type="file"] {
  width: 100%;
  height: 100%;
  opacity: 0.00000001;
  top: 0;
  left: 0;
}
.cover.profile .btn-update-cover {
  visibility: hidden;
  position: absolute;
  right: 52px;
  top: 5px;
  opacity: 0.5;
  width: 35px;
  height: 35px;
  overflow: hidden;
  border-color: #ef4136;
}
.cover.profile .btn-update-cover input[type="file"] {
  opacity: 0.000001;
  top: 0;
  width: 100%;
  position: absolute;
  height: 100%;
  left: 0;
  cursor: pointer;
}
.cover.profile :hover .btn-edit-club,
.cover.profile :hover .btn-update-cover {
  visibility: visible;
}
.cover.profile .btn-validate-cover {
  position: absolute;
  right: 5px;
  top: 5px;
  opacity: 0.7;
}
.cover.profile .btn-cancel-cover {
  position: absolute;
  right: 35px;
  top: 5px;
  opacity: 0.7;
}
@media (max-width: 767px) {
  .cover.profile .btn-edit-club,
  .cover.profile .btn-update-cover {
    visibility: visible;
  }
}
@media (max-width: 768px) {
  .cover.profile .cover-info .name .page-header-name {
    color: #333333;
  }
  .cover.profile .cover-info .cover-nav {
    margin-bottom: 10px;
  }
  .cover.profile .cover-info .cover-nav li {
    float: left;
  }
}
.club-list-item {
  margin-bottom: 15px;
}
.club-list-item .panel-club-img {
  height: 222px;
  padding: 0;
  overflow: hidden;
  background-size: cover !important;
  background-position: top center;
  background-repeat: no-repeat;
}
.club-list-item .panel-club-img > a {
  width: 100%;
  height: 100%;
  display: block;
}
.cover.profile .cover-info .avatar {
  overflow: hidden;
}
.cover.profile .cover-info .avatar img {
  border: 1px solid #eee;
}
.navbar-default .navbar-nav .bootstrap-select li > a {
  color: #333333 !important;
}
.media-club-profil img {
  width: 50px;
  height: 50px;
  border-radius: 50% !important;
}
.article-club .post-club-details button {
  position: absolute;
  right: 0;
  top: 0;
  padding: 0 10px;
}
.col-search-result-item {
  padding-top: 15px;
}
.col-search-result-item > div {
  padding-top: 15px;
  border-top: 1px solid #efefef;
}
.col-search-result-item h3 {
  font-size: 1.3em;
  margin-top: 1px;
}
.col-search-result-item h3 a {
  color: #333333;
  text-decoration: none !important;
}
.search-cat-title {
  font-size: 1.4em;
  margin-top: 20px;
  font-weight: 500;
}
.search-see-all a {
  width: 100%;
  height: 40px;
  line-height: 40px;
  text-align: center;
  font-size: 1.2em;
  text-decoration: none;
  color: #333333;
  display: inline-block;
  border: 1px solid #efefef;
  margin-top: 10px;
}
.panel-search-filter {
  height: 40px;
  display: flex;
}
.panel-search-filter > div {
  flex: 0 0 auto;
  width: 20%;
  text-align: center;
}
.panel-search-filter > div a {
  color: #333333;
}
.panel-search-filter .selected-filter a {
  border-bottom: 3px solid #ef4136;
}
.ride-step-browser {
  height: 150px;
  width: 100%;
  background-position: center;
  background-size: cover;
}
.ride-step-browser > div {
  background-color: rgba(100, 100, 100, 0.9);
  height: 100%;
  width: 100%;
}
.ride-step-browser > div .back,
.ride-step-browser > div .next {
  position: absolute;
  margin-top: 61px;
  color: white;
  font-weight: bold;
}
.ride-step-browser > div .back {
  left: 20px;
}
.ride-step-browser > div .next {
  right: 20px;
}
.ride-step-browser.no-bg {
  background: none !important;
}
.ride-step-browser.no-bg > div {
  background: none;
}
.btn-facebook {
  background-color: #3b5998;
  border-color: #3b5998;
}
.btn-facebook:hover {
  background-color: #4c70ba !important;
  border-color: #4c70ba !important;
}
.panel-body-widget-suggest {
  padding: 5px;
  padding-bottom: 0;
}
.panel-body-widget-suggest button {
  margin-top: 4px;
}
.panel-body-widget-suggest .rider-suggest {
  overflow: hidden;
  height: 30px;
}
.panel-body-widget-suggest .rider-suggest img {
  height: 30px;
  width: 30px;
  border-radius: 3px;
  float: left;
}
.panel-body-widget-suggest .rider-suggest a {
  line-height: 30px;
  text-indent: 5px;
  float: left;
  color: #333;
}
.panel-body-widget-suggest .rider-friend-asked .alert {
  padding: 0;
  height: 20px;
  line-height: 20px;
  margin: 0;
}
.padding-left-none {
  padding-left: 0;
}
.padding-right-none {
  padding-right: 0;
}
.panel-account .account-profile-photo {
  margin-bottom: 10px;
  text-align: center;
}
.panel-account .account-profile-photo img {
  max-width: 200px;
  max-height: 200px;
  margin: auto;
}
.panel-account .account-profile-photo button {
  margin: auto;
  margin-top: 5px;
}
section,
.section {
  position: relative;
  overflow: hidden;
  padding: 90px 0;
}
.intro-section {
  position: relative;
  overflow: hidden;
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  padding-top: 210px;
  padding-bottom: 210px;
}
.section-container,
.block-container {
  position: relative;
}
.fullscreen-element {
  height: 100px;
  /* Fix */
}
.fullscreen-element .section-container,
.fullscreen-element .box-container {
  position: relative;
  display: table;
  width: 100%;
  height: 100%;
}
.fullscreen-element .table-container {
  display: table-cell;
  vertical-align: middle;
}
/* Equal Section */
.equal-section {
  padding: 0 !important;
}
.equal-section .equal-cols-container {
  padding: 0;
}
.equal-section .equal-row {
  margin: 0;
}
.equal-section .equal-col {
  padding-left: 0;
  padding-right: 0;
  position: relative;
  overflow: hidden;
}
.equal-col-wrapper {
  display: table;
  width: 100%;
  height: 100%;
  position: relative;
  padding: 90px 0;
  z-index: 0;
}
.equal-col-container {
  display: table-cell;
  vertical-align: middle;
}
.equal-col-content {
  max-width: 960px;
  padding: 0 15px;
  margin: 0 auto;
}
.section.equal-border {
  padding: 90px;
}
.section.equal-border .section-container {
  padding-top: 90px;
  padding-bottom: 90px;
  background-color: #fff;
}
/* Container Overlay */
.container-overlay {
  position: absolute;
  top: -90px;
  bottom: -90px;
  left: 0;
  right: 0;
  z-index: -1;
}
.container-overlay .col-background {
  position: absolute;
  top: 0;
  bottom: 0;
}
.gmap .angular-google-map-container,
.gmap .angular-google-map {
  height: 100%;
  width: 100%;
}
.section-home {
  padding-top: 40px !important;
}
.section-home h1 {
  font-size: 40px;
  line-height: 45px;
}
.article-rideshare-ride .profile-card .user-image {
  margin-bottom: 0px;
}
.article-rideshare-ride .profile-card .user-image > div {
  min-height: 80px;
  min-width: 80px;
  background-color: white;
}
.article-rideshare-ride .profile-card .user-image > div .date-number {
  font-size: 4em;
  width: 100%;
  display: block;
  text-align: center;
  height: 60%;
  padding-top: 20%;
}
.article-rideshare-ride .profile-card .user-image > div .date-month {
  font-size: 1.3em;
  clear: both;
  width: 100%;
  display: block;
  text-align: center;
  color: #333;
}
.article-rideshare-ride .generic-item-option a i {
  margin-top: 0;
}
.fa-favorite-rider {
  color: #fbc02d;
}
.container-poi-map .left-panel {
  display: flex;
  top: 53px;
  left: 0;
  width: 40%;
  bottom: 0;
  position: absolute;
  box-shadow: 1px 0 1px 1px rgba(0, 0, 0, 0.2);
  background-color: #fff;
}
.container-poi-map .left-panel > div {
  display: flex;
  top: 60px;
  padding-top: 5px;
  bottom: 0;
  width: 100%;
}
.container-poi-map .left-panel > div > div {
  width: 100%;
}
.container-poi-map .left-panel > div > div .left-overflow {
  height: 100%;
  overflow-y: auto;
}
.container-poi-map .left-panel > div > div .left-overflow .button-search {
  padding: 0 12px;
  line-height: 34px;
  float: right;
}
.container-poi-map .left-panel > div > div .left-overflow .button-search i {
  font-size: 1.5em;
  margin-right: 0;
  line-height: 33px;
}
.container-poi-map .left-panel > div > div .left-overflow .poi-list {
  background-color: #fbfbfb;
}
body.mobile .container-poi-map .left-panel {
  width: 100%;
  top: 0;
  bottom: auto;
}
section.section-poi-map {
  margin-left: 40%;
  width: 60%;
  padding: 0;
}
section.section-poi-map .overlay {
  z-index: 1;
}
section.section-poi-map .overlay .gmap {
  z-index: 1;
  top: 53px;
}
section.section-poi-map .overlay ui-gmap-google-map {
  float: left;
}
.poi-list-item {
  height: 300px;
  margin-bottom: 5px;
}
.poi-list-item .image-bg {
  width: 100%;
  height: 250px;
  background-repeat: no-repeat;
  background-size: cover;
  background-color: white;
  background-position: center center;
  background-image: url('/images/noimage.jpg');
}
.poi-list-item .image-bg:hover {
  opacity: 0.92;
}
.poi-list-item .image-bg > a {
  width: 100%;
  height: 100%;
  display: block;
}
.poi-list-item .image-bg > a .icon {
  position: absolute;
  height: 36px;
  width: 50px;
  bottom: 55px;
  opacity: 0.5;
  text-align: center;
}
.poi-list-item .image-bg > a .icon ng-md-icon {
  width: 36px;
  height: 36px;
  color: white;
}
.poi-list-item .image-bg .left,
.poi-list-item .image-bg .right {
  width: 40px;
  height: 50px;
  position: absolute;
  top: 100px;
  display: none;
}
.poi-list-item .image-bg .left ng-md-icon,
.poi-list-item .image-bg .right ng-md-icon {
  width: 56px;
  height: 56px;
  color: white;
  opacity: 0.7;
}
.poi-list-item .image-bg:hover .left,
.poi-list-item .image-bg:hover .right {
  display: block;
}
.poi-list-item .image-bg .left {
  left: 5px;
}
.poi-list-item .image-bg .right {
  right: 20px;
}
.poi-list-item .details {
  border-radius: 3px;
  width: 100%;
  height: 80px;
  color: #484848;
}
.poi-list-item .details .title {
  max-width: 78%;
}
.poi-list-item .details .title h3 {
  padding-top: 0;
  padding-bottom: 5px;
  font-size: 1.4em;
  font-weight: bold;
  color: #484848;
  text-indent: 5px;
  height: 40px;
  overflow-y: hidden;
  word-break: break-all;
}
.poi-list-item .details .owner {
  position: absolute;
  right: 30px;
  margin-top: -30px;
  z-index: 10;
}
.poi-list-item .details .owner .profile-picture {
  height: 60px;
  width: 60px;
}
.poi-list-item .details .owner ng-profile-picture a img {
  border: 2px white solid;
}
.poi-details-bg {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  height: 300px;
  background-image: url('/images/bg/motard_cuir_home.jpg');
}
.poi-details-bg .icon {
  position: absolute;
  height: 60px;
  width: 60px;
  bottom: 0;
  right: 0;
  text-align: center;
}
.poi-details-bg .icon ng-md-icon {
  width: 56px;
  height: 56px;
  opacity: 0.6;
}
.poi-review-rate i {
  margin-right: 2px;
}
.star-color-rate {
  color: #fbc02d;
}
.title-poi-details .profile-picture {
  margin-left: 0;
}
.btn-group-share-social .dropdown-menu {
  min-width: 30px;
  width: 50px;
}
.btn-group-share-social .dropdown-menu a[facebook] {
  padding: 3px 15px;
}
.btn-group-share-social .dropdown-menu a[facebook] .facebookButton {
  display: none;
}
.add-photo-bg {
  position: absolute;
  width: 100%;
  text-align: center;
  top: 120px;
  color: white;
  font-size: 24px;
  opacity: 0.7;
}
.add-photo-bg ng-md-icon {
  width: 72px;
  height: 72px;
}
[gallery-window] {
  position: relative;
  overflow: hidden;
  /* Customize the dimensions of your gallery */
  height: 300px;
  width: 300px;
}
[gallery-item-list] {
  position: absolute;
  left: 0;
  top: 0;
  white-space: nowrap;
}
[gallery-item] {
  display: inline-block;
}
a[ng-click],
.handover {
  cursor: pointer;
}
html {
  min-height: 100%;
}
body {
  background-color: #fff;
  padding-top: 0px;
  font-size: 13px;
  overflow-x: hidden;
  padding-bottom: 0px;
}
body > .container {
  padding-bottom: 10px;
}
.background-color-container {
  /*background-color:rgba(40, 40, 233, 0.9);
  border-left:1px solid #aaa;
  border-right:1px solid #aaa;*/
}
img {
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
}
@media (max-width: 767px) {
  .visible-xs {
    display: inline-block !important;
  }
}
.capitalize-first :first-letter {
  text-transform: uppercase;
}
.break-word {
  -ms-word-break: break-all;
  /* Be VERY careful with this, breaks normal words wh_erever */
  word-break: break-all;
  /* Non standard for webkit */
  word-break: break-word;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
}
.profile-picture {
  height: 40px;
  width: 40px;
  margin: 2px;
  margin-left: 5px;
  display: inline-block;
}
.profile-picture-x3 {
  height: 100px;
  margin: 2px;
  max-width: 100px;
}
.media-body-title-text {
  width: 100%;
  display: inline;
}
.timeline-block .panel-default {
  border: 1px solid;
  border-color: #e5e6e9 #dfe0e4 #d0d1d5;
  border-radius: 3px;
}
.timeline-block .panel-default .panel-heading {
  background-color: white;
  border-bottom: 1px solid #efefef;
  color: #ef4136;
}
.timeline-block .panel-default .panel-heading .media-body {
  padding: 0px;
  padding-left: 5px;
}
.timeline-block .panel-default .panel-heading .media-body a {
  color: #333333;
}
.main-logo {
  max-height: 30px;
}
@media (min-width: 767px) {
  .navbar-subnav .navbar-nav > li > a {
    padding-left: 10px;
    padding-right: 10px;
  }
  .navbar-subnav .navbar-nav > li > a .main-logo {
    height: 30px;
  }
}
body .main-logo,
body .login-logo {
  display: none;
}
body .main-logo[theme=default],
body .login-logo[theme=default] {
  display: inline;
}
.text-color {
  color: #333333;
}
.middle-content {
  min-height: 400px;
}
button.auto-expand span {
  width: 0;
  height: 0;
  display: inline-block;
  overflow: hidden;
  transition: width 1s;
  -webkit-transition: width 1s;
  /* Safari */
}
button.auto-expand:hover span {
  width: auto;
  height: auto;
  display: inline;
}
.form-control {
  color: #333;
}
.angular-google-map-container {
  min-height: 300px;
}
.mobile .fullscreen-element {
  height: auto;
}
.mobile .no-background-mobile {
  background: none;
}
.mobile .hide-mobile {
  display: none;
}
.mobile .header-logo {
  padding: 0 5px;
}
body .show-mobile {
  display: none !important;
}
body.mobile .hide-mobile {
  display: none !important;
}
body.mobile .show-mobile {
  display: initial !important;
}
.csa-popup {
  position: fixed;
  height: 50px;
  background-color: rgba(0, 0, 0, 0.8);
  color: white;
  width: 100%;
  right: 0;
  bottom: 0;
  padding-left: 5%;
  padding-right: 5%;
  padding-top: 10px;
  padding-bottom: 10px;
  text-align: center;
}
.csa-popup button {
  height: 34px;
  width: 34px;
  margin-right: 15px;
}
.csa-popup button i {
  color: white;
}
#top-search-trigger {
  margin: 0;
}
.feature-table {
  width: 100%;
}
.feature-table tr td {
  background-color: rgba(30, 30, 30, 0.1);
  padding: 20px;
  border: 2px solid white;
}

